初始上传

This commit is contained in:
2026-04-04 17:27:12 +08:00
parent 4d80d28eb4
commit b7e11774ee
11191 changed files with 1588469 additions and 0 deletions

253
app/shop/view/article/add.html Executable file
View File

@@ -0,0 +1,253 @@
<style>
.upload-img-block .upload-img-box .upload-default{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
</style>
<div class="layui-form form-wrap">
<div class="layui-form-item">
<label class="layui-form-label short-label"><span class="required">*</span>文章标题:</label>
<div class="layui-input-inline">
<input type="text" name="article_title" lay-verify="required" maxlength="40" autocomplete="off" placeholder="文章标题最多40个字" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>文章分类:</label>
<div class="layui-input-inline">
<select name="category_id" lay-verify="required">
<option value="">请选择</option>
{foreach $category_list as $v}
<option value="{$v['category_id']}">{$v['category_name']}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label short-label">摘要:</label>
<div class="layui-input-block">
<textarea name="article_abstract" class="layui-textarea len-long" maxlength="100"></textarea>
</div>
<div class="word-aux">文章摘要最多可输入100个字</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>封面:</label>
<div class="layui-input-block img-upload">
<div class="upload-img-block square simple-uploading">
<div class="upload-img-box" id="img">
<div class="upload-default">
<i class="iconfont iconshangchuan"></i>
<p>点击上传</p>
</div>
</div>
<input type="hidden" name="image" />
<i class="del">x</i>
</div>
</div>
<div class="word-aux">推荐使用 750x420 像素的图片</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>正文:</label>
<div class="layui-input-inline">
<script id="editor" type="text/plain" class="special-length" style="height:500px;"></script>
<input type="hidden" name="article_content" id="article_content" />
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">发布时间:</label>
<div class="layui-input-inline">
<input type="radio" name="is_show_release_time" value="1" title="显示" checked>
<input type="radio" name="is_show_release_time" value="0" title="不显示">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">阅读次数:</label>
<div class="layui-input-inline">
<input type="radio" name="is_show_read_num" value="1" title="显示" checked>
<input type="radio" name="is_show_read_num" value="0" title="不显示">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">点赞次数:</label>
<div class="layui-input-inline">
<input type="radio" name="is_show_dianzan_num" value="1" title="显示" checked>
<input type="radio" name="is_show_dianzan_num" value="0" title="不显示">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">虚拟阅读数:</label>
<div class="layui-input-inline">
<input type="number" min="0" name="initial_read_num" onchange="detectionNumType(this,'integral')" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">虚拟点赞数:</label>
<div class="layui-input-inline">
<input type="number" min="0" name="initial_dianzan_num" onchange="detectionNumType(this,'integral')" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序:</label>
<div class="layui-input-inline">
<input type="number" min="0" name="sort" class="layui-input">
</div>
</div>
<div class="form-row">
<button class="layui-btn" lay-submit lay-filter="save">立即发布</button>
<button class="layui-btn" lay-submit lay-filter="saveDrafts">保存至草稿箱</button>
<button class="layui-btn layui-btn-primary" onclick="backArticleList()">返回</button>
</div>
</div>
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.config.js?time=20240614"></script>
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.all.js?time=20240614"></script>
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/lang/zh-cn/zh-cn.js"></script>
<script>
//实例化富文本
var ue = UE.getEditor('editor');
if($("#article_content").val()){
ue.ready(function() {
ue.setContent($("#article_content").val());
});
}
var form,repeat_flag,
IMAGE_MAX = 9, //最多可以上传多少张图片
imageCollection = [], //图片集合
selectedGoodsId = [],
goods_id = [],
goods_list =[];
layui.use(['form'], function() {
form = layui.form;
repeat_flag = false;
form.render();
// 单图上传
$("body").off("click", "#img").on("click", "#img", function () {
openAlbum(function (data) {
imageCollection = [];
imageCollection.push(data[0].pic_path);
imageCollection.splice(1, imageCollection.length);
var val = '<img src="' + ns.img(imageCollection[0]) + '" alt="">';
$("#img").html(val);
}, 1);
});
/**
* 表单提交(立即发布)
*/
form.on('submit(save)', function(data){
field = data.field;
field.status = 1;
formSubmit(field)
});
/**
* 表单提交(草稿箱)
*/
form.on('submit(saveDrafts)', function(data){
field = data.field;
field.status = 0;
formSubmit(field)
});
});
/**
* 提交
*/
function formSubmit(data){
if (!imageCollection.length){
layer.msg('请选择封面图!', {icon: 5, anim: 6});
return;
}
data.cover_img = imageCollection.join();
if (!ue.getContent()){
layer.msg("文章内容不能为空");
return false;
}
if(data.sort < 0){
layer.msg("排序号不能小于0");
return false;
}
data.article_content = ue.getContent();
if(repeat_flag) return;
repeat_flag = true;
$.ajax({
type: 'POST',
dataType: 'JSON',
url: ns.url("shop/article/add"),
data: data,
async: false,
success: function(res){
repeat_flag = false;
if (res.code == 0) {
layer.confirm('添加成功', {
title:'操作提示',
btn: ['返回列表', '继续添加'],
closeBtn: 0,
yes: function(index, layero){
if(data.status == 1){
location.hash = ns.hash("shop/article/lists");
}else{
location.hash = ns.hash("shop/article/drafts");
}
layer.close(index);
},
btn2: function(index, layero) {
listenerHash(); // 刷新页面
layer.close(index);
}
});
}else{
layer.msg(res.message);
}
}
})
}
function backArticleList() {
location.hash = ns.hash("shop/article/lists");
}
//检测数据类型
function detectionNumType(el, type) {
var value = $(el).val();
//大于零 且 不是小数
if (value < 0 && type == 'integral')
$(el).val(0);
else if (type == 'integral')
$(el).val(Math.round(value));
//大于1 且 不是小数
if (value < 1 && type == 'positiveInteger')
$(el).val(1);
else if (type == 'positiveInteger')
$(el).val(Math.round(value));
//大于零可以是小数
if (type == 'positiveNumber') {
value = parseFloat(value).toFixed(2);
if (value < 0)
$(el).val(0);
else
$(el).val(value);
}
}
</script>

View File

@@ -0,0 +1,159 @@
<style>
.select-article{margin: 20px;}
.select-article .single-filter-box{padding: 0;}
.select-article .single-filter-box .layui-form{margin: inherit;}
.select-article .single-filter-box .layui-form div{margin: 0;}
</style>
<div class="select-article">
<div class="single-filter-box">
<div class="layui-form">
<div class="layui-input-inline">
<input type="text" name="search_text" placeholder="请输入文章名称" autocomplete="off" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
<i class="layui-icon">&#xe615;</i>
</button>
</div>
</div>
</div>
<table id="article_list" lay-filter="article_list"></table>
</div>
<script type="text/html" id="checkbox">
<input type="checkbox" data-article-id="{{d.article_id}}" name="article_checkbox" lay-skin="primary" lay-filter="article_checkbox">
<input type="hidden" data-article-id="{{d.article_id}}" name="article_json" value='{{ JSON.stringify(d) }}' />
</script>
<script>
var select_id = localStorage.getItem('article_select_id') || '', // "{$select_id}", //选中文章id
articleList ={:json_encode($article_list)},
selectList = {}, //选中文章所有数据res
articleIdArr = select_id.length ? select_id.split(',') : [], //已选中的文章id
table, form,laytpl,element;
$(function () {
for (var k in articleList) {
selectList['article_id_' + articleList[k].article_id] = {
article_id: articleList[k].article_id,
article_title: articleList[k].article_title,
cover_img: articleList[k].cover_img,
article_abstract: articleList[k].article_abstract,
read_num: articleList[k].read_num,
}
}
layui.use(['form', 'laytpl', 'element'], function () {
form = layui.form;
laytpl = layui.laytpl;
element = layui.element;
table = new Table({
elem: '#article_list',
url: '{:addon_url("shop/article/articleselect")}',
cols: [
[
{
title: '<input type="checkbox" name="article_checkbox_all" lay-skin="primary" lay-filter="article_checkbox_all">',
width: "8%",
templet: '#checkbox'
},
{
field: 'article_title',
title: '文章名称',
width: '35%'
},
{
field: 'category_name',
title: '文章分类',
width: '30%'
},
{
field: 'cover_img',
title: '封面图',
width: '20%',
templet: function (d) {
return `<img layer-src src="${ns.img(d.cover_img)}"/>`;
}
},
]
],
callback: function (res) {
// 更新复选框状态
for (var i = 0; i < articleIdArr.length; i++) {
var selected_article = $("input[name='article_checkbox'][data-article-id='" + articleIdArr[i] + "']");
if (selected_article.length) {
selected_article.prop("checked", true);
}
}
form.render();
dealWithTableSelectedNum();
}
});
form.on('submit(search)', function (data) {
formSearch();
return false;
});
//公共搜索方法
function formSearch() {
var data = {};
data.search_text = $("input[name='search_text']").val();
data.article_ids = articleIdArr.toString();
table.reload({
page: {
curr: 1
},
where: data
});
}
// 勾选文章
form.on('checkbox(article_checkbox_all)', function (data) {
var all_checked = data.elem.checked;
$("input[name='article_checkbox']").each(function () {
var checked = $(this).prop('checked');
if (all_checked != checked) {
$(this).next().click();
}
})
});
// 勾选文章
form.on('checkbox(article_checkbox)', function (data) {
var article_id = $(data.elem).attr("data-article-id");
var spuLen = $("input[name='article_checkbox'][data-article-id=" + article_id + "]:checked").length;
if (spuLen) {
var item = JSON.parse($("input[name='article_json'][data-article-id=" + article_id + "]").val());
delete item.LAY_INDEX;
delete item.LAY_TABLE_INDEX;
selectList['article_id_' + article_id] = item;
} else {
delete selectList['article_id_' + article_id];
}
dealWithTableSelectedNum();
});
});
});
function selectArticleListener(callback) {
articleIdArr = [];
for (var key in selectList){
articleIdArr.push(selectList[key].article_id);
}
if(articleIdArr.length == 0) {
layer.msg('请选择文章');
return;
}
callback({
articleIds: articleIdArr,
list: selectList
});
}
//在表格底部增加了一个容器
function dealWithTableSelectedNum() {
$(".layui-table-bottom-left-container").html('已选择 '+ Object.keys(selectList).length +' 个文章');
}
</script>

170
app/shop/view/article/drafts.html Executable file
View File

@@ -0,0 +1,170 @@
<!-- 搜索框 -->
<div class="single-filter-box">
<div class="layui-form">
<div class="layui-input-inline">
<input type="text" name="search_text" placeholder="请输入文章标题" autocomplete="off" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
<i class="layui-icon">&#xe615;</i>
</button>
</div>
</div>
</div>
<!-- 列表 -->
<table id="article_list" lay-filter="article_list"></table>
<!-- 操作 -->
<script type="text/html" id="operation">
<div class="table-btn">
<a class="layui-btn" lay-event="edit">编辑</a>
<a class="layui-btn" lay-event="delete">删除</a>
</div>
</script>
<script type="text/html" id="sort">
<input name="sort" type="number" onchange="editSort({{d.article_id}},this)" value="{{d.sort}}" placeholder="请输入排序" class="layui-input edit-sort len-short">
</script>
<script>
var table, repeat_flag = false;//防重复标识;
layui.use('form', function() {
var form = layui.form;
form.render();
table = new Table({
elem: '#article_list',
url: ns.url("shop/article/drafts"),
cols: [
[ {
field: 'article_title',
title: '文章标题',
width: '30%',
unresize: 'false'
}, {
field: 'category_name',
title: '文章分类',
width: '20%',
unresize: 'false'
},{
field: 'sort',
title: '排序',
width: '15%',
sort : true,
unresize: 'false',
templet: '#sort'
}, {
field: 'create_time',
title: '创建时间',
width: '20%',
unresize: 'false',
templet: function (data) {
return ns.time_to_date(data.create_time);
}
}, {
title: '操作',
toolbar: '#operation',
unresize: 'false',
align : 'right'
}]
],
});
/**
* 搜索功能
*/
form.on('submit(search)', function(data) {
table.reload({
page: {
curr: 1
},
where: data.field
});
});
table.on("sort",function (obj) {
table.reload({
page: {
curr: 1
},
where: {
order:obj.field,
sort:obj.type
}
});
});
/**
* 监听工具栏操作
*/
table.tool(function(obj) {
var data = obj.data;
switch (obj.event) {
case 'edit': //编辑
location.hash = ns.hash("shop/article/edit?article_id=" + data.article_id);
break;
case 'delete': //删除
deleteArticle(data.article_id);
break;
}
});
});
/**
* 删除
*/
function deleteArticle(article_id) {
if (repeat_flag) return false;
repeat_flag = true;
layer.confirm('确定要删除该文章内容吗?',
function (index) {
layer.close(index);
$.ajax({
url: ns.url("shop/article/delete"),
data: {article_id},
dataType: 'JSON',
type: 'POST',
success: function (res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
layer.close(layer.index - 1);
table.reload();
}
}
});
},
function () {
repeat_flag = false;
layer.close();
});
}
// 监听单元格编辑
function editSort(article_id, event) {
var data = $(event).val();
if (!new RegExp("^-?[1-9]\\d*$").test(data)) {
layer.msg("排序号只能是整数");
return;
}
if(data < 0){
layer.msg("排序号必须大于0");
return ;
}
$.ajax({
type: 'POST',
url: ns.url("shop/article/modifySort"),
data: {
sort: data,
article_id: article_id
},
dataType: 'JSON',
success: function(res) {
layer.msg(res.message);
if (res.code == 0) {
listenerHash(); // 刷新页面
}
}
});
}
</script>

