初始化
This commit is contained in:
@@ -0,0 +1,80 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"/>
|
||||
<title> {$Think.config.app_name} 后台管理 </title>
|
||||
<!-- 样 式 文 件 -->
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
<link rel="stylesheet" href="/static/admin/css/other/login.css" />
|
||||
</head>
|
||||
<!-- 代 码 结 构 -->
|
||||
<body style="background-size: cover;">
|
||||
<form class="layui-form" action="javascript:void(0);">
|
||||
<div class="layui-form-item">
|
||||
<img class="logo" src="/static/admin/images/logo.png" />
|
||||
<div class="title">{$Think.config.app_name}Yun</div>
|
||||
<div class="desc">
|
||||
{$Think.config.app_name} 后台管理
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input placeholder="账 户" type="text" name="username" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input placeholder="密 码" type="password" name="password" hover class="layui-input"/>
|
||||
</div>
|
||||
<div class="layui-form-item">
|
||||
<input placeholder="验证码 : " type="text" maxlength="4" name="captcha" hover class="code layui-input layui-input-inline"/>
|
||||
<img id="codeimg" class="codeImage" style="cursor: pointer;width: calc(100% - 192px);"/>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
<div class="layui-form-item">
|
||||
<button class="pear-btn pear-btn-success login" lay-submit lay-filter="login">
|
||||
登 入
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
<!-- 资 源 引 入 -->
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form', 'layer', 'jquery', 'element'], function () {
|
||||
var $ = layui.jquery
|
||||
, layer = layui.layer
|
||||
, element = layui.element
|
||||
, form = layui.form;
|
||||
// 登 录 提 交
|
||||
form.on('submit(login)', function(data) {
|
||||
layer.load();
|
||||
$.ajax({
|
||||
type: "POST",
|
||||
data: data.field,
|
||||
success: function (res) {
|
||||
layer.closeAll('loading');
|
||||
if (res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function () {
|
||||
location.href = "{:url('index/index')}";
|
||||
})
|
||||
} else {
|
||||
layer.msg(res.msg,{icon:2,time:1000},function () {
|
||||
initCode();
|
||||
})
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
});
|
||||
initCode();
|
||||
function initCode() {
|
||||
$('#codeimg').attr("src","{:url('auth/verify')}?data=" + new Date().getTime());
|
||||
}
|
||||
|
||||
$('#codeimg').on('click', function () {
|
||||
initCode();
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,151 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<table id="user-table" lay-filter="user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="user-toolbar"></script>
|
||||
|
||||
<script type="text/html" id="user-bar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="layui-icon layui-icon-survey"></i></button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/html" id="user-auth">
|
||||
{{#if (d.status == 0) { }}
|
||||
<span class="layui-badge layui-bg-orange">未审核</span>
|
||||
{{# }else if(d.status == 1){ }}
|
||||
<span class="layui-badge layui-bg-blue">已审核</span>
|
||||
{{# } }}
|
||||
</script>
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['table', 'form', 'jquery','common'], function() {
|
||||
let table = layui.table;
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let common = layui.common;
|
||||
|
||||
let cols = [
|
||||
[{type: 'checkbox'},
|
||||
{title: 'ID', field: 'id', align: 'center'},
|
||||
{title: '用户帐号', field: 'uid', align: 'center'},
|
||||
{title: '真实姓名', field: 'name', align: 'center'},
|
||||
{title: '身份证号码', field: 'idcard', align: 'center'},
|
||||
{title: '处理状态', field: 'status', align: 'center', templet: '#user-auth'},
|
||||
{title: '创建时间', field: 'create_time', align: 'center'},
|
||||
{title: '操作', toolbar: '#user-bar', align: 'center', width: 130}
|
||||
]
|
||||
]
|
||||
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: "{:url('certify/index')}",
|
||||
page: true,
|
||||
limit:20,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
toolbar: '#user-toolbar',
|
||||
defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
});
|
||||
|
||||
table.on('tool(user-table)', function(obj) {
|
||||
if (obj.event === 'remove') {
|
||||
window.remove(obj);
|
||||
} else if (obj.event === 'edit') {
|
||||
window.edit(obj);
|
||||
}
|
||||
});
|
||||
|
||||
table.on('toolbar(user-table)', function(obj) {
|
||||
if (obj.event === 'refresh') {
|
||||
window.refresh();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
window.edit = function(obj) {
|
||||
layer.confirm('确认通过该条实名认证请求吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('certify/edit')}?id=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
},function(){
|
||||
window.refresh();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.remove = function(obj) {
|
||||
layer.confirm('确定要删除该认证内容吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('certify/delete')}?id=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
window.refresh = function(param) {
|
||||
table.reload('user-table');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,177 @@
|
||||
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>控制后台</title>
|
||||
<meta name="renderer" content="webkit">
|
||||
<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="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
<link rel="stylesheet" href="/static/admin/css/other/console1.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div>
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">用户数量</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;">
|
||||
{$count.user}
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<span class="icon pear-icon" style="font-size: 40px"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">VIP用户</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;">
|
||||
{$count.vip}
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<span class="icon pear-icon" style="font-size: 40px"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">文件数量</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;">
|
||||
{$count.file}
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<span class="icon pear-icon" style="font-size: 40px"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-col-xs6 layui-col-md3">
|
||||
<div class="layui-card top-panel">
|
||||
<div class="layui-card-header">文件大小</div>
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-row layui-col-space5">
|
||||
<div class="layui-col-xs8 layui-col-md8 top-panel-number" style="color: #28333E;">
|
||||
{$count.size}
|
||||
</div>
|
||||
<div class="layui-col-xs4 layui-col-md4 top-panel-tips">
|
||||
<span class="icon pear-icon" style="font-size: 40px"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-row layui-col-space10">
|
||||
<div class="layui-col-md12">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<div class="layui-tab custom-tab layui-tab-brief" lay-filter="docDemoTabBrief">
|
||||
<div id="echarts-records" style="background-color:#ffffff;min-height:400px;padding: 10px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<!--</div>-->
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['layer', 'echarts', 'element'], function() {
|
||||
var $ = layui.jquery,
|
||||
layer = layui.layer,
|
||||
element = layui.element,
|
||||
echarts = layui.echarts;
|
||||
|
||||
var echartsRecords = echarts.init(document.getElementById('echarts-records'), 'walden');
|
||||
|
||||
var option = {
|
||||
tooltip: {
|
||||
trigger: 'axis'
|
||||
},
|
||||
xAxis: [{
|
||||
type: 'category',
|
||||
data: [{$time_type|raw}],
|
||||
axisLine: {
|
||||
lineStyle: {
|
||||
color: "#999"
|
||||
}
|
||||
}
|
||||
}],
|
||||
yAxis: [{
|
||||
type: 'value',
|
||||
splitNumber: 4,
|
||||
splitLine: {
|
||||
lineStyle: {
|
||||
type: 'dashed',
|
||||
color: '#DDD'
|
||||
}
|
||||
},
|
||||
axisLine: {
|
||||
show: false,
|
||||
lineStyle: {
|
||||
color: "#333"
|
||||
},
|
||||
},
|
||||
nameTextStyle: {
|
||||
color: "#999"
|
||||
},
|
||||
splitArea: {
|
||||
show: false
|
||||
}
|
||||
}],
|
||||
tooltip: {
|
||||
valueSuffix: ' 个',
|
||||
crosshairs: true,
|
||||
shared: true
|
||||
},
|
||||
legend: {
|
||||
layout: 'vertical',
|
||||
align: 'right',
|
||||
verticalAlign: 'middle',
|
||||
borderWidth: 0
|
||||
},
|
||||
series: [
|
||||
{
|
||||
name: '注册',
|
||||
type: 'line',
|
||||
color: 'rgba(0,242,59,246)', marker: { radius: 6 }, data: [{$series_reg|raw}]
|
||||
},
|
||||
{
|
||||
name: '成功订单',
|
||||
type: 'line',
|
||||
color: 'rgba(0,15,182,59)', marker: { radius: 6 }, data: [{$series_order|raw}]
|
||||
},
|
||||
{
|
||||
name: '金额',
|
||||
type: 'line',
|
||||
color: 'rgba(0,92,219,192)', marker: { radius: 6 }, data: [{$series_money|raw}]
|
||||
}
|
||||
]
|
||||
};
|
||||
|
||||
echartsRecords.setOption(option);
|
||||
|
||||
window.onresize = function() {
|
||||
echartsRecords.resize();
|
||||
}
|
||||
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,288 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" action="">
|
||||
<div class="layui-form-item">
|
||||
|
||||
<div id="test6">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">开始日期</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" autocomplete="off" name="start_time" id="test-startDate-1" class="layui-input" placeholder="开始日期">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">结束日期</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" autocomplete="off" name="end_time" id="test-endDate-1" class="layui-input" placeholder="结束日期">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">排序字段</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="sort_key" lay-verify="required">
|
||||
<option value="create_time">上传时间排序</option>
|
||||
<option value="update_time">更新时间排序</option>
|
||||
<option value="id">ID排序</option>
|
||||
<option value="size">文件大小排序</option>
|
||||
<option value="count_down">下载量排序</option>
|
||||
<option value="count_open">浏览量排序</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">排序方式</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="sort" lay-verify="required">
|
||||
<option value="0">降序</option>
|
||||
<option value="1">升序</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">存储筛选</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="policy" lay-verify="required">
|
||||
{volist name="$policy" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">文件后缀</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="ext" placeholder="请输入文件后缀 如 png jpg 等" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">用户UID</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="uid" placeholder="请输入UID" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">文件名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="origin_name" placeholder="请输入文件名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="pear-btn pear-btn-md pear-btn-primary" style="margin-left: 36px;" lay-submit lay-filter="user-query">
|
||||
<i class="layui-icon layui-icon-search"></i>
|
||||
搜索结果
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-md">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置搜索
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<table id="user-table" lay-filter="user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="user-toolbar">
|
||||
<button class="pear-btn pear-btn-danger pear-btn-md" lay-event="batchRemove">
|
||||
<i class="layui-icon layui-icon-delete"></i>
|
||||
批量删除
|
||||
</button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-bar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" title="下载文件" lay-event="download"><i class="layui-icon layui-icon-download-circle"></i></button>
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" title="查看文件" lay-event="info"><i class="layui-icon layui-icon-form"></i></button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" title="删除文件" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="file-icon">
|
||||
<img src="{{ d.icon }}">
|
||||
</script>
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['table', 'form', 'jquery','common','laydate'], function() {
|
||||
let table = layui.table;
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let common = layui.common;
|
||||
var laydate = layui.laydate;
|
||||
|
||||
laydate.render({
|
||||
elem: '#test6'
|
||||
,range: ['#test-startDate-1', '#test-endDate-1']
|
||||
});
|
||||
|
||||
let cols = [
|
||||
[{type: 'checkbox'},
|
||||
{title: '', field: 'icon', align: 'center',width: 40,templet: '#file-icon'},
|
||||
{title: '文件名', field: 'origin_name',width: 300, align: 'left'},
|
||||
{title: '大小', field: 'size', align: 'center'},
|
||||
{title: '上传用户', field: 'uid', align: 'center'},
|
||||
{title: '储存服务器', field: 'policy_id', align: 'center'},
|
||||
{title: '文件后缀', field: 'ext', align: 'center'},
|
||||
{title: '下载量', field: 'count_down', align: 'center'},
|
||||
{title: '浏览量', field: 'count_open', align: 'center'},
|
||||
{title: '上传时间', field: 'create_time', align: 'center'},
|
||||
{title: '操作', toolbar: '#user-bar', align: 'center', width: 160}
|
||||
]
|
||||
]
|
||||
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: "{:url('file/index')}",
|
||||
page: true,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
limit:20,
|
||||
toolbar: '#user-toolbar',
|
||||
defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'print', 'exports']
|
||||
});
|
||||
|
||||
table.on('tool(user-table)', function(obj) {
|
||||
if (obj.event === 'remove') {
|
||||
window.remove(obj);
|
||||
} else if(obj.event === 'info'){
|
||||
window.info(obj);
|
||||
} else if (obj.event === 'download') {
|
||||
window.download(obj);
|
||||
}
|
||||
});
|
||||
|
||||
table.on('toolbar(user-table)', function(obj) {
|
||||
if (obj.event === 'refresh') {
|
||||
window.refresh();
|
||||
} else if (obj.event === 'batchRemove') {
|
||||
window.batchRemove(obj);
|
||||
}
|
||||
});
|
||||
|
||||
form.on('submit(user-query)', function(data) {
|
||||
table.reload('user-table', {
|
||||
where: data.field
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
window.info = function(obj) {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '文件信息',
|
||||
shade: 0.1,
|
||||
area: ['600px', '600px'],
|
||||
content: "{:url('file/info')}?id=" + obj.data['id']
|
||||
});
|
||||
}
|
||||
|
||||
window.download = function(obj) {
|
||||
window.open("{:url('file/download')}?id=" + obj.data['id']);
|
||||
}
|
||||
|
||||
window.remove = function(obj) {
|
||||
layer.confirm('确定要删除该文件吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('file/delete')}?ids=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.batchRemove = function(obj) {
|
||||
|
||||
var checkIds = common.checkField(obj,'id');
|
||||
|
||||
if (checkIds === "") {
|
||||
layer.msg("未选中数据", {
|
||||
icon: 3,
|
||||
time: 1000
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
layer.confirm('确定要删除这些文件[' + checkIds + ']吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('file/delete')}?ids=" + checkIds,
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
table.reload('user-table');
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.refresh = function(param) {
|
||||
table.reload('user-table');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,71 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">文件名</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.origin_name}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">文件大小</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{:countSize($info.size)}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">储存策略</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$policy_name}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">所属用户</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$username}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">储存地址</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$file_path}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">上传时间</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.create_time}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">更新时间</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.update_time}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,119 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户组名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="group_name" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">用户组的名称</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储策略</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="policy_id" lay-verify="required">
|
||||
{volist name="$policy" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
<div class="layui-form-mid layui-word-aux">为该用户组绑定一个上传策略</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">上传大小</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="max_storage" required value="10" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid">单位:</div>
|
||||
<div class="layui-input-inline">
|
||||
<select name="storage_size" lay-verify="required">
|
||||
<option value="1">B</option>
|
||||
<option value="1024">KB</option>
|
||||
<option value="1048576" selected>MB</option>
|
||||
<option value="1073741824">GB</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">限制用户组单文件上传大小</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">下载限速</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="speed" min="0" placeholder="留空表示不限速" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux"><b>KB/s</b> 填写0表示禁止下载</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分享文件</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="allow_share" value="1" title="允许">
|
||||
<input type="radio" name="allow_share" value="0" title="禁止" checked>
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">是否允许创建文件分享链接</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit="" lay-filter="save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
parent.layui.table.reload("user-table");
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,118 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户组名</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="group_name" value="{$info.group_name}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">用户组的名称</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储策略</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="policy_id" lay-verify="required">
|
||||
{volist name="$policy" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$vo.id" value="$info.policy_id"}selected{/eq}>{$vo.name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
<div class="layui-form-mid layui-word-aux">为该用户组绑定一个上传策略</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">上传大小</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="max_storage" required value="{:countSize($info.max_storage,true)[0]}" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid">单位:</div>
|
||||
<div class="layui-input-inline">
|
||||
<select name="storage_size" lay-verify="required">
|
||||
{php}
|
||||
$storage_size = countSize($info['max_storage'],true)[1];
|
||||
{/php}
|
||||
<option value="1" {eq name="$storage_size" value="1"}selected{/eq}>B</option>
|
||||
<option value="1024" {eq name="$storage_size" value="1024"}selected{/eq}>KB</option>
|
||||
<option value="1048576" {eq name="$storage_size" value="1048576"}selected{/eq}>MB</option>
|
||||
<option value="1073741824" {eq name="$storage_size" value="1073741824"}selected{/eq}>GB</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">限制用户组单文件上传大小</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">下载限速</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="speed" min="0" value="{$info.speed}" placeholder="留空表示不限速" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux"><b>KB/s</b> 填写0表示禁止下载</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">分享文件</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="radio" name="allow_share" value="1" title="允许" {eq name="$info.allow_share" value="1"}checked{/eq}>
|
||||
<input type="radio" name="allow_share" value="0" title="禁止" {eq name="$info.allow_share" value="0"}checked{/eq}>
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">是否允许创建文件分享链接</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit="" lay-filter="save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
parent.layui.table.reload("user-table");
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,158 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>用户组管理</title>
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<table id="user-table" lay-filter="user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="user-toolbar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
||||
<i class="layui-icon layui-icon-add-1"></i>
|
||||
新增用户组
|
||||
</button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-bar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="layui-icon layui-icon-edit"></i></button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-speed">
|
||||
{{#if (d.speed == '') { }}
|
||||
<span class="layui-badge layui-bg-blue">不限速</span>
|
||||
{{# }else if(d.speed == 0){ }}
|
||||
<span class="layui-badge layui-bg-orange">禁止下载</span>
|
||||
{{# }else if(d.speed > 0){ }}
|
||||
<span class="layui-badge-rim">{{ d.speed }} KB/s</span>
|
||||
{{# } }}
|
||||
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-share">
|
||||
{{#if (d.allow_share == 0) { }}
|
||||
<span class="layui-badge layui-bg-orange">禁止</span>
|
||||
{{# }else if(d.allow_share == 1){ }}
|
||||
<span class="layui-badge layui-bg-blue">允许</span>
|
||||
{{# } }}
|
||||
</script>
|
||||
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['table', 'form', 'jquery','common'], function() {
|
||||
let table = layui.table;
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let common = layui.common;
|
||||
|
||||
let cols = [
|
||||
[{type: 'checkbox'},
|
||||
{title: 'ID', field: 'id', align: 'center'},
|
||||
{title: '用户组名称', field: 'group_name', align: 'center'},
|
||||
{title: '类型', field: 'is_sys', align: 'center'},
|
||||
{title: '存储策略', field: 'policy_id', align: 'center'},
|
||||
{title: '用户数量', field: 'user_num', align: 'center'},
|
||||
{title: '上传大小限制', field: 'max_storage', align: 'center'},
|
||||
{title: '下载限速', field: 'speed', align: 'center', templet: '#user-speed'},
|
||||
{title: '允许分享', field: 'allow_share', align: 'center', templet: '#user-share'},
|
||||
{title: '操作', toolbar: '#user-bar', align: 'center', width: 130}
|
||||
]
|
||||
]
|
||||
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: window.location.href,
|
||||
page: true,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
toolbar: '#user-toolbar',
|
||||
defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'print', 'exports']
|
||||
});
|
||||
|
||||
table.on('tool(user-table)', function(obj) {
|
||||
if (obj.event === 'remove') {
|
||||
window.remove(obj);
|
||||
} else if (obj.event === 'edit') {
|
||||
window.edit(obj);
|
||||
}
|
||||
});
|
||||
|
||||
table.on('toolbar(user-table)', function(obj) {
|
||||
if (obj.event === 'add') {
|
||||
window.add();
|
||||
} else if (obj.event === 'refresh') {
|
||||
window.refresh();
|
||||
}
|
||||
});
|
||||
|
||||
window.add = function() {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '新增用户组',
|
||||
shade: 0.1,
|
||||
area: [common.isModile()?'100%':'600px', common.isModile()?'100%':'500px'],
|
||||
content: "{:url('group/add')}"
|
||||
});
|
||||
}
|
||||
|
||||
window.edit = function(obj) {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '修改用户组',
|
||||
shade: 0.1,
|
||||
area: ['600px', '500px'],
|
||||
content: "{:url('group/edit')}?id=" + obj.data['id']
|
||||
});
|
||||
}
|
||||
|
||||
window.remove = function(obj) {
|
||||
layer.confirm('确定要删除该用户组吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('group/delete')}?id=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.refresh = function(param) {
|
||||
table.reload('user-table');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
|
||||
<title> {$Think.config.app_name} 后台管理 </title>
|
||||
<!-- 依 赖 样 式 -->
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
<!-- 加 载 样 式-->
|
||||
<link rel="stylesheet" href="/static/admin/css/load.css" />
|
||||
<!-- 布 局 样 式 -->
|
||||
<link rel="stylesheet" href="/static/admin/css/admin.css" />
|
||||
<script>
|
||||
if(window!=top){ top.location.href = location.href; }
|
||||
var skpan_config = {
|
||||
title:"{$theme.title}",
|
||||
logo:"{$theme.logo}",
|
||||
menu: {$theme.menu|raw},
|
||||
menu_select:"{$theme.menu_select}",
|
||||
home_url:"{$theme.home_url}",
|
||||
index_url:"{$theme.index_url}",
|
||||
logout_url:"{$theme.logout_url}",
|
||||
pass_url:"{$theme.pass_url}",
|
||||
clear_cache_url:"{$theme.clear_cache_url}"
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
<!-- 结 构 代 码 -->
|
||||
<body class="layui-layout-body pear-admin">
|
||||
<!-- 布 局 框 架 -->
|
||||
<div class="layui-layout layui-layout-admin">
|
||||
<div class="layui-header">
|
||||
<!-- 顶 部 左 侧 功 能 -->
|
||||
<ul class="layui-nav layui-layout-left">
|
||||
<li class="collaspe layui-nav-item"><a href="#" class="layui-icon layui-icon-shrink-right"></a></li>
|
||||
<li class="refresh layui-nav-item"><a href="#" class="layui-icon layui-icon-refresh-1" loading=600></a></li>
|
||||
</ul>
|
||||
<!-- 顶 部 右 侧 菜 单 -->
|
||||
<div id="control" class="layui-layout-control"></div>
|
||||
<ul class="layui-nav layui-layout-right" lay-filter="layui_nav_right">
|
||||
<li class="layui-nav-item layui-hide-xs"><a href="#" class="fullScreen layui-icon layui-icon-screen-full"></a></li>
|
||||
<li class="layui-nav-item user">
|
||||
<!-- 头 像 -->
|
||||
<a href="javascript:;">
|
||||
<img src="{$theme.admin.avatar}" class="layui-nav-img">
|
||||
{$theme.admin.nickname}
|
||||
</a>
|
||||
<!-- 功 能 菜 单 -->
|
||||
<dl class="layui-nav-child">
|
||||
<dd>
|
||||
<a href="javascript:void(0);" class="logout">
|
||||
退出登录
|
||||
</a>
|
||||
</dd>
|
||||
</dl>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- 侧 边 区 域 -->
|
||||
<div class="layui-side layui-bg-black">
|
||||
<!-- 顶 部 图 标 -->
|
||||
<div class="layui-logo">
|
||||
<!-- 图 表 -->
|
||||
<img class="logo">
|
||||
<!-- 标 题 -->
|
||||
<span class="title"></span>
|
||||
</div>
|
||||
<!-- 侧 边 菜 单 -->
|
||||
<div class="layui-side-scroll">
|
||||
<div id="sideMenu"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 视 图 页 面 -->
|
||||
<div class="layui-body">
|
||||
<!-- 内 容 页 面 -->
|
||||
<div id="content"></div>
|
||||
</div>
|
||||
</div>
|
||||
<!-- 遮 盖 层 -->
|
||||
<div class="pear-cover"></div>
|
||||
<!-- 移 动 端 便 捷 操 作 -->
|
||||
<div class="pear-collasped-pe collaspe"><a href="#" class="layui-icon layui-icon-shrink-right"></a></div>
|
||||
<!-- 加 载 动 画-->
|
||||
<div class="loader-main">
|
||||
<div class="loader"></div>
|
||||
</div>
|
||||
<!-- 依 赖 脚 本 -->
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<!-- 框 架 初 始 化 -->
|
||||
<script src="/static/admin/js/boostrap.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,222 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">搜索类型</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="search_type" lay-verify="required">
|
||||
<option value="trade_no">订单号</option>
|
||||
<option value="out_trade_no">易支付订单号</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">支付状态</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="status" lay-verify="required">
|
||||
<option value="0">等待支付</option>
|
||||
<option value="1">支付成功</option>
|
||||
<option value="2">订单关闭</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">搜索内容</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="search_value" placeholder="请输入搜索内容" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="pear-btn pear-btn-md pear-btn-primary" lay-submit lay-filter="user-query">
|
||||
<i class="layui-icon layui-icon-search"></i>
|
||||
搜索结果
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-md">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置搜索
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<table id="user-table" lay-filter="user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="user-toolbar">
|
||||
<button class="pear-btn pear-btn-danger pear-btn-md" lay-event="batchRemove">
|
||||
<i class="layui-icon layui-icon-delete"></i>
|
||||
批量删除
|
||||
</button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-bar">
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/html" id="user-auth">
|
||||
{{#if (d.status == 0) { }}
|
||||
<span class="layui-badge layui-bg-orange">等待支付</span>
|
||||
{{# }else if(d.status == 1){ }}
|
||||
<span class="layui-badge layui-bg-blue">支付完成</span>
|
||||
{{# }else if(d.status == 2){ }}
|
||||
<span class="layui-badge layui-bg-red">订单关闭</span>
|
||||
{{# } }}
|
||||
</script>
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['table', 'form', 'jquery','common'], function() {
|
||||
let table = layui.table;
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let common = layui.common;
|
||||
|
||||
let cols = [
|
||||
[{type: 'checkbox'},
|
||||
{title: '订单号', field: 'trade_no', align: 'center', width: 250},
|
||||
{title: '开通用户', field: 'uid', align: 'center'},
|
||||
{title: '支付方式', field: 'type', align: 'center'},
|
||||
{title: '支付金额', field: 'money', align: 'center'},
|
||||
{title: '开通时长', field: 'vip_day', align: 'center'},
|
||||
{title: '易支付订单号', field: 'out_trade_no', align: 'center'},
|
||||
{title: '支付状态', field: 'status', align: 'center', templet: '#user-auth'},
|
||||
{title: '发起时间', field: 'create_time', align: 'center'},
|
||||
{title: '支付时间', field: 'pay_time', align: 'center'},
|
||||
{title: '操作', toolbar: '#user-bar', align: 'center', width: 130}
|
||||
]
|
||||
]
|
||||
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: "{:url('order/index')}",
|
||||
page: true,
|
||||
limit: 20,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
toolbar: '#user-toolbar',
|
||||
defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
});
|
||||
|
||||
table.on('tool(user-table)', function(obj) {
|
||||
if (obj.event === 'remove') {
|
||||
window.remove(obj);
|
||||
}
|
||||
});
|
||||
|
||||
table.on('toolbar(user-table)', function(obj) {
|
||||
if (obj.event === 'refresh') {
|
||||
window.refresh();
|
||||
} else if (obj.event === 'batchRemove') {
|
||||
window.batchRemove(obj);
|
||||
}
|
||||
});
|
||||
|
||||
form.on('submit(user-query)', function(data) {
|
||||
table.reload('user-table', {
|
||||
where: data.field
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
window.remove = function(obj) {
|
||||
layer.confirm('确定要删除订单吗?<br><b style="color: red">请勿删除正在等待支付或者支付完成的订单</b>', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('order/delete')}?ids=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.batchRemove = function(obj) {
|
||||
|
||||
var checkIds = common.checkField(obj,'id');
|
||||
|
||||
if (checkIds === "") {
|
||||
layer.msg("未选中数据", {
|
||||
icon: 3,
|
||||
time: 1000
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
layer.confirm('确定要批量删除这些订单吗?<br><b style="color: red">请勿删除正在等待支付或者支付完成的订单</b>', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('order/delete')}?ids=" + checkIds,
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
table.reload('user-table');
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.refresh = function(param) {
|
||||
table.reload('user-table');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,241 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
<style>
|
||||
.remote_field{
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">策略名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="name" lay-verify="required" placeholder="请输入上传策略的名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">允许后缀</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="filetype" placeholder="请输入文件后缀" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">多个请以半角逗号","隔开,留空表示不限制。如"png,jpg"</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储服务器</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="type" lay-verify="required" lay-filter="server_select">
|
||||
<option value="local">本地</option>
|
||||
<option value="remote">远程</option>
|
||||
<option value="aliyunoss">阿里云OSS</option>
|
||||
<option value="txyunoss">腾讯云COS</option>
|
||||
</select>
|
||||
<div class="layui-form-mid layui-word-aux">文件存储的服务器</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="other-field">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit="" lay-filter="save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<script id="field_local" type="text/html">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储目录</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="save_dir" placeholder="请输入文件存放的目录" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请以根目录 / 开始,结尾要加"/",例如:/uploads/</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
|
||||
<script id="field_remote" type="text/html">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储目录</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="save_dir" placeholder="请输入文件存放的目录" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请以根目录 / 开始,结尾要加"/",例如:/uploads/</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">远程Token</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="access_token" placeholder="AccessToken" lay-verify="required" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请与远程服务端配置文件中保持一致</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">服务端URL</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="server_uri" placeholder="服务端URL" lay-verify="required" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请填写合法的URL地址,结尾要加"/"</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</script>
|
||||
|
||||
<script id="field_aliyunoss" type="text/html">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储目录</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="save_dir" placeholder="请输入文件存放的目录" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请以根目录 / 开始,结尾要加"/",例如:/uploads/</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Endpoint</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="endpoint" placeholder="Endpoint" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">OSS Endpoint</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Bucket</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="bucket" placeholder="Bucket" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">OSS Bucket</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">AccessKey</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="access_key" placeholder="AccessKey" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">OSS AccessKey</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">AccessKeySecret</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="access_secret" placeholder="AccessKeySecret" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">OSS AccessKeySecret</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</script>
|
||||
|
||||
<script id="field_txyunoss" type="text/html">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储目录</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="save_dir" placeholder="请输入文件存放的目录" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请以根目录 / 开始,结尾要加"/",例如:/uploads/</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SecretId</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="secret_id" placeholder="SecretId" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">COS SecretId</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SecretKey</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="secret_key" placeholder="SecretKey" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">COS SecretKey</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Bucket</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="bucket" placeholder="Bucket" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">COS Bucket</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Region</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="region" placeholder="Region" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">COS Region 存储桶地域</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</script>
|
||||
|
||||
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
setFieldHtml('local');
|
||||
|
||||
function setFieldHtml(field){
|
||||
let field_name = '#field_' + field;
|
||||
let html = $(field_name).html();
|
||||
|
||||
if(typeof html !== "undefined"){
|
||||
$(".other-field").html(html);
|
||||
return true;
|
||||
}
|
||||
|
||||
$(".other-field").html("");
|
||||
return false;
|
||||
}
|
||||
|
||||
form.on('select(server_select)',function(obj){
|
||||
setFieldHtml(obj.value);
|
||||
});
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
parent.layui.table.reload("user-table");
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,241 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
<style>
|
||||
.remote_field{
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">策略名称</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="name" lay-verify="required" value="{$info.name}" placeholder="请输入上传策略的名称" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">允许后缀</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="filetype" value="{$info.filetype}" placeholder="请输入文件后缀" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">多个请以半角逗号","隔开,留空表示不限制。如"png,jpg"</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储服务器</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="type" lay-verify="required" lay-filter="server_select" disabled>
|
||||
<option value="local" {eq name="$info.type" value="local"}selected{/eq}>本地</option>
|
||||
<option value="remote" {eq name="$info.type" value="remote"}selected{/eq}>远程</option>
|
||||
<option value="aliyunoss" {eq name="$info.type" value="aliyunoss"}selected{/eq}>阿里云OSS</option>
|
||||
<option value="txyunoss" {eq name="$info.type" value="txyunoss"}selected{/eq}>腾讯云C0S</option>
|
||||
</select>
|
||||
<div class="layui-form-mid layui-word-aux">文件存储的服务器</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="other-field">
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit="" lay-filter="save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
保存修改
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
{eq name="$info.type" value="local"}
|
||||
<script id="field_local" type="text/html">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储目录</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="save_dir" value="{$info.config.save_dir}" placeholder="请输入文件存放的目录" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请以根目录 / 开始,结尾要加"/",例如:/uploads/</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
{/eq}
|
||||
|
||||
{eq name="$info.type" value="remote"}
|
||||
<script id="field_remote" type="text/html">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储目录</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="save_dir" value="{$info.config.save_dir}" placeholder="请输入文件存放的目录" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请以根目录 / 开始,结尾要加"/",例如:/uploads/</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">远程Token</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="access_token" value="{$info.config.access_token}" placeholder="AccessToken" lay-verify="required" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请与远程服务端配置文件中保持一致</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">服务端URL</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="server_uri" value="{$info.config.server_uri}" placeholder="服务端URL" lay-verify="required" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请填写合法的URL地址,结尾要加"/"</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</script>
|
||||
{/eq}
|
||||
|
||||
{eq name="$info.type" value="aliyunoss"}
|
||||
<script id="field_aliyunoss" type="text/html">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储目录</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="save_dir" value="{$info.config.save_dir}" placeholder="请输入文件存放的目录" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请以根目录 / 开始,结尾要加"/",例如:/uploads/</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Endpoint</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="endpoint" value="{$info.config.endpoint}" placeholder="Endpoint" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">OSS Endpoint</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Bucket</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="bucket" value="{$info.config.bucket}" placeholder="Bucket" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">OSS Bucket</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">AccessKey</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="access_key" value="{$info.config.access_key}" placeholder="AccessKey" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">OSS AccessKey</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">AccessKeySecret</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="access_secret" value="{$info.config.access_secret}" placeholder="AccessKeySecret" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">OSS AccessKeySecret</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</script>
|
||||
{/eq}
|
||||
|
||||
{eq name="$info.type" value="txyunoss"}
|
||||
<script id="field_txyunoss" type="text/html">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">存储目录</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="save_dir" value="{$info.config.save_dir}" placeholder="请输入文件存放的目录" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">请以根目录 / 开始,结尾要加"/",例如:/uploads/</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SecretId</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="secret_id" value="{$info.config.secret_id}" placeholder="SecretId" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">COS SecretId</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SecretKey</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="secret_key" value="{$info.config.secret_key}" placeholder="SecretKey" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">COS SecretKey</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Bucket</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="bucket" value="{$info.config.bucket}" placeholder="Bucket" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">COS Bucket</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">Region</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="region" value="{$info.config.region}" placeholder="Region" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">COS Region 存储桶地域</div>
|
||||
</div>
|
||||
</div>
|
||||
</script>
|
||||
{/eq}
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
function setFieldHtml(field){
|
||||
let field_name = '#field_' + field;
|
||||
let html = $(field_name).html();
|
||||
|
||||
if(typeof html !== "undefined"){
|
||||
$(".other-field").html(html);
|
||||
return true;
|
||||
}
|
||||
|
||||
$(".other-field").html("");
|
||||
return false;
|
||||
}
|
||||
|
||||
setFieldHtml('{$info.type}');
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
parent.layui.table.reload("user-table");
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,136 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<table id="user-table" lay-filter="user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="user-toolbar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
||||
<i class="layui-icon layui-icon-add-1"></i>
|
||||
添加策略
|
||||
</button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-bar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="layui-icon layui-icon-edit"></i></button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
|
||||
</script>
|
||||
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['table', 'form', 'jquery','common'], function() {
|
||||
let table = layui.table;
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let common = layui.common;
|
||||
|
||||
let cols = [
|
||||
[{type: 'checkbox'},
|
||||
{title: '策略名称', field: 'name', align: 'center'},
|
||||
{title: '类型', field: 'type', align: 'center'},
|
||||
{title: '文件数量', field: 'file_num', align: 'center'},
|
||||
{title: '存储数据量', field: 'store_num', align: 'center'},
|
||||
{title: '操作', toolbar: '#user-bar', align: 'center', width: 130}
|
||||
]
|
||||
]
|
||||
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: "{:url('policy/index')}",
|
||||
page: true,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
toolbar: '#user-toolbar',
|
||||
defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
});
|
||||
|
||||
table.on('tool(user-table)', function(obj) {
|
||||
if (obj.event === 'remove') {
|
||||
window.remove(obj);
|
||||
} else if (obj.event === 'edit') {
|
||||
window.edit(obj);
|
||||
}
|
||||
});
|
||||
|
||||
table.on('toolbar(user-table)', function(obj) {
|
||||
if (obj.event === 'add') {
|
||||
window.add();
|
||||
} else if (obj.event === 'refresh') {
|
||||
window.refresh();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
window.add = function() {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '添加策略',
|
||||
shade: 0.1,
|
||||
area: [common.isModile()?'100%':'600px', common.isModile()?'100%':'600px'],
|
||||
content: "{:url('Policy/add')}"
|
||||
});
|
||||
}
|
||||
|
||||
window.edit = function(obj) {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '修改策略',
|
||||
shade: 0.1,
|
||||
area: [common.isModile()?'100%':'600px', common.isModile()?'100%':'600px'],
|
||||
content: "{:url('policy/edit')}?id=" + obj.data['id']
|
||||
});
|
||||
}
|
||||
|
||||
window.remove = function(obj) {
|
||||
layer.confirm('确定要删除该储存策略吗?<b style="color: red">删除后会导致上传文件不能下载,且不可恢复</b>', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('policy/delete')}?id=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.refresh = function(param) {
|
||||
table.reload('user-table');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,351 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" action="">
|
||||
<div class="layui-form-item">
|
||||
|
||||
<div id="test6">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">开始日期</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" autocomplete="off" name="start_time" id="test-startDate-1" class="layui-input" placeholder="开始日期">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">结束日期</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" autocomplete="off" name="end_time" id="test-endDate-1" class="layui-input" placeholder="结束日期">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">排序字段</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="sort_key" lay-verify="required">
|
||||
<option value="delete_time">删除时间排序</option>
|
||||
<option value="update_time">更新时间排序</option>
|
||||
<option value="id">ID排序</option>
|
||||
<option value="size">文件大小排序</option>
|
||||
<option value="count_down">下载量排序</option>
|
||||
<option value="count_open">浏览量排序</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">排序方式</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="sort" lay-verify="required">
|
||||
<option value="0">降序</option>
|
||||
<option value="1">升序</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">存储筛选</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="policy" lay-verify="required">
|
||||
{volist name="$policy" id="vo"}
|
||||
<option value="{$vo.id}">{$vo.name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">文件后缀</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="ext" placeholder="请输入文件后缀 如 png jpg 等" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">用户UID</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="number" name="uid" placeholder="请输入UID" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">文件名称</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="origin_name" placeholder="请输入文件名称" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="pear-btn pear-btn-md pear-btn-primary" style="margin-left: 36px;" lay-submit lay-filter="user-query">
|
||||
<i class="layui-icon layui-icon-search"></i>
|
||||
搜索结果
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-md">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置搜索
|
||||
</button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<table id="user-table" lay-filter="user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="user-toolbar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="batchBack">
|
||||
<i class="layui-icon layui-icon-time"></i>
|
||||
批量还原
|
||||
</button>
|
||||
|
||||
<button class="pear-btn pear-btn-danger pear-btn-md" lay-event="batchRemove">
|
||||
<i class="layui-icon layui-icon-delete"></i>
|
||||
彻底删除
|
||||
</button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-bar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="back"><i class="layui-icon layui-icon-time"></i></button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/html" id="file-icon">
|
||||
<img src="{{ d.icon }}">
|
||||
</script>
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['table', 'form', 'jquery','common','laydate'], function() {
|
||||
let table = layui.table;
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let common = layui.common;
|
||||
var laydate = layui.laydate;
|
||||
|
||||
laydate.render({
|
||||
elem: '#test6'
|
||||
,range: ['#test-startDate-1', '#test-endDate-1']
|
||||
});
|
||||
|
||||
let cols = [
|
||||
[{type: 'checkbox'},
|
||||
{title: '', field: 'icon', align: 'center',width: 40,templet: '#file-icon'},
|
||||
{title: '文件名', field: 'origin_name',width: 300, align: 'left'},
|
||||
{title: '大小', field: 'size', align: 'center'},
|
||||
{title: '上传用户', field: 'uid', align: 'center'},
|
||||
{title: '储存服务器', field: 'policy_id', align: 'center'},
|
||||
{title: '文件后缀', field: 'ext', align: 'center'},
|
||||
{title: '下载量', field: 'count_down', align: 'center'},
|
||||
{title: '浏览量', field: 'count_open', align: 'center'},
|
||||
{title: '删除时间', field: 'create_time', align: 'center'},
|
||||
{title: '操作', toolbar: '#user-bar', align: 'center', width: 130}
|
||||
]
|
||||
]
|
||||
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: "{:url('recycle/index')}",
|
||||
page: true,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
limit:20,
|
||||
toolbar: '#user-toolbar',
|
||||
defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'print', 'exports']
|
||||
});
|
||||
|
||||
table.on('tool(user-table)', function(obj) {
|
||||
if (obj.event === 'remove') {
|
||||
window.remove(obj);
|
||||
}else if(obj.event === 'back'){
|
||||
window.restore(obj);
|
||||
}
|
||||
});
|
||||
|
||||
table.on('toolbar(user-table)', function(obj) {
|
||||
if (obj.event === 'refresh') {
|
||||
window.refresh();
|
||||
} else if (obj.event === 'batchRemove') {
|
||||
window.batchRemove(obj);
|
||||
} else if (obj.event === 'batchBack'){
|
||||
window.batchRestore(obj);
|
||||
}
|
||||
});
|
||||
|
||||
form.on('submit(user-query)', function(data) {
|
||||
table.reload('user-table', {
|
||||
where: data.field
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
|
||||
window.restore = function(obj){
|
||||
layer.confirm('确认要恢复该文件吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('recycle/restore')}?ids=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.remove = function(obj) {
|
||||
layer.confirm('确定要彻底删除该文件吗?<b style="color: red">删除后储存数据会被清空,且不可恢复</b>', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('recycle/delete')}?ids=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.batchRemove = function(obj) {
|
||||
|
||||
var checkIds = common.checkField(obj,'id');
|
||||
|
||||
if (checkIds === "") {
|
||||
layer.msg("未选中数据", {
|
||||
icon: 3,
|
||||
time: 1000
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
layer.confirm('确定要删除这些文件[' + checkIds + ']吗,<b style="color: red">删除后数据不可恢复</b>', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('recycle/delete')}?ids=" + checkIds,
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
table.reload('user-table');
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.batchRestore = function(obj){
|
||||
var checkIds = common.checkField(obj,'id');
|
||||
|
||||
if (checkIds === "") {
|
||||
layer.msg("未选中数据", {
|
||||
icon: 3,
|
||||
time: 1000
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
layer.confirm('确定要恢复这些文件[' + checkIds + ']吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('recycle/restore')}?ids=" + checkIds,
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
table.reload('user-table');
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.refresh = function(param) {
|
||||
table.reload('user-table');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,113 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">文件/目录名</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.source_name}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">储存类型</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.source_type?'文件':'目录'}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">所属用户</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.source_username}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">链接地址</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid"><a href="{$info.source_url}" target="_blank">{$info.source_url}</a></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">举报类型</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.type}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">联系方式</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.contact}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">举报理由</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.content}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit="" lay-filter="save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
完成处理
|
||||
</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
取消处理
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify({status:1}),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
parent.layui.table.reload("user-table");
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,135 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<table id="user-table" lay-filter="user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="user-toolbar"></script>
|
||||
|
||||
<script type="text/html" id="user-bar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="layui-icon layui-icon-survey"></i></button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/html" id="user-auth">
|
||||
{{#if (d.status == 0) { }}
|
||||
<span class="layui-badge layui-bg-orange">未处理</span>
|
||||
{{# }else if(d.status == 1){ }}
|
||||
<span class="layui-badge layui-bg-blue">已处理</span>
|
||||
{{# } }}
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-url">
|
||||
<a href="{{ d.source_url }}" target="_blank">{{ d.source_url }}</a>
|
||||
</script>
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['table', 'form', 'jquery','common'], function() {
|
||||
let table = layui.table;
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let common = layui.common;
|
||||
|
||||
let cols = [
|
||||
[{type: 'checkbox'},
|
||||
{title: '文件/目录名', field: 'source_name', align: 'center'},
|
||||
{title: '链接地址', field: 'source_url', align: 'center', templet: '#user-url'},
|
||||
{title: '所属用户', field: 'source_username', align: 'center'},
|
||||
{title: '危害类别', field: 'type', align: 'center'},
|
||||
{title: '联系方式', field: 'contact', align: 'center'},
|
||||
{title: '举报IP', field: 'real_ip', align: 'center'},
|
||||
{title: '处理状态', field: 'status', align: 'center', templet: '#user-auth'},
|
||||
{title: '创建时间', field: 'create_time', align: 'center'},
|
||||
{title: '操作', toolbar: '#user-bar', align: 'center', width: 130}
|
||||
]
|
||||
]
|
||||
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: "{:url('report/index')}",
|
||||
page: true,
|
||||
limit:20,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
toolbar: '#user-toolbar',
|
||||
defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
});
|
||||
|
||||
table.on('tool(user-table)', function(obj) {
|
||||
if (obj.event === 'remove') {
|
||||
window.remove(obj);
|
||||
} else if (obj.event === 'edit') {
|
||||
window.edit(obj);
|
||||
}
|
||||
});
|
||||
|
||||
table.on('toolbar(user-table)', function(obj) {
|
||||
if (obj.event === 'refresh') {
|
||||
window.refresh();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
window.edit = function(obj) {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '处理举报',
|
||||
shade: 0.1,
|
||||
area: ['600px', '520px'],
|
||||
content: "{:url('report/edit')}?id=" + obj.data['id']
|
||||
});
|
||||
}
|
||||
|
||||
window.remove = function(obj) {
|
||||
layer.confirm('确定要删除该举报内容吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('report/delete')}?id=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.refresh = function(param) {
|
||||
table.reload('user-table');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,145 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">站点名称</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="site_title" value="{$option.site_title}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">站点的名称,将会展示在个页面的标题尾部、邮件中。</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">站点LOGO</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="site_logo" value="{$option.site_logo}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">站点logo路径</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">网站首页</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<select name="index_theme" lay-verify="required">
|
||||
<option value="default" {eq name="$option.index_theme" value="default"}selected{/eq}>旧版主题</option>
|
||||
<option value="new1" {eq name="$option.index_theme" value="new1"}selected{/eq}>新版主题</option>
|
||||
</select>
|
||||
<div class="layui-form-mid layui-word-aux">网站首页主题</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SEO标题</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="site_name" value="{$option.site_name}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">位于首页meta标签内的站点标题</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SEO关键词</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="site_keywords" value="{$option.site_keywords}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">位于首页meta标签内的站点关键词</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">SEO描述</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<textarea name="site_desc" placeholder="位于首页meta标签内的SEO描述" class="layui-textarea">{$option.site_desc}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">网站头部</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<textarea name="site_head" placeholder="网站头部代码,用于百度站长等工具验证" class="layui-textarea">{$option.site_head}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">网站底部</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<textarea name="site_foot" placeholder="网站底部代码,你可以在此放置统计代码" class="layui-textarea">{$option.site_foot}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">站点邮箱</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="site_email" value="{$option.site_email}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">站点的用户投诉举报邮箱</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">客服信息</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<textarea name="site_kefu" placeholder="" class="layui-textarea">{$option.site_kefu}</textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="save">保存设置</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,122 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">邮件服务器</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="smtp_host" value="{$option.smtp_host}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">邮箱的SMTP服务器地址</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">SMTP端口</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="smtp_port" value="{$option.smtp_port}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">SSL连接SMTP服务器的远程服务器端口号</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">发信昵称</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="nickname" value="{$option.nickname}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">显示在收件人邮件的发件人邮箱地址前的发件人姓名</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">邮箱帐号</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="username" value="{$option.username}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">SMTP登录的账号</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">邮箱密码</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="password" value="{$option.password}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">SMTP登录的密码 使用生成的授权码</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">找回密码模板</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<textarea name="template_forget" id="edit" cols="30" rows="10">{$option.template_forget}</textarea>
|
||||
<div class="layui-form-mid layui-word-aux">
|
||||
模板内变量:
|
||||
{username} 用户帐号
|
||||
{literal}{url}{/literal} 重设密码url地址
|
||||
{site_name} 站点名称
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="save">保存设置</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery','tinymce'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
var tinymce = layui.tinymce
|
||||
var edit = tinymce.render({
|
||||
elem: "#edit",
|
||||
height: 400,
|
||||
menubar: false, //隐藏菜单栏
|
||||
plugins: "code",
|
||||
toolbar: "code",
|
||||
});
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
data.field['template_forget'] = edit.getContent()
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,91 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">易支付网关</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="api_gateway" value="{$option.api_gateway}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">
|
||||
支付网关注册地址:只要是易支付即可
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">易支付商户</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="api_pid" value="{$option.api_pid}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">
|
||||
请填写易支付的商户ID
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">易支付密钥</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="text" name="api_key" value="{$option.api_key}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">
|
||||
请填写易支付的商户密钥
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="save">保存设置</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,82 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">允许注册</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="radio" name="allow_register" value="1" title="允许" {eq name="$option.allow_register" value="1"}checked{/eq}>
|
||||
<input type="radio" name="allow_register" value="0" title="禁止" {eq name="$option.allow_register" value="0"}checked{/eq}>
|
||||
</div>
|
||||
<div class="layui-form-mid layui-word-aux">是否允许新用户注册</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">默认用户组</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<select name="default_group" lay-verify="required">
|
||||
{volist name="$group" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$option.default_group" value="$vo.id"}selected{/eq}>{$vo.group_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
<div class="layui-form-mid layui-word-aux">用户注册后默认属于的用户组</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="save">保存设置</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,93 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<br>
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">VIP用户组</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<select name="vip_group" lay-verify="required">
|
||||
{volist name="$group" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$option.vip_group" value="$vo.id"}selected{/eq}>{$vo.group_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
<div class="layui-form-mid layui-word-aux">开通VIP后属于的用户组</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">VIP分成</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<input type="number" name="vip_profit" value="{$option.vip_profit}" required lay-verify="required" autocomplete="off" class="layui-input">
|
||||
<div class="layui-form-mid layui-word-aux">
|
||||
游客通过分享者的链接开通VIP后,分享者获得的提成。请填写百分比如50%那么就填写50
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-form-text">
|
||||
<label class="layui-form-label">VIP价格规则</label>
|
||||
<div class="layui-input-block" style="max-width: 800px;">
|
||||
<textarea name="vip_rule" placeholder="VIP价格规则" rows="10" class="layui-textarea">{$option.vip_rule}</textarea>
|
||||
<div class="layui-form-mid layui-word-aux">
|
||||
价格规则,一行一条,规则格式为:
|
||||
价格名称|开通价格|开通时长(单位天)|显示单位|折扣显示|省钱显示|描述内容|是否推荐(推荐填写1,不推荐填写0)
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<br>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-input-block">
|
||||
<button class="layui-btn layui-btn-normal" lay-submit lay-filter="save">保存设置</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,116 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户帐号</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="username" lay-verify="required" placeholder="请输入用户帐号" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">当前用户组</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="group" lay-verify="required">
|
||||
{volist name="$group" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$default_group" value="$vo.id"}selected{/eq}>{$vo.group_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">设置VIP时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="group_expire" value="" placeholder="非VIP默认不选" class="layui-input" id="group_expire">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">登录密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="password" placeholder="请输入密码" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">重复密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="repassword" placeholder="请再次输入密码" lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">安全邮箱</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="email" name="email" placeholder="请输入密码邮箱账号 " lay-verify="required" autocomplete="off" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit="" lay-filter="save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
提交
|
||||
</button>
|
||||
<button type="reset" class="layui-btn layui-btn-primary layui-btn-sm">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery','laydate'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let laydate = layui.laydate;
|
||||
|
||||
laydate.render({
|
||||
elem: '#group_expire', //指定元素
|
||||
type:'datetime'
|
||||
});
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
parent.layui.table.reload("user-table");
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,154 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body>
|
||||
<form class="layui-form">
|
||||
<div class="mainBox">
|
||||
<div class="main-container">
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">用户帐号</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{$info.username}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">安全邮箱</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="email" name="email" value="{$info.email}" placeholder="请输入安全邮箱,如果不修改请忽略本参数" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">修改密码</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="password" name="password" placeholder="请输入密码,如果不修改请忽略本参数" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">实名认证</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{$info.is_auth ? '<span class="layui-badge layui-bg-blue">认证成功</span>' : '未认证'}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">注册时间</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{$info.create_time|date="Y-m-d H:i:s"}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">账户余额</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid">{$info.amount} ¥</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">当前用户组</label>
|
||||
<div class="layui-input-block">
|
||||
<select name="group" lay-verify="required">
|
||||
{volist name="$group" id="vo"}
|
||||
<option value="{$vo.id}" {eq name="$info.group" value="$vo.id"}selected{/eq}>{$vo.group_name}</option>
|
||||
{/volist}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">设置VIP时间</label>
|
||||
<div class="layui-input-block">
|
||||
<input type="text" name="group_expire" value="<?=$info['group_expire']<time()?'':date('Y-m-d h:i:s',$info['group_expire'])?>" placeholder="非VIP默认不选" class="layui-input" id="group_expire">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<hr>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">最近登录</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{:getNotNullTime($info.login_time,'暂无登录信息')}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item">
|
||||
<label class="layui-form-label">登录IP地址</label>
|
||||
<div class="layui-input-block">
|
||||
<div class="layui-form-mid layui-word-aux">{$info.login_real_ip|default='暂无登录信息'}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="bottom">
|
||||
<div class="button-container">
|
||||
<button type="submit" class="layui-btn layui-btn-normal layui-btn-sm" lay-submit="" lay-filter="save">
|
||||
<i class="layui-icon layui-icon-ok"></i>
|
||||
保存更改
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['form','jquery','laydate'],function(){
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let laydate = layui.laydate;
|
||||
|
||||
// laydate.render({
|
||||
// elem: '#grade_time',
|
||||
// type:'date'
|
||||
// });
|
||||
|
||||
laydate.render({
|
||||
elem: '#group_expire', //指定元素
|
||||
type:'datetime'
|
||||
});
|
||||
|
||||
form.on('submit(save)', function(data){
|
||||
$.ajax({
|
||||
data:JSON.stringify(data.field),
|
||||
dataType:'json',
|
||||
contentType:'application/json',
|
||||
type:'post',
|
||||
success:function(res){
|
||||
//判断有没有权限
|
||||
if(res && res.code == 999){
|
||||
layer.msg(res.msg, {
|
||||
icon: 5,
|
||||
time: 2000,
|
||||
})
|
||||
return false;
|
||||
}else if(res.code == 200){
|
||||
layer.msg(res.msg,{icon:1,time:1000},function(){
|
||||
parent.layer.close(parent.layer.getFrameIndex(window.name));//关闭当前页
|
||||
parent.layui.table.reload("user-table");
|
||||
});
|
||||
}else{
|
||||
layer.msg(res.msg,{icon:2,time:1000});
|
||||
}
|
||||
}
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,267 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>用户管理</title>
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<form class="layui-form" action="">
|
||||
<div class="layui-form-item">
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">搜索类型</label>
|
||||
<div class="layui-input-inline">
|
||||
<select name="search_type" lay-verify="required">
|
||||
<option value="username">帐号搜索</option>
|
||||
<option value="email">邮箱搜索</option>
|
||||
<option value="nickname">昵称搜索</option>
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="layui-form-item layui-inline">
|
||||
<label class="layui-form-label">搜索内容</label>
|
||||
<div class="layui-input-inline">
|
||||
<input type="text" name="search_value" placeholder="请输入搜索内容" class="layui-input">
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-form-item layui-inline">
|
||||
<button class="pear-btn pear-btn-md pear-btn-primary" lay-submit lay-filter="user-query">
|
||||
<i class="layui-icon layui-icon-search"></i>
|
||||
搜索结果
|
||||
</button>
|
||||
<button type="reset" class="pear-btn pear-btn-md">
|
||||
<i class="layui-icon layui-icon-refresh"></i>
|
||||
重置搜索
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<table id="user-table" lay-filter="user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="user-toolbar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-md" lay-event="add">
|
||||
<i class="layui-icon layui-icon-add-1"></i>
|
||||
新增账号
|
||||
</button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-md" lay-event="batchRemove">
|
||||
<i class="layui-icon layui-icon-delete"></i>
|
||||
批量删除
|
||||
</button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-bar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="edit"><i class="layui-icon layui-icon-edit"></i></button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-enable">
|
||||
<input type="checkbox" name="status" value="{{d.id}}" lay-skin="switch" lay-text="启用|禁用" lay-filter="user-enable" {{ d.status == 1 ? 'checked' : '' }}>
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/html" id="user-auth">
|
||||
{{#if (d.is_auth == 0) { }}
|
||||
<span class="layui-badge layui-bg-orange">未实名</span>
|
||||
{{# }else if(d.is_auth == 1){ }}
|
||||
<span class="layui-badge layui-bg-blue">已认证</span>
|
||||
{{# } }}
|
||||
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-createTime">
|
||||
{{layui.util.toDateString(d.createTime, 'yyyy-MM-dd')}}
|
||||
</script>
|
||||
|
||||
<script type="text/html" id="user-avatar">
|
||||
<img src="{{ d.avatar }}" style="width: 30px;height: 30px;border-radius: 50%">
|
||||
</script>
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['table', 'form', 'jquery','common'], function() {
|
||||
let table = layui.table;
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let common = layui.common;
|
||||
|
||||
let cols = [
|
||||
[{type: 'checkbox'},
|
||||
{title: 'UID', field: 'id', align: 'center'},
|
||||
{title: '',field:'avatar',align: 'center',templet: '#user-avatar',width: 45},
|
||||
{title: '昵称', field: 'nickname', align: 'left'},
|
||||
{title: '用户帐号', field: 'username', align: 'center'},
|
||||
{title: '用户等级', field: 'group', align: 'center'},
|
||||
{title: '余额', field: 'amount', align: 'center'},
|
||||
{title: '安全邮箱', field: 'email', align: 'center'},
|
||||
{title: '实名认证', field: 'is_auth', align: 'center', templet: '#user-auth'},
|
||||
{title: '账号状态', field: 'status', align: 'center', templet: '#user-enable'},
|
||||
{title: '注册时间', field: 'create_time', align: 'center', templet: '#user-createTime'},
|
||||
{title: '操作', toolbar: '#user-bar', align: 'center', width: 130}
|
||||
]
|
||||
]
|
||||
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: "{:url('user/index')}",
|
||||
page: true,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
toolbar: '#user-toolbar',
|
||||
defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
});
|
||||
|
||||
table.on('tool(user-table)', function(obj) {
|
||||
if (obj.event === 'remove') {
|
||||
window.remove(obj);
|
||||
} else if (obj.event === 'edit') {
|
||||
window.edit(obj);
|
||||
}
|
||||
});
|
||||
|
||||
table.on('toolbar(user-table)', function(obj) {
|
||||
if (obj.event === 'add') {
|
||||
window.add();
|
||||
} else if (obj.event === 'refresh') {
|
||||
window.refresh();
|
||||
} else if (obj.event === 'batchRemove') {
|
||||
window.batchRemove(obj);
|
||||
}
|
||||
});
|
||||
|
||||
form.on('submit(user-query)', function(data) {
|
||||
table.reload('user-table', {
|
||||
where: data.field
|
||||
})
|
||||
return false;
|
||||
});
|
||||
|
||||
form.on('switch(user-enable)', function(obj) {
|
||||
let status = obj.elem.checked ? 1 : 0;
|
||||
$.ajax({
|
||||
url:"{:url('user/change_status')}",
|
||||
type:'get',
|
||||
data:{
|
||||
id:this.value,
|
||||
status:status
|
||||
},
|
||||
dataType:'JSON',
|
||||
success:function(result){
|
||||
layer.tips(result.msg, obj.othis);
|
||||
}
|
||||
})
|
||||
});
|
||||
|
||||
window.add = function() {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '新增',
|
||||
shade: 0.1,
|
||||
area: [common.isModile()?'100%':'600px', common.isModile()?'100%':'400px'],
|
||||
content: "{:url('user/add')}"
|
||||
});
|
||||
}
|
||||
|
||||
window.edit = function(obj) {
|
||||
layer.open({
|
||||
type: 2,
|
||||
title: '修改',
|
||||
shade: 0.1,
|
||||
area: ['600px', '500px'],
|
||||
content: "{:url('user/edit')}?id=" + obj.data['id']
|
||||
});
|
||||
}
|
||||
|
||||
window.remove = function(obj) {
|
||||
layer.confirm('确定要删除该用户吗?<b style="color: red">删除后用户的储存数据会被清空,且不可恢复</b>', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('user/del')}?ids=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.batchRemove = function(obj) {
|
||||
|
||||
var checkIds = common.checkField(obj,'id');
|
||||
|
||||
if (checkIds === "") {
|
||||
layer.msg("未选中数据", {
|
||||
icon: 3,
|
||||
time: 1000
|
||||
});
|
||||
return false;
|
||||
}
|
||||
|
||||
layer.confirm('确定要删除这些用户[' + checkIds + ']吗,<b style="color: red">删除后数据不可恢复</b>', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('user/del')}?ids=" + checkIds,
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
table.reload('user-table');
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.refresh = function(param) {
|
||||
table.reload('user-table');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,170 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title></title>
|
||||
<link rel="stylesheet" href="/static/component/pear/css/pear.css" />
|
||||
</head>
|
||||
<body class="pear-container">
|
||||
<div class="layui-card">
|
||||
<div class="layui-card-body">
|
||||
<table id="user-table" lay-filter="user-table"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<script type="text/html" id="user-toolbar"></script>
|
||||
|
||||
<script type="text/html" id="user-bar">
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="status_yes"><i class="layui-icon layui-icon-ok"></i></button>
|
||||
<button class="pear-btn pear-btn-primary pear-btn-sm" lay-event="status_no"><i class="layui-icon layui-icon-close"></i></button>
|
||||
<button class="pear-btn pear-btn-danger pear-btn-sm" lay-event="remove"><i class="layui-icon layui-icon-delete"></i></button>
|
||||
</script>
|
||||
|
||||
|
||||
<script type="text/html" id="user-auth">
|
||||
{{#if (d.status == 0) { }}
|
||||
<span class="layui-badge layui-bg-orange">等待处理</span>
|
||||
{{# }else if(d.status == 1){ }}
|
||||
<span class="layui-badge layui-bg-blue">提现成功</span>
|
||||
{{# }else if(d.status == 2){ }}
|
||||
<span class="layui-badge layui-bg-red">退回金额</span>
|
||||
{{# } }}
|
||||
</script>
|
||||
|
||||
|
||||
<script src="/static/component/layui/layui.js"></script>
|
||||
<script src="/static/component/pear/pear.js"></script>
|
||||
<script>
|
||||
layui.use(['table', 'form', 'jquery','common'], function() {
|
||||
let table = layui.table;
|
||||
let form = layui.form;
|
||||
let $ = layui.jquery;
|
||||
let common = layui.common;
|
||||
|
||||
let cols = [
|
||||
[{type: 'checkbox'},
|
||||
{title: 'ID', field: 'id', align: 'center'},
|
||||
{title: '用户帐号', field: 'uid', align: 'center'},
|
||||
{title: '提现金额', field: 'money', align: 'center'},
|
||||
{title: '支付宝帐号', field: 'alipay_account', align: 'center'},
|
||||
{title: '支付宝姓名', field: 'alipay_name', align: 'center'},
|
||||
{title: '处理状态', field: 'status', align: 'center', templet: '#user-auth'},
|
||||
{title: '创建时间', field: 'create_time', align: 'center'},
|
||||
{title: '操作', toolbar: '#user-bar', align: 'center', width: 130}
|
||||
]
|
||||
]
|
||||
|
||||
table.render({
|
||||
elem: '#user-table',
|
||||
url: "{:url('withdraw/index')}",
|
||||
page: true,
|
||||
limit:20,
|
||||
cols: cols,
|
||||
skin: 'line',
|
||||
toolbar: '#user-toolbar',
|
||||
defaultToolbar: [{
|
||||
title: '刷新',
|
||||
layEvent: 'refresh',
|
||||
icon: 'layui-icon-refresh',
|
||||
}, 'filter', 'print', 'exports']
|
||||
});
|
||||
|
||||
table.on('tool(user-table)', function(obj) {
|
||||
if (obj.event === 'remove') {
|
||||
window.remove(obj);
|
||||
} else if (obj.event === 'status_yes') {
|
||||
window.edit(obj,1);
|
||||
} else if (obj.event === 'status_no') {
|
||||
window.edit(obj,2);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
table.on('toolbar(user-table)', function(obj) {
|
||||
if (obj.event === 'refresh') {
|
||||
window.refresh();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
window.edit = function(obj,status) {
|
||||
|
||||
if(status){
|
||||
var msg = '确认进行提现成功操作吗?操作前请转账至对应的支付宝帐号';
|
||||
}else{
|
||||
var msg = '确认拒绝提现吗?拒绝后资金会退回到用户帐号内';
|
||||
}
|
||||
|
||||
if(obj.data['status'] !== 0){
|
||||
layer.msg('已经处理成功的记录禁止操作',{icon:2});
|
||||
return false;
|
||||
}
|
||||
|
||||
layer.confirm(msg, {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('withdraw/change')}?status="+status+"&id=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
window.refresh();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.remove = function(obj) {
|
||||
layer.confirm('确定要删除该举报内容吗?', {
|
||||
icon: 3,
|
||||
title: '提示'
|
||||
}, function(index) {
|
||||
layer.close(index);
|
||||
let loading = layer.load();
|
||||
$.ajax({
|
||||
url: "{:url('withdraw/delete')}?id=" + obj.data['id'],
|
||||
dataType: 'json',
|
||||
type: 'get',
|
||||
success: function(result) {
|
||||
layer.close(loading);
|
||||
if (result.code == 200) {
|
||||
layer.msg(result.msg, {
|
||||
icon: 1,
|
||||
time: 1000
|
||||
}, function() {
|
||||
obj.del();
|
||||
});
|
||||
} else {
|
||||
layer.msg(result.msg, {
|
||||
icon: 2,
|
||||
time: 1000
|
||||
});
|
||||
}
|
||||
}
|
||||
})
|
||||
});
|
||||
}
|
||||
|
||||
window.refresh = function(param) {
|
||||
table.reload('user-table');
|
||||
}
|
||||
})
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user