正在显示
10 个修改的文件
包含
500 行增加
和
4 行删除
@@ -36,11 +36,11 @@ class AdminSeriesTypeController extends AdminBaseController | @@ -36,11 +36,11 @@ class AdminSeriesTypeController extends AdminBaseController | ||
36 | //获取列表数据 | 36 | //获取列表数据 |
37 | public static function getList(){ | 37 | public static function getList(){ |
38 | $parent_res = Db::name('type') | 38 | $parent_res = Db::name('type') |
39 | - ->where(['type'=>0,'pid'=>0]) | 39 | + ->where(['pid'=>0]) |
40 | ->select() | 40 | ->select() |
41 | ->toArray(); | 41 | ->toArray(); |
42 | $res = Db::name('type') | 42 | $res = Db::name('type') |
43 | - ->where(['type'=>0,'pid'=>['<>',0]]) | 43 | + ->where(['pid'=>['<>',0]]) |
44 | ->select() | 44 | ->select() |
45 | ->toArray(); | 45 | ->toArray(); |
46 | foreach($parent_res as &$value){ | 46 | foreach($parent_res as &$value){ |
@@ -60,7 +60,7 @@ class AdminSeriesTypeController extends AdminBaseController | @@ -60,7 +60,7 @@ class AdminSeriesTypeController extends AdminBaseController | ||
60 | //添加页面 | 60 | //添加页面 |
61 | public function add(){ | 61 | public function add(){ |
62 | $selectCategory = Db::name('type') | 62 | $selectCategory = Db::name('type') |
63 | - ->where(['type'=>0,'pid'=>0]) | 63 | + ->where(['pid'=>0]) |
64 | ->field('id,name') | 64 | ->field('id,name') |
65 | ->select() | 65 | ->select() |
66 | ->toArray(); | 66 | ->toArray(); |
@@ -85,7 +85,7 @@ class AdminSeriesTypeController extends AdminBaseController | @@ -85,7 +85,7 @@ class AdminSeriesTypeController extends AdminBaseController | ||
85 | $id = $this->request->param('id'); | 85 | $id = $this->request->param('id'); |
86 | //分类 | 86 | //分类 |
87 | $selectCategory = Db::name('type') | 87 | $selectCategory = Db::name('type') |
88 | - ->where(['type'=>0,'pid'=>0]) | 88 | + ->where(['pid'=>0]) |
89 | ->field('id,name') | 89 | ->field('id,name') |
90 | ->select() | 90 | ->select() |
91 | ->toArray(); | 91 | ->toArray(); |
1 | +<?php | ||
2 | +// +---------------------------------------------------------------------- | ||
3 | +// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] | ||
4 | +// +---------------------------------------------------------------------- | ||
5 | +// | Copyright (c) 2013-2019 http://www.thinkcmf.com All rights reserved. | ||
6 | +// +---------------------------------------------------------------------- | ||
7 | +// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) | ||
8 | +// +---------------------------------------------------------------------- | ||
9 | +// | Author: 小夏 < 449134904@qq.com> | ||
10 | +// +---------------------------------------------------------------------- | ||
11 | +namespace app\portal\controller; | ||
12 | + | ||
13 | +use app\portal\model\ServiceModel; | ||
14 | +use cmf\controller\AdminBaseController; | ||
15 | +use think\Db; | ||
16 | +use app\portal\model\PortalPostModel; | ||
17 | + | ||
18 | +class AdminServiceController extends AdminBaseController | ||
19 | +{ | ||
20 | + //主要服务分类 | ||
21 | + | ||
22 | + | ||
23 | + //列表 | ||
24 | + public function index(){ | ||
25 | + $list = Db::name('service') | ||
26 | + ->select() | ||
27 | + ->toArray(); | ||
28 | + $this->assign('list',$list); | ||
29 | + return $this->fetch(); | ||
30 | + } | ||
31 | + | ||
32 | + //添加页面 | ||
33 | + public function add(){ | ||
34 | + return $this->fetch(); | ||
35 | + } | ||
36 | + | ||
37 | + //添加提交 | ||
38 | + public function addPost(){ | ||
39 | + $data = $this->request->param(); | ||
40 | + $result = $this->validate($data,'AdminService.edit'); | ||
41 | + if($result !== true){ | ||
42 | + $this->error($result); | ||
43 | + } | ||
44 | + | ||
45 | + $serviceModel = new ServiceModel(); | ||
46 | + $res = $serviceModel->create($data); | ||
47 | + if($res){ | ||
48 | + $this->success('添加成功!', url('AdminService/index')); | ||
49 | + }else{ | ||
50 | + $this->error('失败'); | ||
51 | + } | ||
52 | + } | ||
53 | + | ||
54 | + //编辑页面 | ||
55 | + public function edit(){ | ||
56 | + $id = $this->request->param('id'); | ||
57 | + //内容 | ||
58 | + $post = Db::name('service') | ||
59 | + ->where(['id'=>$id]) | ||
60 | + ->find(); | ||
61 | + $contentModel = new PortalPostModel(); | ||
62 | + $post['detail'] = $contentModel->getPostContentAttr($post['detail']); | ||
63 | + $post['detail_en'] = $contentModel->getPostContentAttr($post['detail_en']); | ||
64 | + $this->assign('post',$post); | ||
65 | + return $this->fetch(); | ||
66 | + } | ||
67 | + | ||
68 | + //编辑提交 | ||
69 | + public function editPost(){ | ||
70 | + $data = $this->request->param(); | ||
71 | + $result = $this->validate($data,'AdminService.edit'); | ||
72 | + if($result !== true){ | ||
73 | + $this->error($result); | ||
74 | + } | ||
75 | + | ||
76 | + $serviceModel = new ServiceModel(); | ||
77 | + $contentModel = new PortalPostModel(); | ||
78 | + $data['detail'] = $contentModel->setPostContentAttr($data['detail']); | ||
79 | + $data['detail_en'] = $contentModel->setPostContentAttr($data['detail_en']); | ||
80 | + // 显式指定更新数据操作 | ||
81 | + $res = $serviceModel->isUpdate(true)->save($data); | ||
82 | + if($res){ | ||
83 | + $this->success('保存成功!', url('AdminService/index')); | ||
84 | + }else{ | ||
85 | + $this->error('失败'); | ||
86 | + } | ||
87 | + } | ||
88 | + | ||
89 | + //删除 | ||
90 | + public function delete(){ | ||
91 | + $id = $this->request->param('id'); | ||
92 | + $serviceModel = new ServiceModel(); | ||
93 | + $res = $serviceModel->where(['id'=>$id])->delete(); | ||
94 | + if($res){ | ||
95 | + $this->success('删除成功!'); | ||
96 | + }else{ | ||
97 | + $this->error('失败'); | ||
98 | + } | ||
99 | + } | ||
100 | +} |
app/portal/model/ServiceModel.php
0 → 100644
1 | +<?php | ||
2 | +// +---------------------------------------------------------------------- | ||
3 | +// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] | ||
4 | +// +---------------------------------------------------------------------- | ||
5 | +// | Copyright (c) 2013-2019 http://www.thinkcmf.com All rights reserved. | ||
6 | +// +---------------------------------------------------------------------- | ||
7 | +// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) | ||
8 | +// +---------------------------------------------------------------------- | ||
9 | +// | Author: 老猫 <thinkcmf@126.com> | ||
10 | +// +---------------------------------------------------------------------- | ||
11 | +namespace app\portal\model; | ||
12 | + | ||
13 | +use think\Model; | ||
14 | + | ||
15 | +class ServiceModel extends Model | ||
16 | +{ | ||
17 | + protected $autoWriteTimestamp = true; | ||
18 | +} |
app/portal/validate/AdminServiceValidate.php
0 → 100644
1 | +<?php | ||
2 | +// +---------------------------------------------------------------------- | ||
3 | +// | ThinkCMF [ WE CAN DO IT MORE SIMPLE ] | ||
4 | +// +---------------------------------------------------------------------- | ||
5 | +// | Copyright (c) 2013-2019 http://www.thinkcmf.com All rights reserved. | ||
6 | +// +---------------------------------------------------------------------- | ||
7 | +// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 ) | ||
8 | +// +---------------------------------------------------------------------- | ||
9 | +// | Author: 老猫 <thinkcmf@126.com> | ||
10 | +// +---------------------------------------------------------------------- | ||
11 | +namespace app\portal\validate; | ||
12 | + | ||
13 | +use think\Validate; | ||
14 | + | ||
15 | +class AdminServiceValidate extends Validate | ||
16 | +{ | ||
17 | + protected $rule = [ | ||
18 | + 'name' => 'require|max:80', | ||
19 | + 'name_en' => 'require|max:80', | ||
20 | + 'detail' => 'require', | ||
21 | + 'detail_en' => 'require', | ||
22 | + ]; | ||
23 | + | ||
24 | + protected $message = [ | ||
25 | + 'name.require' => '分类名称不能为空', | ||
26 | + 'name.max' => '分类名称不能超过80个字符', | ||
27 | + 'name_en.require' => '分类名称(英文)不能为空', | ||
28 | + 'name_en.max' => '分类名称(英文)不能超过80个字符', | ||
29 | + 'detail.require' => '详情不能为空', | ||
30 | + 'detail_en.require' => '详情(英文)不能为空', | ||
31 | + ]; | ||
32 | + | ||
33 | + protected $scene = [ | ||
34 | + 'edit' => ['name','name_en','detail','detail_en'], | ||
35 | + ]; | ||
36 | +} |
@@ -68,6 +68,27 @@ | @@ -68,6 +68,27 @@ | ||
68 | </div> | 68 | </div> |
69 | </div> | 69 | </div> |
70 | </div> | 70 | </div> |
71 | + | ||
72 | + <div class="col-md-3"> | ||
73 | + <table class="table table-bordered"> | ||
74 | + <tr> | ||
75 | + <th>分类图片</th> | ||
76 | + </tr> | ||
77 | + <tr> | ||
78 | + <td> | ||
79 | + <div style="text-align: center;"> | ||
80 | + <input type="hidden" name="thumbnail" id="thumbnail"> | ||
81 | + <a href="javascript:uploadOneImage('图片上传','#thumbnail');"> | ||
82 | + <img src="__TMPL__/public/assets/images/default-thumbnail.png" | ||
83 | + id="thumbnail-preview" | ||
84 | + width="135" style="cursor: pointer"/> | ||
85 | + </a> | ||
86 | + <input type="button" class="btn btn-sm btn-cancel-thumbnail" value="取消图片"> | ||
87 | + </div> | ||
88 | + </td> | ||
89 | + </tr> | ||
90 | + </table> | ||
91 | + </div> | ||
71 | </div> | 92 | </div> |
72 | </form> | 93 | </form> |
73 | </div> | 94 | </div> |
@@ -63,6 +63,28 @@ | @@ -63,6 +63,28 @@ | ||
63 | </tr> | 63 | </tr> |
64 | </table> | 64 | </table> |
65 | </div> | 65 | </div> |
66 | + <div class="col-md-3"> | ||
67 | + <table class="table table-bordered"> | ||
68 | + <tr> | ||
69 | + <th>分类图片</th> | ||
70 | + </tr> | ||
71 | + <tr> | ||
72 | + <td> | ||
73 | + <div style="text-align: center;"> | ||
74 | + <input type="hidden" name="thumbnail" id="thumbnail" value="{$post.thumbnail|default=''}"> | ||
75 | + <a href="javascript:uploadOneImage('图片上传','#thumbnail');"> | ||
76 | + <if condition="empty($post.thumbnail)"> | ||
77 | + <img src="__TMPL__/public/assets/images/default-thumbnail.png" id="thumbnail-preview" width="135" style="cursor: pointer"/> | ||
78 | + <else/> | ||
79 | + <img src="{:cmf_get_image_preview_url($post.thumbnail)}" id="thumbnail-preview" width="135" style="cursor: pointer"/> | ||
80 | + </if> | ||
81 | + </a> | ||
82 | + <input type="button" class="btn btn-sm btn-cancel-thumbnail" value="取消图片"> | ||
83 | + </div> | ||
84 | + </td> | ||
85 | + </tr> | ||
86 | + </table> | ||
87 | + </div> | ||
66 | </div> | 88 | </div> |
67 | <div class="form-group"> | 89 | <div class="form-group"> |
68 | <div class="col-sm-offset-2 col-sm-10"> | 90 | <div class="col-sm-offset-2 col-sm-10"> |
@@ -31,6 +31,7 @@ | @@ -31,6 +31,7 @@ | ||
31 | </th> | 31 | </th> |
32 | <th width="80">ID</th> | 32 | <th width="80">ID</th> |
33 | <th>分类名称</th> | 33 | <th>分类名称</th> |
34 | + <th>分类图片</th> | ||
34 | <th>创建时间</th> | 35 | <th>创建时间</th> |
35 | <th>操作</th> | 36 | <th>操作</th> |
36 | </tr> | 37 | </tr> |
@@ -46,6 +47,15 @@ | @@ -46,6 +47,15 @@ | ||
46 | {$vo.name} | 47 | {$vo.name} |
47 | </td> | 48 | </td> |
48 | <td> | 49 | <td> |
50 | + <notempty name="vo.thumbnail"> | ||
51 | + <a href="javascript:parent.imagePreviewDialog('{:cmf_get_image_preview_url($vo.thumbnail)}');"> | ||
52 | + <i class="fa fa-photo fa-fw"></i> | ||
53 | + </a> | ||
54 | + <else/> | ||
55 | + <i class="fa fa-close fa-fw"></i> | ||
56 | + </notempty> | ||
57 | + </td> | ||
58 | + <td> | ||
49 | {:date('Y-m-d H:i:s',$vo['create_time'])} | 59 | {:date('Y-m-d H:i:s',$vo['create_time'])} |
50 | </td> | 60 | </td> |
51 | <td> | 61 | <td> |
@@ -65,6 +75,15 @@ | @@ -65,6 +75,15 @@ | ||
65 | {$voo.name} | 75 | {$voo.name} |
66 | </td> | 76 | </td> |
67 | <td> | 77 | <td> |
78 | + <notempty name="voo.thumbnail"> | ||
79 | + <a href="javascript:parent.imagePreviewDialog('{:cmf_get_image_preview_url($voo.thumbnail)}');"> | ||
80 | + <i class="fa fa-photo fa-fw"></i> | ||
81 | + </a> | ||
82 | + <else/> | ||
83 | + <i class="fa fa-close fa-fw"></i> | ||
84 | + </notempty> | ||
85 | + </td> | ||
86 | + <td> | ||
68 | {:date('Y-m-d H:i:s',$voo['create_time'])} | 87 | {:date('Y-m-d H:i:s',$voo['create_time'])} |
69 | </td> | 88 | </td> |
70 | <td> | 89 | <td> |
1 | +<include file="public@header"/> | ||
2 | +<style type="text/css"> | ||
3 | + .pic-list li { | ||
4 | + margin-bottom: 5px; | ||
5 | + } | ||
6 | +</style> | ||
7 | +<script type="text/html" id="photos-item-tpl"> | ||
8 | + <li id="saved-image{id}"> | ||
9 | + <input id="photo-{id}" type="hidden" name="photo_urls[]" value="{filepath}"> | ||
10 | + <input class="form-control" id="photo-{id}-name" type="text" name="photo_names[]" value="{name}" | ||
11 | + style="width: 200px;" title="图片名称"> | ||
12 | + <img id="photo-{id}-preview" src="{url}" style="height:36px;width: 36px;" | ||
13 | + onclick="imagePreviewDialog(this.src);"> | ||
14 | + <a href="javascript:uploadOneImage('图片上传','#photo-{id}');">替换</a> | ||
15 | + <a href="javascript:(function(){$('#saved-image{id}').remove();})();">移除</a> | ||
16 | + </li> | ||
17 | +</script> | ||
18 | +<script type="text/html" id="files-item-tpl"> | ||
19 | + <li id="saved-file{id}"> | ||
20 | + <input id="file-{id}" type="hidden" name="file_urls[]" value="{filepath}"> | ||
21 | + <input class="form-control" id="file-{id}-name" type="text" name="file_names[]" value="{name}" | ||
22 | + style="width: 200px;" title="文件名称"> | ||
23 | + <a id="file-{id}-preview" href="{preview_url}" target="_blank">下载</a> | ||
24 | + <a href="javascript:uploadOne('文件上传','#file-{id}','file');">替换</a> | ||
25 | + <a href="javascript:(function(){$('#saved-file{id}').remove();})();">移除</a> | ||
26 | + </li> | ||
27 | +</script> | ||
28 | +</head> | ||
29 | +<body> | ||
30 | +<div class="wrap js-check-wrap"> | ||
31 | + <ul class="nav nav-tabs"> | ||
32 | + <li><a href="{:url('AdminService/index')}">主要服务列表</a></li> | ||
33 | + <li class="active"><a href="#">添加主要服务</a></li> | ||
34 | + </ul> | ||
35 | + <form action="{:url('AdminService/addPost')}" method="post" class="form-horizontal js-ajax-form margin-top-20"> | ||
36 | + <div class="row"> | ||
37 | + <div class="col-md-9"> | ||
38 | + <table class="table table-bordered"> | ||
39 | + <tr> | ||
40 | + <th width="150">分类名称<span class="form-required">*</span></th> | ||
41 | + <td> | ||
42 | + <input class="form-control" type="text" name="name" required placeholder="请输入分类名称"/> | ||
43 | + </td> | ||
44 | + </tr> | ||
45 | + <tr> | ||
46 | + <th>分类名称(英文)<span class="form-required">*</span></th> | ||
47 | + <td> | ||
48 | + <input class="form-control" type="text" name="name_en" required placeholder="请输入分类名称(英文)"/> | ||
49 | + </td> | ||
50 | + </tr> | ||
51 | + <tr> | ||
52 | + <th>详情<span class="form-required">*</span></th> | ||
53 | + <td> | ||
54 | + <script type="text/plain" id="content" name="detail"></script> | ||
55 | + </td> | ||
56 | + </tr> | ||
57 | + <tr> | ||
58 | + <th>详情(英文)<span class="form-required">*</span></th> | ||
59 | + <td> | ||
60 | + <script type="text/plain" id="content_en" name="detail_en"></script> | ||
61 | + </td> | ||
62 | + </tr> | ||
63 | + </table> | ||
64 | + <div class="form-group"> | ||
65 | + <div class="col-sm-offset-2 col-sm-10"> | ||
66 | + <button type="submit" class="btn btn-primary js-ajax-submit">{:lang('ADD')}</button> | ||
67 | + <a class="btn btn-default" href="{:url('AdminService/index')}">{:lang('BACK')}</a> | ||
68 | + </div> | ||
69 | + </div> | ||
70 | + </div> | ||
71 | + </div> | ||
72 | + </form> | ||
73 | +</div> | ||
74 | +<script type="text/javascript" src="__STATIC__/js/admin.js"></script> | ||
75 | +<script type="text/javascript"> | ||
76 | + //编辑器路径定义 | ||
77 | + var editorURL = GV.WEB_ROOT; | ||
78 | +</script> | ||
79 | +<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script> | ||
80 | +<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script> | ||
81 | +<script type="text/javascript"> | ||
82 | + $(function () { | ||
83 | + | ||
84 | + editorcontent = new baidu.editor.ui.Editor(); | ||
85 | + editorcontent.render('content'); | ||
86 | + try { | ||
87 | + editorcontent.sync(); | ||
88 | + } catch (err) { | ||
89 | + } | ||
90 | + | ||
91 | + editorcontent = new baidu.editor.ui.Editor(); | ||
92 | + editorcontent.render('content_en'); | ||
93 | + try { | ||
94 | + editorcontent.sync(); | ||
95 | + } catch (err) { | ||
96 | + } | ||
97 | + | ||
98 | + $('.btn-cancel-thumbnail').click(function () { | ||
99 | + $('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png'); | ||
100 | + $('#thumbnail').val(''); | ||
101 | + }); | ||
102 | + | ||
103 | + }); | ||
104 | +</script> | ||
105 | +</body> | ||
106 | +</html> |
1 | +<include file="public@header"/> | ||
2 | +<style type="text/css"> | ||
3 | + .pic-list li { | ||
4 | + margin-bottom: 5px; | ||
5 | + } | ||
6 | +</style> | ||
7 | +<script type="text/html" id="photos-item-tpl"> | ||
8 | + <li id="saved-image{id}"> | ||
9 | + <input id="photo-{id}" type="hidden" name="photo_urls[]" value="{filepath}"> | ||
10 | + <input class="form-control" id="photo-{id}-name" type="text" name="photo_names[]" value="{name}" | ||
11 | + style="width: 200px;" title="图片名称"> | ||
12 | + <img id="photo-{id}-preview" src="{url}" style="height:36px;width: 36px;" | ||
13 | + onclick="imagePreviewDialog(this.src);"> | ||
14 | + <a href="javascript:uploadOneImage('图片上传','#photo-{id}');">替换</a> | ||
15 | + <a href="javascript:(function(){$('#saved-image{id}').remove();})();">移除</a> | ||
16 | + </li> | ||
17 | +</script> | ||
18 | +<script type="text/html" id="files-item-tpl"> | ||
19 | + <li id="saved-file{id}"> | ||
20 | + <input id="file-{id}" type="hidden" name="file_urls[]" value="{filepath}"> | ||
21 | + <input class="form-control" id="file-{id}-name" type="text" name="file_names[]" value="{name}" | ||
22 | + style="width: 200px;" title="文件名称"> | ||
23 | + <a id="file-{id}-preview" href="{preview_url}" target="_blank">下载</a> | ||
24 | + <a href="javascript:uploadOne('文件上传','#file-{id}','file');">替换</a> | ||
25 | + <a href="javascript:(function(){$('#saved-file{id}').remove();})();">移除</a> | ||
26 | + </li> | ||
27 | +</script> | ||
28 | +</head> | ||
29 | +<body> | ||
30 | +<div class="wrap js-check-wrap"> | ||
31 | + <ul class="nav nav-tabs"> | ||
32 | + <li><a href="{:url('AdminService/index')}">主要服务列表</a></li> | ||
33 | + <li class="active"><a href="#">编辑主要服务</a></li> | ||
34 | + </ul> | ||
35 | + <form action="{:url('AdminService/editPost')}" method="post" class="form-horizontal js-ajax-form margin-top-20"> | ||
36 | + <div class="row"> | ||
37 | + <div class="col-md-9"> | ||
38 | + <table class="table table-bordered"> | ||
39 | + <tr> | ||
40 | + <th width="150">分类名称<span class="form-required">*</span></th> | ||
41 | + <td> | ||
42 | + <input type="hidden" name="id" required value="{$post.id}"/> | ||
43 | + <input class="form-control" type="text" name="name" required placeholder="请输入分类名称" value="{$post.name}"/> | ||
44 | + </td> | ||
45 | + </tr> | ||
46 | + <tr> | ||
47 | + <th>分类名称(英文)<span class="form-required">*</span></th> | ||
48 | + <td> | ||
49 | + <input class="form-control" type="text" name="name_en" required placeholder="请输入分类名称(英文)" value="{$post.name_en}"/> | ||
50 | + </td> | ||
51 | + </tr> | ||
52 | + <tr> | ||
53 | + <th>详情<span class="form-required">*</span></th> | ||
54 | + <td> | ||
55 | + <script type="text/plain" id="content" name="detail">{$post.detail}</script> | ||
56 | + </td> | ||
57 | + </tr> | ||
58 | + <tr> | ||
59 | + <th>详情(英文)<span class="form-required">*</span></th> | ||
60 | + <td> | ||
61 | + <script type="text/plain" id="content_en" name="detail_en">{$post.detail_en}</script> | ||
62 | + </td> | ||
63 | + </tr> | ||
64 | + </table> | ||
65 | + </div> | ||
66 | + </div> | ||
67 | + <div class="form-group"> | ||
68 | + <div class="col-sm-offset-2 col-sm-10"> | ||
69 | + <button type="submit" class="btn btn-primary js-ajax-submit">{:lang('SAVE')}</button> | ||
70 | + <a class="btn btn-default" href="javascript:history.back(-1);">{:lang('BACK')}</a> | ||
71 | + </div> | ||
72 | + </div> | ||
73 | + </form> | ||
74 | +</div> | ||
75 | +<script type="text/javascript" src="__STATIC__/js/admin.js"></script> | ||
76 | +<script type="text/javascript"> | ||
77 | + //编辑器路径定义 | ||
78 | + var editorURL = GV.WEB_ROOT; | ||
79 | +</script> | ||
80 | +<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.config.js"></script> | ||
81 | +<script type="text/javascript" src="__STATIC__/js/ueditor/ueditor.all.min.js"></script> | ||
82 | +<script type="text/javascript"> | ||
83 | + $(function () { | ||
84 | + | ||
85 | + editorcontent = new baidu.editor.ui.Editor(); | ||
86 | + editorcontent.render('content'); | ||
87 | + try { | ||
88 | + editorcontent.sync(); | ||
89 | + } catch (err) { | ||
90 | + } | ||
91 | + | ||
92 | + editorcontent = new baidu.editor.ui.Editor(); | ||
93 | + editorcontent.render('content_en'); | ||
94 | + try { | ||
95 | + editorcontent.sync(); | ||
96 | + } catch (err) { | ||
97 | + } | ||
98 | + | ||
99 | + $('.btn-cancel-thumbnail').click(function () { | ||
100 | + $('#thumbnail-preview').attr('src', '__TMPL__/public/assets/images/default-thumbnail.png'); | ||
101 | + $('#thumbnail').val(''); | ||
102 | + }); | ||
103 | + }); | ||
104 | +</script> | ||
105 | +</body> | ||
106 | +</html> |
1 | +<include file="public@header"/> | ||
2 | +</head> | ||
3 | +<body> | ||
4 | +<div class="wrap js-check-wrap"> | ||
5 | + <ul class="nav nav-tabs"> | ||
6 | + <li class="active"><a href="javascript:;">主要服务列表</a></li> | ||
7 | + <li><a href="{:url('AdminService/add')}">添加主要服务</a></li> | ||
8 | + </ul> | ||
9 | + <form class="well form-inline margin-top-20" method="get" action="{:url('AdminService/index')}"> | ||
10 | + <!--时间:--> | ||
11 | + <!--<input type="text" class="form-control js-bootstrap-datetime" name="start_time"--> | ||
12 | + <!--value="{$start_time|default=''}"--> | ||
13 | + <!--style="width: 140px;" autocomplete="off">- --> | ||
14 | + <!--<input type="text" class="form-control js-bootstrap-datetime" name="end_time"--> | ||
15 | + <!--value="{$end_time|default=''}"--> | ||
16 | + <!--style="width: 140px;" autocomplete="off"> --> | ||
17 | + <!--关键字:--> | ||
18 | + <!--<input type="text" class="form-control" name="keyword" style="width: 200px;"--> | ||
19 | + <!--value="{$keyword|default=''}" placeholder="请输入关键字...">--> | ||
20 | + <!--<input type="submit" class="btn btn-primary" value="搜索"/>--> | ||
21 | + <!--<a class="btn btn-danger" href="{:url('AdminService/index')}">清空</a>--> | ||
22 | + </form> | ||
23 | + <form class="js-ajax-form" action="" method="post"> | ||
24 | + <table class="table table-hover table-bordered table-list"> | ||
25 | + <thead> | ||
26 | + <tr> | ||
27 | + <th width="50"> | ||
28 | + <label> | ||
29 | + <input type="checkbox" class="js-check-all" data-direction="x" data-checklist="js-check-x"> | ||
30 | + </label> | ||
31 | + </th> | ||
32 | + <th width="80">ID</th> | ||
33 | + <th>分类名称</th> | ||
34 | + <th>创建时间</th> | ||
35 | + <th>操作</th> | ||
36 | + </tr> | ||
37 | + </thead> | ||
38 | + <volist name="list" id="vo"> | ||
39 | + <tr> | ||
40 | + <td> | ||
41 | + <input type="checkbox" class="js-check" data-yid="js-check-y" data-xid="js-check-x" name="ids[]" | ||
42 | + value="{$vo.id}" title="ID:{$vo.id}"> | ||
43 | + </td> | ||
44 | + <td>{$vo.id}</td> | ||
45 | + <td> | ||
46 | + {$vo.name} | ||
47 | + </td> | ||
48 | + <td> | ||
49 | + {:date('Y-m-d H:i:s',$vo['create_time'])} | ||
50 | + </td> | ||
51 | + <td> | ||
52 | + <a class="btn btn-xs btn-primary" href="{:url('AdminService/edit',array('id'=>$vo['id']))}">{:lang('EDIT')}</a> | ||
53 | + <a class="btn btn-xs btn-danger js-ajax-delete" href="{:url('AdminService/delete',array('id'=>$vo['id']))}">{:lang('DELETE')}</a> | ||
54 | + </td> | ||
55 | + </tr> | ||
56 | + </volist> | ||
57 | + </table> | ||
58 | + </form> | ||
59 | +</div> | ||
60 | +<script src="__STATIC__/js/admin.js"></script> | ||
61 | +<script> | ||
62 | + | ||
63 | + function reloadPage(win) { | ||
64 | + win.location.reload(); | ||
65 | + } | ||
66 | +</script> | ||
67 | +</body> | ||
68 | +</html> |
-
请 注册 或 登录 后发表评论