263
app/shop/view/article/edit.html Executable file
View File

@@ -0,0 +1,263 @@
<style>
.upload-img-block .upload-img-box .upload-default{position: absolute;top: 50%;left: 50%;transform: translate(-50%, -50%);}
</style>
<div class="layui-form form-wrap">
<div class="layui-form-item">
<label class="layui-form-label short-label"><span class="required">*</span>文章标题:</label>
<div class="layui-input-inline">
<input type="text" name="article_title" value="{$info.article_title}" lay-verify="required" maxlength="40" autocomplete="off" placeholder="文章标题最多40个字" class="layui-input len-long">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>文章分类:</label>
<div class="layui-input-inline">
<select name="category_id" lay-verify="required">
<option value="">请选择</option>
{foreach $category_list as $v}
<option value="{$v['category_id']}" {if $info.category_id == $v.category_id} selected {/if}>{$v['category_name']}</option>
{/foreach}
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label short-label">摘要:</label>
<div class="layui-input-block">
<textarea name="article_abstract" class="layui-textarea len-long" maxlength="100">{$info.article_abstract}</textarea>
</div>
<div class="word-aux">文章摘要最多可输入100个字</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">封面</label>
<div class="layui-input-block img-upload">
<div class="upload-img-block square simple-uploading">
<div class="upload-img-box" id="img">
<div class="upload-default">
<i class="iconfont iconshangchuan"></i>
<p>点击上传</p>
</div>
</div>
</div>
</div>
<div class="word-aux">推荐使用 750x420 像素的图片 最多上传1张</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label"><span class="required">*</span>文章内容:</label>
<div class="layui-input-inline">
<script id="editor" type="text/plain" class="special-length" style="height:500px;"></script>
<input type="hidden" name="article_content" id="article_content" value="{$info.article_content}"/>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">发布时间:</label>
<div class="layui-input-inline">
<input type="radio" name="is_show_release_time" value="1" title="显示" {if $info.is_show_release_time == 1} checked {/if}>
<input type="radio" name="is_show_release_time" value="0" title="不显示" {if $info.is_show_release_time == 0} checked {/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">阅读次数:</label>
<div class="layui-input-inline">
<input type="radio" name="is_show_read_num" value="1" title="显示" {if $info.is_show_read_num == 1} checked {/if}>
<input type="radio" name="is_show_read_num" value="0" title="不显示" {if $info.is_show_read_num == 0} checked {/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">点赞次数:</label>
<div class="layui-input-inline">
<input type="radio" name="is_show_dianzan_num" value="1" title="显示" {if $info.is_show_dianzan_num == 1} checked {/if}>
<input type="radio" name="is_show_dianzan_num" value="0" title="不显示" {if $info.is_show_dianzan_num == 0} checked {/if}>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">虚拟阅读数:</label>
<div class="layui-input-inline">
<input type="number" min="0" name="initial_read_num" value="{$info.initial_read_num}" onchange="detectionNumType(this,'integral')" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">虚拟点赞数:</label>
<div class="layui-input-inline">
<input type="number" min="0" name="initial_dianzan_num" value="{$info.initial_dianzan_num}" onchange="detectionNumType(this,'integral')" class="layui-input">
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label">排序:</label>
<div class="layui-input-inline">
<input type="number" min="0" name="sort" value="{$info.sort}" class="layui-input">
</div>
</div>
<input type="hidden" name="article_id" value="{$info.article_id}" />
<div class="form-row">
{if $info.status == 1}
<button class="layui-btn" lay-submit lay-filter="save">保存</button>
<button class="layui-btn layui-btn-primary" onclick="backArticleList()">返回</button>
{else /}
<button class="layui-btn" lay-submit lay-filter="saveDrafts">保存</button>
<button class="layui-btn" lay-submit lay-filter="save">立即发布</button>
<button class="layui-btn layui-btn-primary" onclick="backArticleList()">返回</button>
{/if}
</div>
</div>
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.config.js?time=20240614"></script>
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/ueditor.all.js?time=20240614"></script>
<script type="text/javascript" charset="utf-8" src="STATIC_EXT/ueditor/lang/zh-cn/zh-cn.js"></script>
<script>
var form,upload,
IMAGE_MAX = 9, //最多可以上传多少张图片
imageCollection = [], //图片集合
selectedGoodsId = [],
goods_id=[],
repeat_flag = false,
coverImg = '{$info.cover_img}';
initImg();//初始化图片
function initImg(){
$("#img").html("<img src=" + ns.img(coverImg) + " >");
imageCollection = [coverImg];
}
//实例化富文本
var ue = UE.getEditor('editor');
if($("#article_content").val()){
ue.ready(function() {
ue.setContent($("#article_content").val());
});
}
layui.use(['form'], function() {
form = layui.form;
form.render();
// 单图上传
$("body").off("click", "#img").on("click", "#img", function () {
openAlbum(function (data) {
imageCollection = [];
imageCollection.push(data[0].pic_path);
imageCollection.splice(1, imageCollection.length);
var val = '<img src="' + ns.img(imageCollection[0]) + '" alt="">';
$("#img").html(val);
}, 1);
});
/**
* 表单提交(立即发布)
*/
form.on('submit(save)', function(data){
field = data.field;
field.status = 1;
formSubmit(field)
});
/**
* 表单提交(草稿箱)
*/
form.on('submit(saveDrafts)', function(data){
field = data.field;
field.status = 0;
formSubmit(field)
});
});
/**
* 提交
*/
function formSubmit(field)
{
if (!imageCollection.length){
layer.msg('请选择封面图!', {icon: 5, anim: 6});
return;
}
field.cover_img = imageCollection.join();
if (!ue.getContent()){
layer.msg("文章内容不能为空");
return false;
}
if(field.sort < 0){
layer.msg("排序号不能小于0");
return false;
}
field.article_content = ue.getContent();
if(repeat_flag) return;
repeat_flag = true;
$.ajax({
type: 'POST',
dataType: 'JSON',
url: ns.url("shop/article/edit"),
data: field,
async: false,
success: function(res){
repeat_flag = false;
if (res.code == 0) {
layer.confirm('编辑成功', {
title:'操作提示',
btn: ['返回列表', '继续编辑'],
yes: function(index, layero){
if(field.status == 1){
location.hash = ns.hash("shop/article/lists");
}else{
location.hash = ns.hash("shop/article/drafts");
}
layer.close(index);
},
btn2: function(index, layero) {
layer.close(index);
}
});
}else{
layer.msg(res.message);
}
}
})
}
function backArticleList() {
location.hash = ns.hash("shop/article/lists");
}
//检测数据类型
function detectionNumType(el, type) {
var value = $(el).val();
//大于零 且 不是小数
if (value < 0 && type == 'integral')
$(el).val(0);
else if (type == 'integral')
$(el).val(Math.round(value));
//大于1 且 不是小数
if (value < 1 && type == 'positiveInteger')
$(el).val(1);
else if (type == 'positiveInteger')
$(el).val(Math.round(value));
//大于零可以是小数
if (type == 'positiveNumber') {
value = parseFloat(value).toFixed(2);
if (value < 0)
$(el).val(0);
else
$(el).val(value);
}
}
</script>

188
app/shop/view/article/lists.html Executable file
View File

@@ -0,0 +1,188 @@
<!-- 搜索框 -->
<div class="single-filter-box">
<button class="layui-btn" onclick="add()">添加文章</button>
<div class="layui-form">
<div class="layui-input-inline">
<input type="text" name="search_text" placeholder="请输入文章标题" autocomplete="off" class="layui-input">
<button type="button" class="layui-btn layui-btn-primary" lay-filter="search" lay-submit>
<i class="layui-icon">&#xe615;</i>
</button>
</div>
</div>
</div>
<!-- 列表 -->
<table id="article_list" lay-filter="article_list"></table>
<!-- 操作 -->
<script type="text/html" id="operation">
<div class="table-btn">
<a class="layui-btn" lay-event="promote">推广</a>
<a class="layui-btn" lay-event="edit">编辑</a>
<a class="layui-btn" lay-event="delete">删除</a>
</div>
</script>
<script type="text/html" id="sort">
<input name="sort" type="number" onchange="editSort({{d.article_id}},this)" value="{{d.sort}}" placeholder="请输入排序" class="layui-input edit-sort len-short">
</script>
<!-- 推广 -->
{include file="app/shop/view/component/promote_show.html"}
<script>
var form,laytpl,table, repeat_flag = false;//防重复标识;
layui.use(['form','laytpl'], function() {
form = layui.form;
laytpl = layui.laytpl;
form.render();
table = new Table({
elem: '#article_list',
url: ns.url("shop/article/lists"),
cols: [
[ {
field: 'article_title',
title: '文章标题',
width: '30%',
unresize: 'false'
}, {
field: 'category_name',
title: '文章分类',
width: '20%',
unresize: 'false'
},{
field: 'sort',
title: '排序',
width: '15%',
sort : true,
unresize: 'false',
templet: '#sort'
}, {
field: 'create_time',
title: '创建时间',
width: '20%',
unresize: 'false',
templet: function (data) {
return ns.time_to_date(data.create_time);
}
}, {
title: '操作',
toolbar: '#operation',
unresize: 'false',
align : 'right'
}]
],
});
/**
* 搜索功能
*/
form.on('submit(search)', function(data) {
table.reload({
page: {
curr: 1
},
where: data.field
});
});
table.on("sort",function (obj) {
table.reload({
page: {
curr: 1
},
where: {
order:obj.field,
sort:obj.type
}
});
});
/**
* 监听工具栏操作
*/
table.tool(function(obj) {
var data = obj.data;
switch (obj.event) {
case 'promote': // 推广
promote(data);
break;
case 'edit': //编辑
location.hash = ns.hash("shop/article/edit?article_id=" + data.article_id);
break;
case 'delete': //删除
deleteArticle(data.article_id);
break;
}
});
});
/**
* 删除
*/
function deleteArticle(article_id) {
if (repeat_flag) return false;
repeat_flag = true;
layer.confirm('确定要删除该文章内容吗?', function (index) {
layer.close(index);
$.ajax({
url: ns.url("shop/article/delete"),
data: {article_id},
dataType: 'JSON',
type: 'POST',
success: function (res) {
layer.msg(res.message);
repeat_flag = false;
if (res.code == 0) {
table.reload();
}
}
});
},
function () {
repeat_flag = false;
layer.close();
});
}
// 监听单元格编辑
function editSort(article_id, event) {
var data = $(event).val();
if (!new RegExp("^-?[1-9]\\d*$").test(data)) {
layer.msg("排序号只能是整数");
return;
}
if(data < 0){
layer.msg("排序号必须大于0");
return ;
}
$.ajax({
type: 'POST',
url: ns.url("shop/article/modifySort"),
data: {
sort: data,
article_id: article_id
},
dataType: 'JSON',
success: function(res) {
layer.msg(res.message);
if (res.code == 0) {
listenerHash(); // 刷新页面
}
}
});
}
function promote(data){
new PromoteShow({
url:ns.url("shop/article/promote"),
param:{article_id:data.article_id},
})
}
function add() {
location.hash = ns.hash("shop/article/add");
}
</script>