初始化

This commit is contained in:
liut
2021-10-12 11:06:24 +08:00
commit ff0b4d5b12
1270 changed files with 405680 additions and 0 deletions
+123
View File
@@ -0,0 +1,123 @@
<html>
<head>
<link href="__STATIC__/css/bootstrap.min.css" rel="stylesheet">
<script type="text/javascript" src="__STATIC__/js/jquery.js"></script>
<script src="__STATIC__/js/layer.js"></script>
</head>
<body>
<div class="panel-body">
<div id="alert" class="alert alert-success alert-dismissable" style="display:none;">
<button type="button" class="close" onclick="$('#alert').hide();" aria-hidden="true">
×
</button>
<span id="msg">上传成功</span>
</div>
<div id="alert2" class="alert alert-danger alert-dismissable" style="display:none;">
<button type="button" class="close" onclick="$('#alert2').hide();" aria-hidden="true">
×
</button>
<span id="msg2">错误!请进行一些更改。</span>
</div>
<div class='form-group has-feedback'>
<span style="color: red;">*</span>
<font size="3">文件名称</font>
<input style="margin-top: 3%;" id='fileName' class='form-control' type='text' placeholder="请输入文件名称..."
value="{$info.origin_name}" />
</div>
<div class='form-group has-feedback'>
<font size="3">文件描述</font>
<textarea style="margin-top: 3%;" id='fileMiaoshu' class='form-control' rows="3"
placeholder="(可选) 请输入文件描述...&#10;&#10;提示:文件编辑后分享链接不会变哦~">{$info.desc}</textarea>
</div>
<p class='help-block'>
&nbsp;
</p>
<div class='form-group has-feedback' style="margin-top: 5%;">
<button type='button' class='btn btn-block btn-success' onclick='upload()'>保存</button>
</div>
</div>
<script type="text/javascript">
var _fileName = $("#fileName").val();
var _fileMiaoshu = $("#fileMiaoshu").val();
//选择的文件发生修改时
$("#fileInput").change(function (e) {
var name = document.getElementById('fileInput').files[0].name;
$("#fileName").val(name);
});
function upload() {
var fileName = $("#fileName").val();
var fileMiaoshu = $("#fileMiaoshu").val();
if (fileName == "") {
$('#fileName').focus();
layer.msg('请填写文件名称!', { time: 700 });
return;
}
//判断数据是否更改
if (_fileName == fileName &&
_fileMiaoshu == fileMiaoshu
) {
layer.msg('未作任何修改...', { time: 500 });
setTimeout(function () {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}, 500);
return;
}
//修改文件
var data2 = { 'file_name': fileName, 'file_miaoshu': fileMiaoshu};
update(data2);
}
//ajax请求数据
function update(data) {
$.ajax({
type: "post",
url: window.location.href,
dataType: 'json',
data: data,
success: function (data) {
msg(data.status, data.msg);
},
error: function (error) {
msg(0, "API请求失败,请联系客服");
}
});
}
//提示信息
function msg(status, msg) {
if (!status) {
$("#msg2").html(msg);
$("#alert2").show();
$("#alert").hide();
} else {
$("#msg").html(msg);
$("#alert").show();
$("#alert2").hide();
setTimeout(function () {
window.parent.getTable("当前文件夹");
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}, 800);
}
}
</script>
</div>
</body>
</html>
@@ -0,0 +1,128 @@
<html>
<head>
<link href="__STATIC__/css/bootstrap.min.css" rel="stylesheet">
<link href="__STATIC__/css/file.css" rel="stylesheet">
<script type="text/javascript" src="__STATIC__/js/jquery.js"></script>
<script src="__STATIC__/js/layer.js"></script>
</head>
<body>
<div style='width:320px;margin-left: 3%;margin-top: 3%;display:none;' id="alert" class="alert alert-success alert-dismissable">
<button type="button" class="close" onclick="$('#alert').hide();" aria-hidden="true">
×
</button>
<span id="msg">保存成功</span>
</div>
<div style='width:320px;margin-left: 3%;margin-top: 3%;display:none;' id="alert2" class="alert alert-danger alert-dismissable">
<button type="button" class="close" onclick="$('#alert2').hide();" aria-hidden="true">
×
</button>
<span id="msg2">错误!请进行一些更改。</span>
</div>
<div style='width:320px;margin-left: 3%;margin-top: 3%;' class='form-group has-feedback'>
<span style="color: red;">*</span>文件夹名称
<input style="margin-top: 3%;" id='folderName' class='form-control' type='text' placeholder="请输入文件夹名称..." value="{$info.folder_name}"/>
</div>
<div style='width:320px;margin-left: 3%;' class='form-group has-feedback'>
<p>文件夹描述</p>
<textarea style="margin-top: 3%;" id='folderMiaoshu' class='form-control' rows="3" placeholder="(可选) 请输入文件夹描述...">{$info.desc}</textarea>
</div>
<label class="col-sm-1">限速收益开关</label>
<div class="col-sm-4" style="margin-left: 100px;margin-top: -30px;">
<label class="switch">
<input type="checkbox" id="shouyi" value="{$info.size}">
<div class="slider round"></div>
</label>
</div>
<div style='width:320px;margin-left: 3%;' class='form-group has-feedback'>
<button style='margin-top:5%;' type='button' class='btn btn-block btn-success' onclick='upload()'>保存</button>
</div>
<script type="text/javascript">
var _folderName = $("#folderName").val();
var _folderMiaoshu = $("#folderMiaoshu").val();
var _shouyi = '{$info.size}';
$("#shouyi").val(_shouyi);
if(_shouyi == 1){
$("#shouyi").attr("checked","");
}
$("#shouyi").click(function(){
if($("#shouyi").val() == "0") //是否禁用
{
$("#shouyi").val("1");
}else{
$("#shouyi").val("0");
}
});
function upload() {
var folderName = $("#folderName").val();
var folderMiaoshu = $("#folderMiaoshu").val();
var shouyi = $("#shouyi").val();
if(folderName == "")
{
$('#folderName').focus();
layer.msg('请填写文件夹名称!', {time: 700});
return;
}
//判断数据是否更改
if(folderName == _folderName &&
folderMiaoshu == _folderMiaoshu &&
shouyi == _shouyi
){
layer.msg('未作任何修改...', {time: 500});
setTimeout(function (){
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
},500);
return;
}
var data2 = {'folder_name': folderName, 'folder_miaoshu': folderMiaoshu, "shouyi": shouyi};
$.ajax({
type: "post",
url : window.location.href,
dataType:'json',
data: data2,
success: function(data){
msg(data.status,data.msg);
},
error: function (error) {
msg(0,"API请求失败,请联系客服");
}
});
}
//提示信息
function msg(status,msg) {
if(!status){
$("#msg2").html(msg);
$("#alert2").show();
$("#alert").hide();
}else{
$("#msg").html(msg);
$("#alert").show();
$("#alert2").hide();
setTimeout(function (){
window.parent.getTable("当前文件夹");
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
},800);
}
}
</script>
</body>
+463
View File
@@ -0,0 +1,463 @@
<html>
<head>
<link href="__STATIC__/css/bootstrap.min.css" rel="stylesheet">
<script type="text/javascript" src="__STATIC__/js/jquery.js"></script>
<script src="__STATIC__/js/layer.js"></script>
<link href="__STATIC__/icon/icon.css" rel="stylesheet">
<link href="__STATIC__/css/list.css" rel="stylesheet"> <!-- 放在最后 -->
<script src="__STATIC__/js/bootstrap.min.js"></script>
<link href="__STATIC__/css/bootstrap-editable.css" rel="stylesheet">
<script src="__STATIC__/js/bootstrap-editable.js" type="text/javascript"></script>
</head>
<body>
<style>
.dialog-body {
font-feature-settings: "lnum";
-webkit-font-smoothing: antialiased;
font-size: 12px;
color: #666;
font-family: "Microsoft YaHei", SimSun;
margin: 0;
padding: 0;
line-height: 24px;
background: 0 0;
}
.file-tree-container {
height: 250px;
margin: 10px 11px;
border: 1px solid #f2f2f2;
overflow: auto;
}
.treeview {
margin: 0;
padding: 0;
list-style: none;
visibility: visible;
}
.treeview-node-on {
border: 1px solid #fff;
border-width: 1px 0;
color: #2974B6;
cursor: pointer;
display: block;
white-space: nowrap;
text-decoration: none;
background: #e5f0fb !important;
border-color: #BBD4EF #fff !important;
padding-left: 0px;
}
.treeview-node-handler {
-webkit-font-smoothing: antialiased;
cursor: pointer;
display: block;
white-space: nowrap;
text-decoration: none;
padding: 4px 0;
color: #333;
}
.icon-operate {
white-space: nowrap;
color: #333;
background: url(__STATIC__/image/icon-tree_77d7929.png) 0 0 no-repeat;
display: inline-block;
zoom: 1;
vertical-align: middle;
margin: 0 3px;
width: 15px;
height: 15px;
cursor: pointer;
background-position: -999px -999px;
}
.treeview-node .close2 {
background-position: -30px 0;
}
.treeview-node .open {
background-position: -30px -22px;
}
.treeview-dir {
cursor: pointer;
white-space: nowrap;
color: #333;
margin-right: 5px;
height: 18px;
width: 22px;
background: url(__STATIC__/image/icon-tree_77d7929.png) 0 0 no-repeat;
background-position: 0 -22px;
display: inline-block;
zoom: 1;
vertical-align: middle;
}
.treeview-node:hover {
background: #f4f9fd;
border-color: #e5f0fb;
}
.top,
.text {
margin: 0;
padding: 0;
border: 0;
}
.space-between {
-webkit-box-pack: justify;
-webkit-justify-content: space-between;
-ms-flex-pack: justify;
justify-content: space-between;
}
.align-center,
.flex-box,
.space-between {
display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;
-webkit-box-align: center;
-webkit-align-items: center;
-ms-flex-align: center;
align-items: center;
}
.flex-box {
-webkit-box-pack: center;
-webkit-justify-content: center;
-ms-flex-pack: center;
justify-content: center;
}
.editable-button {
margin: 10px 2px 8px 5px;
}
.editable-input input {
width: 200px !important;
}
@media (max-width:890px) {
#upload{
width: auto !important;
}
}
</style>
<div class="dialog-body">
<div class="file-tree-container">
<ul class="treeview ">
<li>
<div class="treeview-node treeview-node-on _minus" data-padding-left="0" style="padding-left:0px"
id="0" data-isGet="0">
<span class="treeview-node-handler">
<em class="icon-operate open"></em><dfn class="treeview-dir"></dfn>
<span class="treeview-txt">根目录</span>
</span>
</div>
<ul class="treeview treeview-root-content" data-padding-left="15">
</ul>
</li>
</ul>
</div>
</div>
<div id="mkdir2">
<li id="mkdir" style="display: none;">
<div class="treeview-node" no="1" data-padding-left="15" style="padding-left:15px">
<span class="treeview-node-handler">
<em class="b-in-blk plus icon-operate"></em><dfn
class="b-in-blk treeview-ic treeview-dir"></dfn><span class="treeview-txt"
id="mkdir_input"></span>
</span>
</div>
<ul class="treeview treeview-collapse" data-padding-left="30"></ul>
</li>
</div>
<div id="DirMb" style="display: none;">
<li>
<div class="treeview-node" data-padding-left="15" style="padding-left:15px" id="" data-isGet="0">
<span class="treeview-node-handler">
<em class="icon-operate"></em><dfn class="treeview-dir"></dfn><span class="treeview-txt"></span>
</span>
</div>
<ul class="treeview treeview-collapse" data-padding-left="30"></ul>
</li>
</div>
<div class="top space-between">
<div class="top-left align-center">
<div class="top-item flex-box" onclick="mkdir_open()" style="margin-left: 10px;">
<em class="icon icon-newfolder" title="新建文件夹"></em>
<p class="text">新建文件夹</p>
</div>
</div>
<div style="float:left">
<div class="top-item flex-box upload" onclick="ok()" id="upload"style="width: 120px;float:left">
<p class="text" style="margin-left:0">确定</p>
</div>
<div class="top-item flex-box" onclick="no()" style="width: 120px;">
<p class="text" style="margin-left:0">取消</p>
</div>
</div>
</div>
<script>
var mkdir_html = $("#mkdir2").html();
mkdirInputSet($(".treeview-node-on").parent().find('ul:first')); //设置初始位置在根目录下
getFolderData("0"); //获取根目录下的文件夹
//设置新建文件夹的位置
function mkdirInputSet(ulObj) {
var ulLeft = ulObj.attr("data-padding-left");
$("#mkdir").remove();
ulObj.append(mkdir_html);//添加
$("#mkdir div").css("padding-left", ulLeft + "px");
$("#mkdir div").attr("data-padding-left", ulLeft);
$("#mkdir ul").attr("data-padding-left", Number(ulLeft) + 15);
mkdir_editable();//设置行内编辑
}
//获取文件夹下的文件夹
function getFolderData(id) {
var obj = $("#" + id);
if (obj.attr("data-isGet") == "1") //防止重复获取
return;
obj.attr("data-isGet", "1");
var objUl = obj.parent().find('ul:first');
var Left = Number(objUl.attr("data-padding-left"));
$.ajax({
type: "post",
url: "/file/folder_list",
dataType: 'json',
data: {
"folder_id": id,
},
success: function (data) {
if (data.status) {
data = data.data;
for (var i = 0; i < data.length; i++) {
data2 = data[i];
objUl.append(setDirMB(data2['id'], data2['folder_name'], Left, data2['down']));
}
setClick(); //动态修改html后需要重新绑定事件
} else {
layer.alert(data.msg, { icon: 2 });
}
},
error: function (error) {
layer.alert("API请求失败,请联系客服", { icon: 2 });
}
});
}
//设置文件模板
function setDirMB(id, name, Left, isParent = 0, isXuanzhong = 0) //ID 名称 左偏移长度 是否有下级文件 是否选中
{
$("#DirMb li div span span").html(name); //设置文件名
$("#DirMb li div").attr("id", id);
$("#DirMb li div").attr("data-padding-left", Left);
$("#DirMb li div").css("padding-left", Left + "px");
$("#DirMb li ul").attr("data-padding-left", Left + 15);
if (isParent) {
$("#DirMb li div span em").addClass("close2"); //展开图标
}
if (isXuanzhong) {
$("#DirMb li div").addClass("treeview-node-on");
}
html = $("#DirMb").html();
//样式删除掉
if (isParent) {
$("#DirMb li div span em").removeClass("close2");
}
if (isXuanzhong) {
$("#DirMb li div").removeClass("treeview-node-on"); //选中
}
return html;
}
//设置选中列事件
function setClick() {
//选中列
$(".treeview-node").unbind("click").click(function (e) { //解绑再绑定
var id = $(this).attr("id");
var ulObj = $(this).parent().find('ul:first');
if ($(this).attr("no") != "1") { //不是编辑框自身的点击
mkdirInputSet(ulObj); //设置新建文件夹的位置
} else {
return;
}
if ($(this).hasClass("treeview-node-on")) { //是否已经选中过了
var objEm = $(this).find("em");
if (objEm.hasClass("open")) { //是否展开
objEm.removeClass("open");
objEm.addClass("close2");
ulObj.hide('fast');
} else if (objEm.hasClass("close2")) { //否则显示
objEm.removeClass("close2");
objEm.addClass("open");
ulObj.show('fast');
getFolderData(id);
}
} else {
$(".treeview-node-on").removeClass("treeview-node-on"); //删除原来的选中
$(this).addClass("treeview-node-on"); //自身增加选中
}
});
}
//设置行内编辑
function mkdir_editable() {
$("#mkdir_input").editable({
toggle: 'manual',
mode: "inline",
validate: function (v) {
if (!v) return '文件夹名不能为空';
$.ajax({
type: "post",
url: "/file/mkdir",
dataType: 'json',
data: {
"folder_id": $(".treeview-node-on").attr("id"),
"folder_name": v,
"folder_miaoshu": "",
},
success: function (data) {
if (data.status) {
var obj = $(".treeview-node-on").parent().find('ul:first');
var Left = Number(obj.attr("data-padding-left"));
$(".treeview-node-on").find("em").addClass("open");
$(".treeview-node-on").removeClass("treeview-node-on");
obj.append(setDirMB(data.data, v, Left, 0, 1));
//选中的位置修改了 要重新获取一下
obj = $(".treeview-node-on").parent().find('ul:first');
mkdirInputSet(obj); //重新修改编辑框的位置
setClick(); //动态修改html后需要重新绑定事件
layer.msg(data.msg, { time: 1000, icon: 1, shift: 4 });
} else {
layer.alert(data.msg, { icon: 2 });
}
},
error: function (error) {
layer.alert("API请求失败,请联系客服", { icon: 2 });
}
});
}
});
}
//循环判断输入框是不是消失了
function mkdir_ifColse() {
setTimeout(
function () {
var html = $(".editable-input").html();
//console.log(html);
if (!html) {
$("#mkdir").hide();
$("#mkdir").hide();
return;
}
mkdir_ifColse();
}
, 50);
}
//新建文件夹按钮
function mkdir_open() {
$("#mkdir").show();
setTimeout(function () {
$("#mkdir_input").editable('toggle');
$('.file-tree-container').scrollTop($('.file-tree-container')[0].scrollHeight); //设置滚动条
//$(".editable-cancel").attr("onclick","mkdir_colse()");
}, 1); //神奇的BUG 必须得要延迟
mkdir_ifColse();
var obj = $(".treeview-node-on");
var objEm = obj.find("em");
var objUl = obj.parent().find('ul:first');
if (objEm.hasClass("close2")) { //帮你展开
objEm.removeClass("close2");
objEm.addClass("open");
objUl.show('fast');
}
}
//确定按钮
function ok() {
$.ajax({
type: "post",
url: "/file/move_to_file",
dataType: 'json',
data: {
"folder_id": $(".treeview-node-on").attr("id"),
"ids": "{$ids}",
"idFs": "{$idFs}",
},
success: function (data) {
if (data.status) {
layer.msg(data.msg, { time: 1000, icon: 1, shift: 4 });
setTimeout(function () {
window.parent.getTable("当前文件夹");
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}, 1000);
} else {
layer.alert(data.msg, { icon: 2 });
}
},
error: function (error) {
layer.alert("API请求失败,请联系客服", { icon: 2 });
}
});
}
//取消按钮
function no() {
var index = parent.layer.getFrameIndex(window.name);
parent.layer.close(index);
}
</script>
</body>
</html>