diff --git a/README.md b/README.md index 375ae3c9..febe6743 100755 --- a/README.md +++ b/README.md @@ -6,6 +6,13 @@ 生产环境建议Linux+Nginx+php+mysql 建议PHP7+ +## 在线预览 + +demo: http://www.sentcms.com/ + +账号:admin +密码:admin888 + ## 安装 为了保证系统的安全性,系统根目录移至public目录下,把程序和逻辑代码放到根目录以外。在配置网站时,把网站根目录指向web目录下,然后通过composer把所需的扩展类库更新,包括thinkphp框架同样通过composer进行更新。 diff --git a/app/controller/admin/Form.php b/app/controller/admin/Form.php index fa426454..4c5e81d6 100644 --- a/app/controller/admin/Form.php +++ b/app/controller/admin/Form.php @@ -276,7 +276,7 @@ class Form extends Base { * @author K先森 <77413254@qq.com> */ public function status() { - $id = $this->getArrayParam('id'); + $id = $this->request->param('form_id', 0); $status = input('status', '0', 'trim,intval'); if (!$id) { @@ -284,7 +284,7 @@ class Form extends Base { } $map['id'] = array('IN', $id); - $result = db('form')->where($map)->setField('status', $status); + $result = FormM::where($map)->update(['status'=>$status]); if ($result) { return $this->success("设置成功!"); } else { diff --git a/app/model/Model.php b/app/model/Model.php index c74badcc..3f91e238 100644 --- a/app/model/Model.php +++ b/app/model/Model.php @@ -41,7 +41,7 @@ class Model extends \think\Model { 'title' => ['name' => 'title', 'title' => '标题', 'type' => 'text', 'length' => 200, 'extra' => '', 'remark' => '标题', 'is_show' => 1, 'is_must' => 1, 'value' => ''], 'category_id' => ['name' => 'category_id', 'title' => '栏目', 'type' => 'bind', 'length' => 10, 'extra' => 'category:tree', 'remark' => '栏目', 'is_show' => 1, 'is_must' => 1, 'value' => '0'], 'uid' => ['name' => 'uid', 'title' => '用户UID', 'type' => 'num', 'length' => 11, 'extra' => '', 'remark' => '用户UID', 'is_show' => 0, 'is_must' => 1, 'value' => '0'], - 'cover_id' => ['name' => 'cover_id', 'title' => '内容封面', 'type' => 'image', 'length' => 10, 'extra' => '', 'remark' => '内容封面', 'is_show' => 1, 'is_must' => 0, 'value' => ''], + 'cover_id' => ['name' => 'cover_id', 'title' => '内容封面', 'type' => 'image', 'length' => 10, 'extra' => '', 'remark' => '内容封面', 'is_show' => 1, 'is_must' => 0, 'value' => '0'], 'description' => ['name' => 'description', 'title' => '内容描述', 'type' => 'textarea', 'length' => '', 'extra' => '', 'remark' => '内容描述', 'is_show' => 1, 'is_must' => 0, 'value' => ''], 'content' => ['name' => 'content', 'title' => '内容', 'type' => 'editor', 'length' => '', 'extra' => '', 'remark' => '内容', 'is_show' => 1, 'is_must' => 0, 'value' => ''], 'status' => ['name' => 'status', 'title' => '数据状态', 'type' => 'select', 'length' => 2, 'extra' => "-1:删除\r\n0:禁用\r\n1:正常\r\n2:待审核\r\n3:草稿", 'remark' => '数据状态', 'is_show' => 1, 'is_must' => 1, 'value' => '1'], diff --git a/public/install.php b/public/install.php index b2b79bf2..fbbb6ee0 100644 --- a/public/install.php +++ b/public/install.php @@ -676,11 +676,11 @@ function show_msg($msg, $class = 'primary'){ ob_flush(); } -function session($name, $value = false){ +function session($name, $value = ''){ if ($name == '') { return false; } - if (false !== $value) { + if ('' !== $value) { $_SESSION[$name] = $value; }else{ return isset($_SESSION[$name]) ? $_SESSION[$name] : false; diff --git a/public/static/admin/js/main.js b/public/static/admin/js/main.js index e55ea507..3b7dd5d2 100644 --- a/public/static/admin/js/main.js +++ b/public/static/admin/js/main.js @@ -26,7 +26,7 @@ require.config({ paths: { 'sent': ['common/js/sent'], 'form': ['common/js/require-form'], - 'xlsx': ['common/js/require-xlsx'], + 'xlsxs': ['common/js/require-xlsx'], 'upload': 'common/js/require-upload', 'validator': 'common/js/require-validator', 'message': ['plugins/messager/messager'], @@ -70,7 +70,7 @@ require.config({ // nanoscroller 'slimscroll': 'plugins/jquery-slimscroll/jquery.slimscroll', - 'sheetjs': ['plugins/sheetjs/xlsx.full.min'] + 'xlsx': ['plugins/sheetjs/xlsx.full.min'] }, shim: { 'message': {deps: ['jquery', 'css!'+'plugins/messager/css/style.css']}, diff --git a/public/static/admin/js/module/form.js b/public/static/admin/js/module/form.js index 033aaef9..a225e72e 100644 --- a/public/static/admin/js/module/form.js +++ b/public/static/admin/js/module/form.js @@ -1,15 +1,43 @@ -define(['jquery', 'sent', 'form', 'xlsx', 'sheetjs'], function($, sent, form, xlsx, xlsx2){ +define(['jquery', 'sent', 'form', 'xlsxs'], function($, sent, form, xlsxs){ + + var outList = []; var formModule = { lists: function(){ - console.log('xlsx2') if($('.btn-out').size() > 0){ $('.btn-out').click(function(e){ e.preventDefault(); var url = $(this).attr('href'); - console.log(xlsx) + formModule.outXlsx(url) }) } + }, + outXlsx: function (url, page = 1){ + var data = $('form').serialize(); + var pagesize = $('select.pagesize').val() || 30; + data = data + '&out=1&pagesize='+pagesize+'&page='+page + $.ajax({ + url: url, + data: data, + type: 'get', + beforeSend: function(){ + sent.msg('正在导出第'+page+'页,请耐心等待,不要关闭浏览器'); + }, + error: function(){ + sent.msg('导出失败!'); + }, + success:function(res){ + outList = outList.concat(res.data); + if (res.last_page > page) { + formModule.outXlsx(url, page+1) + }else{ + xlsxs.downloadExl(outList,res.file_name); + sent.msg('导出完成!'); + setTimeout(function(){}, 3000); + } + }, + dataType: 'json' + }) } }; diff --git a/public/static/common/js/require-xlsx.js b/public/static/common/js/require-xlsx.js index 31b2d792..be900a3c 100644 --- a/public/static/common/js/require-xlsx.js +++ b/public/static/common/js/require-xlsx.js @@ -1,5 +1,4 @@ -define(['jquery', 'sheetjs'], function($, XLSX) { - +define(['jquery', 'xlsx'], function($, xlsx) { // var wopts = { bookType: 'csv', bookSST: false, type: 'binary' };//ods格式 var wopts = { bookType: 'xlsx', bookSST: false, type: 'binary' };//这里的数据是用来定义导出的格式类型 // var wopts = { bookType: 'ods', bookSST: false, type: 'binary' };//ods格式 @@ -10,8 +9,8 @@ define(['jquery', 'sheetjs'], function($, XLSX) { var xls = { downloadExl: function (data, fileName) { var wb = { SheetNames: ['Sheet1'], Sheets: {}, Props: {} }; - wb.Sheets['Sheet1'] = sheetjs.utils.json_to_sheet(data);//通过json_to_sheet转成单页(Sheet)数据 - this.saveAs(new Blob([this.s2ab(sheetjs.write(wb, wopts))], { type: "application/octet-stream" }), fileName + '.' + (wopts.bookType=="biff2"?"xls":wopts.bookType)); + wb.Sheets['Sheet1'] = xlsx.utils.json_to_sheet(data);//通过json_to_sheet转成单页(Sheet)数据 + this.saveAs(new Blob([this.s2ab(xlsx.write(wb, wopts))], { type: "application/octet-stream" }), fileName + '.' + (wopts.bookType=="biff2"?"xls":wopts.bookType)); }, //如果使用 FileSaver.js 就不要同时使用以下函数 @@ -40,7 +39,7 @@ define(['jquery', 'sheetjs'], function($, XLSX) { } } }; - console.log(XLSX); + window.xls = xls; return xls; }); \ No newline at end of file diff --git a/runtime/sql/install.sql b/runtime/sql/install.sql old mode 100644 new mode 100755 diff --git a/vendor/.gitignore b/vendor/.gitignore index c96a04f0..a3a0c8b5 100755 --- a/vendor/.gitignore +++ b/vendor/.gitignore @@ -1,2 +1,2 @@ -* +* !.gitignore \ No newline at end of file diff --git a/view/admin/model/index.html b/view/admin/model/index.html index c37f4bd2..25c53b28 100644 --- a/view/admin/model/index.html +++ b/view/admin/model/index.html @@ -51,7 +51,11 @@ {$item['status'] ? '禁用' : '启用'} 编辑 删除 - 数据 + {if $item['status']} + 数据 + {else} + 数据 + {/if} {/volist} diff --git a/view/admin/user/index.html b/view/admin/user/index.html index 7966d685..99bdb116 100644 --- a/view/admin/user/index.html +++ b/view/admin/user/index.html @@ -68,9 +68,9 @@ {/if} - 编辑 - 授权 - 删除 + 编辑 + 授权 + 删除 {/volist}