正在显示
36 个修改的文件
包含
2341 行增加
和
37 行删除
addons/summernote/.addonrc
0 → 100644
1 | +{"files":["public\\assets\\addons\\summernote\\css\\summernote.css","public\\assets\\addons\\summernote\\css\\summernote.min.css","public\\assets\\addons\\summernote\\font\\summernote.eot","public\\assets\\addons\\summernote\\font\\summernote.ttf","public\\assets\\addons\\summernote\\font\\summernote.woff","public\\assets\\addons\\summernote\\font\\summernote.woff2","public\\assets\\addons\\summernote\\js\\summernote.js","public\\assets\\addons\\summernote\\js\\summernote.min.js","public\\assets\\addons\\summernote\\lang\\summernote-zh-CN.js","public\\assets\\addons\\summernote\\lang\\summernote-zh-CN.min.js","public\\assets\\addons\\summernote\\lang\\summernote-zh-TW.js","public\\assets\\addons\\summernote\\lang\\summernote-zh-TW.min.js"],"license":"regular","licenseto":"15629","licensekey":"NLIO6tYrKG5hiusp kghh0S6zlU76Hs9rIMiuQd3tjV8bSiqblDYiCf\/c5Bc=","domains":["netcar.com"],"licensecodes":[],"validations":["9c3b042fdd8c2e4e21e4da30dcc79ba1"]} |
addons/summernote/Summernote.php
0 → 100644
1 | +<?php | ||
2 | + | ||
3 | +namespace addons\summernote; | ||
4 | + | ||
5 | +use think\Addons; | ||
6 | + | ||
7 | +/** | ||
8 | + * Summernote富文本编辑器 | ||
9 | + */ | ||
10 | +class Summernote extends Addons | ||
11 | +{ | ||
12 | + | ||
13 | + /** | ||
14 | + * 插件安装方法 | ||
15 | + * @return bool | ||
16 | + */ | ||
17 | + public function install() | ||
18 | + { | ||
19 | + return true; | ||
20 | + } | ||
21 | + | ||
22 | + /** | ||
23 | + * 插件卸载方法 | ||
24 | + * @return bool | ||
25 | + */ | ||
26 | + public function uninstall() | ||
27 | + { | ||
28 | + return true; | ||
29 | + } | ||
30 | + | ||
31 | + /** | ||
32 | + * @param $params | ||
33 | + */ | ||
34 | + public function configInit(&$params) | ||
35 | + { | ||
36 | + $config = $this->getConfig(); | ||
37 | + $params['summernote'] = ['classname' => $config['classname'] ?? '.editor']; | ||
38 | + } | ||
39 | + | ||
40 | +} |
addons/summernote/bootstrap.js
0 → 100644
1 | +require.config({ | ||
2 | + paths: { | ||
3 | + 'summernote': '../addons/summernote/lang/summernote-zh-CN.min' | ||
4 | + }, | ||
5 | + shim: { | ||
6 | + 'summernote': ['../addons/summernote/js/summernote.min', 'css!../addons/summernote/css/summernote.min.css'], | ||
7 | + } | ||
8 | +}); | ||
9 | +require(['form', 'upload'], function (Form, Upload) { | ||
10 | + var _bindevent = Form.events.bindevent; | ||
11 | + Form.events.bindevent = function (form) { | ||
12 | + _bindevent.apply(this, [form]); | ||
13 | + try { | ||
14 | + //绑定summernote事件 | ||
15 | + if ($(Config.summernote.classname || '.editor', form).length > 0) { | ||
16 | + var selectUrl = typeof Config !== 'undefined' && Config.modulename === 'index' ? 'user/attachment' : 'general/attachment/select'; | ||
17 | + require(['summernote'], function () { | ||
18 | + var imageButton = function (context) { | ||
19 | + var ui = $.summernote.ui; | ||
20 | + var button = ui.button({ | ||
21 | + contents: '<i class="fa fa-file-image-o"/>', | ||
22 | + tooltip: __('Choose'), | ||
23 | + click: function () { | ||
24 | + parent.Fast.api.open(selectUrl + "?element_id=&multiple=true&mimetype=image/", __('Choose'), { | ||
25 | + callback: function (data) { | ||
26 | + var urlArr = data.url.split(/\,/); | ||
27 | + $.each(urlArr, function () { | ||
28 | + var url = Fast.api.cdnurl(this, true); | ||
29 | + context.invoke('editor.insertImage', url); | ||
30 | + }); | ||
31 | + } | ||
32 | + }); | ||
33 | + return false; | ||
34 | + } | ||
35 | + }); | ||
36 | + return button.render(); | ||
37 | + }; | ||
38 | + var attachmentButton = function (context) { | ||
39 | + var ui = $.summernote.ui; | ||
40 | + var button = ui.button({ | ||
41 | + contents: '<i class="fa fa-file"/>', | ||
42 | + tooltip: __('Choose'), | ||
43 | + click: function () { | ||
44 | + parent.Fast.api.open(selectUrl + "?element_id=&multiple=true&mimetype=*", __('Choose'), { | ||
45 | + callback: function (data) { | ||
46 | + var urlArr = data.url.split(/\,/); | ||
47 | + $.each(urlArr, function () { | ||
48 | + var url = Fast.api.cdnurl(this, true); | ||
49 | + var node = $("<a href='" + url + "'>" + url + "</a>"); | ||
50 | + context.invoke('insertNode', node[0]); | ||
51 | + }); | ||
52 | + } | ||
53 | + }); | ||
54 | + return false; | ||
55 | + } | ||
56 | + }); | ||
57 | + return button.render(); | ||
58 | + }; | ||
59 | + | ||
60 | + $(Config.summernote.classname || '.editor', form).each(function () { | ||
61 | + $(this).summernote($.extend(true, {}, { | ||
62 | + // height: 250, | ||
63 | + minHeight: 250, | ||
64 | + lang: 'zh-CN', | ||
65 | + fontNames: [ | ||
66 | + 'Arial', 'Arial Black', 'Serif', 'Sans', 'Courier', | ||
67 | + 'Courier New', 'Comic Sans MS', 'Helvetica', 'Impact', 'Lucida Grande', | ||
68 | + "Open Sans", "Hiragino Sans GB", "Microsoft YaHei", | ||
69 | + '微软雅黑', '宋体', '黑体', '仿宋', '楷体', '幼圆', | ||
70 | + ], | ||
71 | + fontNamesIgnoreCheck: [ | ||
72 | + "Open Sans", "Microsoft YaHei", | ||
73 | + '微软雅黑', '宋体', '黑体', '仿宋', '楷体', '幼圆' | ||
74 | + ], | ||
75 | + toolbar: [ | ||
76 | + ['style', ['style', 'undo', 'redo']], | ||
77 | + ['font', ['bold', 'underline', 'strikethrough', 'clear']], | ||
78 | + ['fontname', ['color', 'fontname', 'fontsize']], | ||
79 | + ['para', ['ul', 'ol', 'paragraph', 'height']], | ||
80 | + ['table', ['table', 'hr']], | ||
81 | + ['insert', ['link', 'picture', 'video']], | ||
82 | + ['select', ['image', 'attachment']], | ||
83 | + ['view', ['fullscreen', 'codeview', 'help']], | ||
84 | + ], | ||
85 | + buttons: { | ||
86 | + image: imageButton, | ||
87 | + attachment: attachmentButton, | ||
88 | + }, | ||
89 | + dialogsInBody: true, | ||
90 | + followingToolbar: false, | ||
91 | + callbacks: { | ||
92 | + onChange: function (contents) { | ||
93 | + $(this).val(contents); | ||
94 | + $(this).trigger('change'); | ||
95 | + }, | ||
96 | + onInit: function () { | ||
97 | + }, | ||
98 | + onImageUpload: function (files) { | ||
99 | + var that = this; | ||
100 | + //依次上传图片 | ||
101 | + for (var i = 0; i < files.length; i++) { | ||
102 | + Upload.api.send(files[i], function (data) { | ||
103 | + var url = Fast.api.cdnurl(data.url, true); | ||
104 | + $(that).summernote("insertImage", url, 'filename'); | ||
105 | + }); | ||
106 | + } | ||
107 | + } | ||
108 | + } | ||
109 | + }, $(this).data("summernote-options") || {})); | ||
110 | + }); | ||
111 | + }); | ||
112 | + } | ||
113 | + } catch (e) { | ||
114 | + | ||
115 | + } | ||
116 | + | ||
117 | + }; | ||
118 | +}); |
addons/summernote/config.php
0 → 100644
addons/summernote/controller/Index.php
0 → 100644
addons/summernote/info.ini
0 → 100644
@@ -51,17 +51,19 @@ class Car extends Backend | @@ -51,17 +51,19 @@ class Car extends Backend | ||
51 | list($where, $sort, $order, $offset, $limit) = $this->buildparams(); | 51 | list($where, $sort, $order, $offset, $limit) = $this->buildparams(); |
52 | 52 | ||
53 | $list = $this->model | 53 | $list = $this->model |
54 | - ->with(['driver','route']) | 54 | + ->with(['route','driver','seat']) |
55 | ->where($where) | 55 | ->where($where) |
56 | ->order($sort, $order) | 56 | ->order($sort, $order) |
57 | ->paginate($limit); | 57 | ->paginate($limit); |
58 | 58 | ||
59 | foreach ($list as $row) { | 59 | foreach ($list as $row) { |
60 | - $row->visible(['id','car_model','license_plate','seat','colour','driver_license_img','driving_license_img','reservation_time','start_time','create_time']); | ||
61 | - $row->visible(['driver']); | ||
62 | - $row->getRelation('driver')->visible(['name']); | 60 | + $row->visible(['id','car_model','license_plate','colour','reservation_time','start_time','create_time']); |
63 | $row->visible(['route']); | 61 | $row->visible(['route']); |
64 | $row->getRelation('route')->visible(['name']); | 62 | $row->getRelation('route')->visible(['name']); |
63 | + $row->visible(['driver']); | ||
64 | + $row->getRelation('driver')->visible(['name']); | ||
65 | + $row->visible(['seat']); | ||
66 | + $row->getRelation('seat')->visible(['name']); | ||
65 | } | 67 | } |
66 | 68 | ||
67 | $result = array("total" => $list->total(), "rows" => $list->items()); | 69 | $result = array("total" => $list->total(), "rows" => $list->items()); |
application/admin/controller/Seat.php
0 → 100644
1 | +<?php | ||
2 | + | ||
3 | +namespace app\admin\controller; | ||
4 | + | ||
5 | +use app\common\controller\Backend; | ||
6 | +use think\Db; | ||
7 | +use think\exception\DbException; | ||
8 | +use think\exception\PDOException; | ||
9 | +use think\exception\ValidateException; | ||
10 | + | ||
11 | +/** | ||
12 | + * 座位管理 | ||
13 | + * | ||
14 | + * @icon fa fa-circle-o | ||
15 | + */ | ||
16 | +class Seat extends Backend | ||
17 | +{ | ||
18 | + | ||
19 | + /** | ||
20 | + * Seat模型对象 | ||
21 | + * @var \app\admin\model\Seat | ||
22 | + */ | ||
23 | + protected $model = null; | ||
24 | + | ||
25 | + public function _initialize() | ||
26 | + { | ||
27 | + parent::_initialize(); | ||
28 | + $this->model = new \app\admin\model\Seat; | ||
29 | + $this->view->assign("seatNumberList", $this->model->getSeatNumberList()); | ||
30 | + } | ||
31 | + | ||
32 | + | ||
33 | + | ||
34 | + /** | ||
35 | + * 默认生成的控制器所继承的父类中有index/add/edit/del/multi五个基础方法、destroy/restore/recyclebin三个回收站方法 | ||
36 | + * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 | ||
37 | + * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 | ||
38 | + */ | ||
39 | + /** | ||
40 | + * 添加 | ||
41 | + * | ||
42 | + * @return string | ||
43 | + * @throws \think\Exception | ||
44 | + */ | ||
45 | + public function add() | ||
46 | + { | ||
47 | + if (false === $this->request->isPost()) { | ||
48 | + return $this->view->fetch(); | ||
49 | + } | ||
50 | + $params = $this->request->post('row/a'); | ||
51 | + $params['seat_name'] = array_filter($params['seat_name'], function($value) { | ||
52 | + return !is_null($value) && $value !== ''; | ||
53 | + }); | ||
54 | + $params['seat_price'] = array_filter($params['seat_price'], function($value) { | ||
55 | + return !is_null($value) && $value !== ''; | ||
56 | + }); | ||
57 | + | ||
58 | + if(count($params['seat_name'])!=count($params['seat_price'])){ | ||
59 | + $this->error("请填写完成"); | ||
60 | + | ||
61 | + } | ||
62 | + $params['seat']=[]; | ||
63 | + foreach ($params['seat_name'] as $k=>$v){ | ||
64 | + $params['seat'][$k]=["seat_no"=>$params['seat_no'][$k],"seat_name"=>$params['seat_name'][$k],"seat_price"=>$params['seat_price'][$k]]; | ||
65 | + } | ||
66 | + unset($params['seat_no']); | ||
67 | + unset($params['seat_price']); | ||
68 | + unset($params['seat_name']); | ||
69 | + $params["seat"]=json_encode($params["seat"]); | ||
70 | + if (empty($params)) { | ||
71 | + $this->error(__('Parameter %s can not be empty', '')); | ||
72 | + } | ||
73 | + $params = $this->preExcludeFields($params); | ||
74 | + | ||
75 | + if ($this->dataLimit && $this->dataLimitFieldAutoFill) { | ||
76 | + $params[$this->dataLimitField] = $this->auth->id; | ||
77 | + } | ||
78 | + $result = false; | ||
79 | + Db::startTrans(); | ||
80 | + try { | ||
81 | + //是否采用模型验证 | ||
82 | + if ($this->modelValidate) { | ||
83 | + $name = str_replace("\\model\\", "\\validate\\", get_class($this->model)); | ||
84 | + $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.add' : $name) : $this->modelValidate; | ||
85 | + $this->model->validateFailException()->validate($validate); | ||
86 | + } | ||
87 | + $result = $this->model->allowField(true)->save($params); | ||
88 | + Db::commit(); | ||
89 | + } catch (ValidateException|PDOException|Exception $e) { | ||
90 | + Db::rollback(); | ||
91 | + $this->error($e->getMessage()); | ||
92 | + } | ||
93 | + if ($result === false) { | ||
94 | + $this->error(__('No rows were inserted')); | ||
95 | + } | ||
96 | + $this->success(); | ||
97 | + } | ||
98 | + /** | ||
99 | + * 编辑 | ||
100 | + * | ||
101 | + * @param $ids | ||
102 | + * @return string | ||
103 | + * @throws DbException | ||
104 | + * @throws \think\Exception | ||
105 | + */ | ||
106 | + public function edit($ids = null) | ||
107 | + { | ||
108 | + $row = $this->model->get($ids); | ||
109 | + if (!$row) { | ||
110 | + $this->error(__('No Results were found')); | ||
111 | + } | ||
112 | + $adminIds = $this->getDataLimitAdminIds(); | ||
113 | + if (is_array($adminIds) && !in_array($row[$this->dataLimitField], $adminIds)) { | ||
114 | + $this->error(__('You have no permission')); | ||
115 | + } | ||
116 | + if (false === $this->request->isPost()) { | ||
117 | + $res=$row->toArray(); | ||
118 | + $seat=$res['seat']; | ||
119 | + $seat=json_decode($seat,true); | ||
120 | + $this->view->assign('row', $row); | ||
121 | + $this->view->assign('seat', $seat); | ||
122 | + return $this->view->fetch(); | ||
123 | + } | ||
124 | + $params = $this->request->post('row/a'); | ||
125 | + print_r($params);return; | ||
126 | + if (empty($params)) { | ||
127 | + $this->error(__('Parameter %s can not be empty', '')); | ||
128 | + } | ||
129 | + $params = $this->preExcludeFields($params); | ||
130 | + $result = false; | ||
131 | + Db::startTrans(); | ||
132 | + try { | ||
133 | + //是否采用模型验证 | ||
134 | + if ($this->modelValidate) { | ||
135 | + $name = str_replace("\\model\\", "\\validate\\", get_class($this->model)); | ||
136 | + $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate; | ||
137 | + $row->validateFailException()->validate($validate); | ||
138 | + } | ||
139 | + $result = $row->allowField(true)->save($params); | ||
140 | + Db::commit(); | ||
141 | + } catch (ValidateException|PDOException|Exception $e) { | ||
142 | + Db::rollback(); | ||
143 | + $this->error($e->getMessage()); | ||
144 | + } | ||
145 | + if (false === $result) { | ||
146 | + $this->error(__('No rows were updated')); | ||
147 | + } | ||
148 | + $this->success(); | ||
149 | + } | ||
150 | +} |
@@ -8,11 +8,11 @@ return [ | @@ -8,11 +8,11 @@ return [ | ||
8 | 'Driver_id' => '司机', | 8 | 'Driver_id' => '司机', |
9 | 'Seat' => '座位数', | 9 | 'Seat' => '座位数', |
10 | 'Colour' => '车辆颜色', | 10 | 'Colour' => '车辆颜色', |
11 | - 'Driver_license_img' => '驾照', | ||
12 | - 'Driving_license_img' => '行驶证', | 11 | + 'Seat_id' => '座位价格', |
13 | 'Reservation_time' => '预约时间', | 12 | 'Reservation_time' => '预约时间', |
14 | 'Start_time' => '发车时间', | 13 | 'Start_time' => '发车时间', |
15 | 'Create_time' => '创建时间', | 14 | 'Create_time' => '创建时间', |
15 | + 'Route.name' => '线路名称', | ||
16 | 'Driver.name' => '司机名称', | 16 | 'Driver.name' => '司机名称', |
17 | - 'Route.name' => '线路名称' | 17 | + 'Seat.name' => '座位名称' |
18 | ]; | 18 | ]; |
application/admin/lang/zh-cn/seat.php
0 → 100644
@@ -71,14 +71,20 @@ class Car extends Model | @@ -71,14 +71,20 @@ class Car extends Model | ||
71 | } | 71 | } |
72 | 72 | ||
73 | 73 | ||
74 | + public function route() | ||
75 | + { | ||
76 | + return $this->belongsTo('Route', 'route_id', 'id', [], 'LEFT')->setEagerlyType(0); | ||
77 | + } | ||
78 | + | ||
79 | + | ||
74 | public function driver() | 80 | public function driver() |
75 | { | 81 | { |
76 | return $this->belongsTo('Driver', 'driver_id', 'id', [], 'LEFT')->setEagerlyType(0); | 82 | return $this->belongsTo('Driver', 'driver_id', 'id', [], 'LEFT')->setEagerlyType(0); |
77 | } | 83 | } |
78 | 84 | ||
79 | 85 | ||
80 | - public function route() | 86 | + public function seat() |
81 | { | 87 | { |
82 | - return $this->belongsTo('Route', 'route_id', 'id', [], 'LEFT')->setEagerlyType(0); | 88 | + return $this->belongsTo('Seat', 'seat_id', 'id', [], 'LEFT')->setEagerlyType(0); |
83 | } | 89 | } |
84 | } | 90 | } |
application/admin/model/Seat.php
0 → 100644
1 | +<?php | ||
2 | + | ||
3 | +namespace app\admin\model; | ||
4 | + | ||
5 | +use think\Model; | ||
6 | + | ||
7 | + | ||
8 | +class Seat extends Model | ||
9 | +{ | ||
10 | + | ||
11 | + | ||
12 | + | ||
13 | + | ||
14 | + | ||
15 | + // 表名 | ||
16 | + protected $name = 'seat'; | ||
17 | + | ||
18 | + // 自动写入时间戳字段 | ||
19 | + protected $autoWriteTimestamp = false; | ||
20 | + | ||
21 | + // 定义时间戳字段名 | ||
22 | + protected $createTime = false; | ||
23 | + protected $updateTime = false; | ||
24 | + protected $deleteTime = false; | ||
25 | + | ||
26 | + // 追加属性 | ||
27 | + protected $append = [ | ||
28 | + 'seat_number_text' | ||
29 | + ]; | ||
30 | + | ||
31 | + | ||
32 | + | ||
33 | + public function getSeatNumberList() | ||
34 | + { | ||
35 | + return ['0' => __('Seat_number 0'), '1' => __('Seat_number 1')]; | ||
36 | + } | ||
37 | + | ||
38 | + | ||
39 | + public function getSeatNumberTextAttr($value, $data) | ||
40 | + { | ||
41 | + $value = $value ? $value : (isset($data['seat_number']) ? $data['seat_number'] : ''); | ||
42 | + $list = $this->getSeatNumberList(); | ||
43 | + return isset($list[$value]) ? $list[$value] : ''; | ||
44 | + } | ||
45 | + | ||
46 | + | ||
47 | + | ||
48 | + | ||
49 | +} |
application/admin/validate/Seat.php
0 → 100644
1 | +<?php | ||
2 | + | ||
3 | +namespace app\admin\validate; | ||
4 | + | ||
5 | +use think\Validate; | ||
6 | + | ||
7 | +class Seat extends Validate | ||
8 | +{ | ||
9 | + /** | ||
10 | + * 验证规则 | ||
11 | + */ | ||
12 | + protected $rule = [ | ||
13 | + ]; | ||
14 | + /** | ||
15 | + * 提示消息 | ||
16 | + */ | ||
17 | + protected $message = [ | ||
18 | + ]; | ||
19 | + /** | ||
20 | + * 验证场景 | ||
21 | + */ | ||
22 | + protected $scene = [ | ||
23 | + 'add' => [], | ||
24 | + 'edit' => [], | ||
25 | + ]; | ||
26 | + | ||
27 | +} |
@@ -37,27 +37,21 @@ | @@ -37,27 +37,21 @@ | ||
37 | </div> | 37 | </div> |
38 | </div> | 38 | </div> |
39 | <div class="form-group"> | 39 | <div class="form-group"> |
40 | - <label class="control-label col-xs-12 col-sm-2">{:__('Driver_license_img')}:</label> | 40 | + <label class="control-label col-xs-12 col-sm-2">{:__('Seat_id')}:</label> |
41 | <div class="col-xs-12 col-sm-8"> | 41 | <div class="col-xs-12 col-sm-8"> |
42 | - <input id="c-driver_license_img" class="form-control" name="row[driver_license_img]" type="text"> | ||
43 | - </div> | ||
44 | - </div> | ||
45 | - <div class="form-group"> | ||
46 | - <label class="control-label col-xs-12 col-sm-2">{:__('Driving_license_img')}:</label> | ||
47 | - <div class="col-xs-12 col-sm-8"> | ||
48 | - <input id="c-driving_license_img" class="form-control" name="row[driving_license_img]" type="text"> | 42 | + <input id="c-seat_id" data-rule="required" data-source="seat/index" class="form-control selectpage" name="row[seat_id]" type="text" value=""> |
49 | </div> | 43 | </div> |
50 | </div> | 44 | </div> |
51 | <div class="form-group"> | 45 | <div class="form-group"> |
52 | <label class="control-label col-xs-12 col-sm-2">{:__('Reservation_time')}:</label> | 46 | <label class="control-label col-xs-12 col-sm-2">{:__('Reservation_time')}:</label> |
53 | <div class="col-xs-12 col-sm-8"> | 47 | <div class="col-xs-12 col-sm-8"> |
54 | - <input id="c-reservation_time" class="form-control datetimepicker" data-date-format=" HH:mm" data-use-current="true" name="row[reservation_time]" type="text" value="{:date('H:i')}"> | 48 | + <input id="c-reservation_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[reservation_time]" type="text" value="{:date('Y-m-d H:i:s')}"> |
55 | </div> | 49 | </div> |
56 | </div> | 50 | </div> |
57 | <div class="form-group"> | 51 | <div class="form-group"> |
58 | <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label> | 52 | <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label> |
59 | <div class="col-xs-12 col-sm-8"> | 53 | <div class="col-xs-12 col-sm-8"> |
60 | - <input id="c-start_time" class="form-control datetimepicker" data-date-format=" HH:mm" data-use-current="true" name="row[start_time]" type="text" value="{:date('H:i')}"> | 54 | + <input id="c-start_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[start_time]" type="text" value="{:date('Y-m-d H:i:s')}"> |
61 | </div> | 55 | </div> |
62 | </div> | 56 | </div> |
63 | <div class="form-group"> | 57 | <div class="form-group"> |
@@ -37,27 +37,21 @@ | @@ -37,27 +37,21 @@ | ||
37 | </div> | 37 | </div> |
38 | </div> | 38 | </div> |
39 | <div class="form-group"> | 39 | <div class="form-group"> |
40 | - <label class="control-label col-xs-12 col-sm-2">{:__('Driver_license_img')}:</label> | 40 | + <label class="control-label col-xs-12 col-sm-2">{:__('Seat_id')}:</label> |
41 | <div class="col-xs-12 col-sm-8"> | 41 | <div class="col-xs-12 col-sm-8"> |
42 | - <input id="c-driver_license_img" class="form-control" name="row[driver_license_img]" type="text" value="{$row.driver_license_img|htmlentities}"> | ||
43 | - </div> | ||
44 | - </div> | ||
45 | - <div class="form-group"> | ||
46 | - <label class="control-label col-xs-12 col-sm-2">{:__('Driving_license_img')}:</label> | ||
47 | - <div class="col-xs-12 col-sm-8"> | ||
48 | - <input id="c-driving_license_img" class="form-control" name="row[driving_license_img]" type="text" value="{$row.driving_license_img|htmlentities}"> | 42 | + <input id="c-seat_id" data-rule="required" data-source="seat/index" class="form-control selectpage" name="row[seat_id]" type="text" value="{$row.seat_id|htmlentities}"> |
49 | </div> | 43 | </div> |
50 | </div> | 44 | </div> |
51 | <div class="form-group"> | 45 | <div class="form-group"> |
52 | <label class="control-label col-xs-12 col-sm-2">{:__('Reservation_time')}:</label> | 46 | <label class="control-label col-xs-12 col-sm-2">{:__('Reservation_time')}:</label> |
53 | <div class="col-xs-12 col-sm-8"> | 47 | <div class="col-xs-12 col-sm-8"> |
54 | - <input id="c-reservation_time" class="form-control datetimepicker" data-date-format=" HH:mm" data-use-current="true" name="row[reservation_time]" type="text" value="{:$row.reservation_time?datetime($row.reservation_time):''}"> | 48 | + <input id="c-reservation_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[reservation_time]" type="text" value="{:$row.reservation_time?datetime($row.reservation_time):''}"> |
55 | </div> | 49 | </div> |
56 | </div> | 50 | </div> |
57 | <div class="form-group"> | 51 | <div class="form-group"> |
58 | <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label> | 52 | <label class="control-label col-xs-12 col-sm-2">{:__('Start_time')}:</label> |
59 | <div class="col-xs-12 col-sm-8"> | 53 | <div class="col-xs-12 col-sm-8"> |
60 | - <input id="c-start_time" class="form-control datetimepicker" data-date-format=" HH:mm" data-use-current="true" name="row[start_time]" type="text" value="{:$row.start_time?datetime($row.start_time):''}"> | 54 | + <input id="c-start_time" class="form-control datetimepicker" data-date-format="HH:mm" data-use-current="true" name="row[start_time]" type="text" value="{:$row.start_time?datetime($row.start_time):''}"> |
61 | </div> | 55 | </div> |
62 | </div> | 56 | </div> |
63 | <div class="form-group"> | 57 | <div class="form-group"> |
application/admin/view/seat/add.html
0 → 100644
1 | +<form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action=""> | ||
2 | + | ||
3 | + <div class="form-group"> | ||
4 | + <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label> | ||
5 | + <div class="col-xs-12 col-sm-8"> | ||
6 | + <input id="c-name" class="form-control" name="row[name]" type="text"> | ||
7 | + </div> | ||
8 | + </div> | ||
9 | + | ||
10 | + <div class="form-group" id="seat_number"> | ||
11 | + <label class="control-label col-xs-12 col-sm-2">{:__('Seat_number')}:</label> | ||
12 | + <div class="col-xs-12 col-sm-8"> | ||
13 | + {:build_radios("row[seat_number]",["0"=>"五座","1"=>"七座"])} | ||
14 | + </div> | ||
15 | + </div> | ||
16 | + | ||
17 | + <div class="form-group"> | ||
18 | + <label class="control-label col-xs-12 col-sm-2">{:__('Seat')}:</label> | ||
19 | + </div> | ||
20 | + <div class="form-group"> | ||
21 | + <div class="col-xs-3 col-sm-12"> | ||
22 | + <label class="control-label col-xs-4 col-sm-2">座位名称:</label> | ||
23 | + <div class="col-xs-3 col-sm-4"> | ||
24 | + <input id="c-seat_name" class="form-control" name="row[seat_name][]" type="text"> | ||
25 | + <input id="c-seat_no" style="display: none;" class="form-control" value="1" name="row[seat_no][]" type="text"> | ||
26 | + </div> | ||
27 | + <label class="control-label col-xs-4 col-sm-1">价格:</label> | ||
28 | + <div class="col-xs-3 col-sm-4"> | ||
29 | + <input id="c-seat_price" class="form-control" name="row[seat_price][]" type="text"> | ||
30 | + </div> | ||
31 | + </div> | ||
32 | + <div class="col-xs-3 col-sm-12"> | ||
33 | + <label class="control-label col-xs-4 col-sm-2">座位名称:</label> | ||
34 | + <div class="col-xs-3 col-sm-4"> | ||
35 | + <input id="c-seat_name" class="form-control" name="row[seat_name][]" type="text"> | ||
36 | + <input id="c-seat_no" style="display: none;" class="form-control" value="2" name="row[seat_no][]" type="text"> | ||
37 | + | ||
38 | + </div> | ||
39 | + <label class="control-label col-xs-4 col-sm-1">价格:</label> | ||
40 | + <div class="col-xs-3 col-sm-4"> | ||
41 | + <input id="c-seat_price" class="form-control" name="row[seat_price][]" type="text"> | ||
42 | + </div> | ||
43 | + </div> | ||
44 | + <div class="col-xs-3 col-sm-12"> | ||
45 | + <label class="control-label col-xs-4 col-sm-2">座位名称:</label> | ||
46 | + <div class="col-xs-3 col-sm-4"> | ||
47 | + <input id="c-seat_name" class="form-control" name="row[seat_name][]" type="text"> | ||
48 | + <input id="c-seat_no" style="display: none;" class="form-control" value="3" name="row[seat_no][]" type="text"> | ||
49 | + | ||
50 | + </div> | ||
51 | + <label class="control-label col-xs-4 col-sm-1">价格:</label> | ||
52 | + <div class="col-xs-3 col-sm-4"> | ||
53 | + <input id="c-seat_price" class="form-control" name="row[seat_price][]" type="text"> | ||
54 | + </div> | ||
55 | + </div> | ||
56 | + <div class="col-xs-3 col-sm-12"> | ||
57 | + <label class="control-label col-xs-4 col-sm-2">座位名称:</label> | ||
58 | + <div class="col-xs-3 col-sm-4"> | ||
59 | + <input id="c-seat_name" class="form-control" name="row[seat_name][]" type="text"> | ||
60 | + <input id="c-seat_no" style="display: none;" class="form-control" value="4" name="row[seat_no][]" type="text"> | ||
61 | + | ||
62 | + </div> | ||
63 | + <label class="control-label col-xs-4 col-sm-1">价格:</label> | ||
64 | + <div class="col-xs-3 col-sm-4"> | ||
65 | + <input id="c-seat_price" class="form-control" name="row[seat_price][]" type="text"> | ||
66 | + </div> | ||
67 | + </div> | ||
68 | + | ||
69 | + <div class="col-xs-3 col-sm-12" hidden id="seat5"> | ||
70 | + <label class="control-label col-xs-4 col-sm-2">座位名称:</label> | ||
71 | + <div class="col-xs-3 col-sm-4"> | ||
72 | + <input id="c-seat_name5" class="form-control" name="row[seat_name][]" type="text"> | ||
73 | + <input id="c-seat_no" style="display: none;" class="form-control" value="5" name="row[seat_no][]" type="text"> | ||
74 | + | ||
75 | + </div> | ||
76 | + <label class="control-label col-xs-4 col-sm-1">价格:</label> | ||
77 | + <div class="col-xs-3 col-sm-4"> | ||
78 | + <input id="c-seat_price5" class="form-control" name="row[seat_price][]" type="text"> | ||
79 | + </div> | ||
80 | + </div> | ||
81 | + <div class="col-xs-3 col-sm-12" hidden id="seat6"> | ||
82 | + <label class="control-label col-xs-4 col-sm-2">座位名称:</label> | ||
83 | + <div class="col-xs-3 col-sm-4"> | ||
84 | + <input id="c-seat_name6" class="form-control" name="row[seat_name][]" type="text"> | ||
85 | + <input id="c-seat_no" style="display: none;" class="form-control" value="6" name="row[seat_no][]" type="text"> | ||
86 | + | ||
87 | + </div> | ||
88 | + <label class="control-label col-xs-4 col-sm-1">价格:</label> | ||
89 | + <div class="col-xs-3 col-sm-4"> | ||
90 | + <input id="c-seat_price6" class="form-control" name="row[seat_price][]" type="text"> | ||
91 | + </div> | ||
92 | + </div> | ||
93 | + | ||
94 | + | ||
95 | + | ||
96 | + | ||
97 | + | ||
98 | + | ||
99 | + </div> | ||
100 | + <div class="form-group layer-footer"> | ||
101 | + <label class="control-label col-xs-12 col-sm-2"></label> | ||
102 | + <div class="col-xs-12 col-sm-8"> | ||
103 | + <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button> | ||
104 | + </div> | ||
105 | + </div> | ||
106 | +</form> |
application/admin/view/seat/edit.html
0 → 100644
1 | +<form id="edit-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action=""> | ||
2 | + | ||
3 | + <div class="form-group"> | ||
4 | + <label class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label> | ||
5 | + <div class="col-xs-12 col-sm-8"> | ||
6 | + <input id="c-name" class="form-control" name="row[name]" type="text" value="{$row.name|htmlentities}"> | ||
7 | + </div> | ||
8 | + </div> | ||
9 | + <div class="form-group" id="seat_number"> | ||
10 | + <label class="control-label col-xs-12 col-sm-2">{:__('Seat_number')}:</label> | ||
11 | + <div class="col-xs-12 col-sm-8"> | ||
12 | + {:build_radios("row[seat_number]",["0"=>"五座","1"=>"七座"],$row['seat_number'])} | ||
13 | + </div> | ||
14 | + </div> | ||
15 | + <div class="form-group"> | ||
16 | + <label class="control-label col-xs-12 col-sm-2">{:__('Seat')}:</label> | ||
17 | + | ||
18 | + </div> | ||
19 | + <div class="form-group"> | ||
20 | + {volist name="seat" id="vo" } | ||
21 | + <div class="col-xs-3 col-sm-12" id="seat{$vo.seat_no}"> | ||
22 | + <label class="control-label col-xs-4 col-sm-2">座位名称:</label> | ||
23 | + <div class="col-xs-3 col-sm-4"> | ||
24 | + <input id="c-seat_name" class="form-control" value="{$vo.seat_name}" name="row[seat_name][]" type="text"> | ||
25 | + <input id="c-seat_no" style="display: none;" class="form-control" value="6" name="row[seat_no][]" type="text"> | ||
26 | + | ||
27 | + </div> | ||
28 | + <label class="control-label col-xs-4 col-sm-1">价格:</label> | ||
29 | + <div class="col-xs-3 col-sm-4"> | ||
30 | + <input id="c-seat_price" class="form-control" value="{$vo.seat_price}" name="row[seat_price][]" type="text"> | ||
31 | + </div> | ||
32 | + </div> | ||
33 | + {/volist} | ||
34 | + | ||
35 | + | ||
36 | + </div> | ||
37 | + <div class="form-group layer-footer"> | ||
38 | + <label class="control-label col-xs-12 col-sm-2"></label> | ||
39 | + <div class="col-xs-12 col-sm-8"> | ||
40 | + <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button> | ||
41 | + </div> | ||
42 | + </div> | ||
43 | +</form> |
application/admin/view/seat/index.html
0 → 100644
1 | +<div class="panel panel-default panel-intro"> | ||
2 | + {:build_heading()} | ||
3 | + | ||
4 | + <div class="panel-body"> | ||
5 | + <div id="myTabContent" class="tab-content"> | ||
6 | + <div class="tab-pane fade active in" id="one"> | ||
7 | + <div class="widget-body no-padding"> | ||
8 | + <div id="toolbar" class="toolbar"> | ||
9 | + <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a> | ||
10 | + <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('seat/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a> | ||
11 | + <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('seat/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a> | ||
12 | + <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('seat/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a> | ||
13 | + | ||
14 | + | ||
15 | + | ||
16 | + | ||
17 | + | ||
18 | + </div> | ||
19 | + <table id="table" class="table table-striped table-bordered table-hover table-nowrap" | ||
20 | + data-operate-edit="{:$auth->check('seat/edit')}" | ||
21 | + data-operate-del="{:$auth->check('seat/del')}" | ||
22 | + width="100%"> | ||
23 | + </table> | ||
24 | + </div> | ||
25 | + </div> | ||
26 | + | ||
27 | + </div> | ||
28 | + </div> | ||
29 | +</div> |
@@ -576,4 +576,39 @@ class Car extends Base | @@ -576,4 +576,39 @@ class Car extends Base | ||
576 | } | 576 | } |
577 | return $this->success("请求成功",$res); | 577 | return $this->success("请求成功",$res); |
578 | } | 578 | } |
579 | + | ||
580 | + /** | ||
581 | + * 获取座位详情 | ||
582 | + * @return void | ||
583 | + */ | ||
584 | + public function car_seat(){ | ||
585 | + $car_id=$this->request->param("car_id"); | ||
586 | + //查询车辆信息 | ||
587 | + $car=Db::name("car")->where("id",$car_id)->find(); | ||
588 | + $seat=Db::name("seat")->where("id",$car['seat_id'])->find(); | ||
589 | + $seat['seat']=json_decode($seat['seat'],true); | ||
590 | + //查询当日订单 | ||
591 | + $statr_time=strtotime(date("Y-m-d",time())); | ||
592 | + $end_time=$statr_time+86400; | ||
593 | + $order=Db::name("order") | ||
594 | + ->where("create_time",">",$statr_time) | ||
595 | + ->where("create_time","<",$end_time) | ||
596 | + ->where('car_id',$car_id) | ||
597 | + ->field("seat_no") | ||
598 | + ->select(); | ||
599 | + foreach ($order as $k=>$v){ | ||
600 | + $seat_no[$k]=$order[$k]["seat_no"]; | ||
601 | + } | ||
602 | + | ||
603 | + foreach ($seat['seat'] as $k=>$v){ | ||
604 | + if(in_array($seat['seat'][$k]['seat_no'],$seat_no)){ | ||
605 | + $seat['seat'][$k]['is_sale']=1; | ||
606 | + }else{ | ||
607 | + $seat['seat'][$k]['is_sale']=0; | ||
608 | + | ||
609 | + | ||
610 | + } | ||
611 | + } | ||
612 | + return $this->success("请求成功",$seat); | ||
613 | + } | ||
579 | } | 614 | } |
@@ -12,6 +12,21 @@ return [ | @@ -12,6 +12,21 @@ return [ | ||
12 | 'action_begin' => [ | 12 | 'action_begin' => [ |
13 | 'epay', | 13 | 'epay', |
14 | ], | 14 | ], |
15 | + 'upload_config_init' => [ | ||
16 | + 'qiniu', | ||
17 | + ], | ||
18 | + 'upload_delete' => [ | ||
19 | + 'qiniu', | ||
20 | + ], | ||
21 | + 'upload_token' => [ | ||
22 | + 'qiniu', | ||
23 | + ], | ||
24 | + 'app_init' => [ | ||
25 | + 'qiniu', | ||
26 | + ], | ||
27 | + 'config_init' => [ | ||
28 | + 'summernote', | ||
29 | + ], | ||
15 | ], | 30 | ], |
16 | 'route' => [], | 31 | 'route' => [], |
17 | 'priority' => [], | 32 | 'priority' => [], |
@@ -28,7 +28,6 @@ return array ( | @@ -28,7 +28,6 @@ return array ( | ||
28 | 'user' => '会员配置', | 28 | 'user' => '会员配置', |
29 | 'example' => '示例分组', | 29 | 'example' => '示例分组', |
30 | 'wxxcx' => '小程序配置', | 30 | 'wxxcx' => '小程序配置', |
31 | - 'authentication_statement' => '车主认证声明', | ||
32 | ), | 31 | ), |
33 | 'mail_type' => '1', | 32 | 'mail_type' => '1', |
34 | 'mail_smtp_host' => 'smtp.qq.com', | 33 | 'mail_smtp_host' => 'smtp.qq.com', |
@@ -47,4 +46,5 @@ return array ( | @@ -47,4 +46,5 @@ return array ( | ||
47 | 'wxxcx_AppSecret' => 'baf744d21875280a5e98611f66adaf91', | 46 | 'wxxcx_AppSecret' => 'baf744d21875280a5e98611f66adaf91', |
48 | 'content' => '111111111111111111111222222222', | 47 | 'content' => '111111111111111111111222222222', |
49 | 'alarm_phone' => '13528348347', | 48 | 'alarm_phone' => '13528348347', |
49 | + 'riding_instructions' => '', | ||
50 | ); | 50 | ); |
1 | +/*! | ||
2 | + * | ||
3 | + * Super simple WYSIWYG editor v0.8.20 | ||
4 | + * https://summernote.org | ||
5 | + * | ||
6 | + * | ||
7 | + * Copyright 2013- Alan Hong and contributors | ||
8 | + * Summernote may be freely distributed under the MIT license. | ||
9 | + * | ||
10 | + * Date: 2021-10-14T21:15Z | ||
11 | + * | ||
12 | + */ | ||
13 | +@font-face { | ||
14 | + font-family: "summernote"; | ||
15 | + font-style: normal; | ||
16 | + font-weight: 400; | ||
17 | + font-display: auto; | ||
18 | + src: url("../font/summernote.eot?#iefix") format("embedded-opentype"), url("../font/summernote.woff2") format("woff2"), url("../font/summernote.woff") format("woff"), url("../font/summernote.ttf") format("truetype"); | ||
19 | +} | ||
20 | + | ||
21 | +[class^=note-icon]:before, | ||
22 | +[class*=" note-icon"]:before { | ||
23 | + display: inline-block; | ||
24 | + font-family: "summernote"; | ||
25 | + font-style: normal; | ||
26 | + font-size: inherit; | ||
27 | + text-decoration: inherit; | ||
28 | + text-rendering: auto; | ||
29 | + text-transform: none; | ||
30 | + vertical-align: middle; | ||
31 | + -moz-osx-font-smoothing: grayscale; | ||
32 | + -webkit-font-smoothing: antialiased; | ||
33 | + speak: none; | ||
34 | +} | ||
35 | + | ||
36 | +.note-icon-fw { | ||
37 | + text-align: center; | ||
38 | + width: 1.25em; | ||
39 | +} | ||
40 | + | ||
41 | +.note-icon-border { | ||
42 | + border: solid 0.08em #eee; | ||
43 | + border-radius: 0.1em; | ||
44 | + padding: 0.2em 0.25em 0.15em; | ||
45 | +} | ||
46 | + | ||
47 | +.note-icon-pull-left { | ||
48 | + float: left; | ||
49 | +} | ||
50 | + | ||
51 | +.note-icon-pull-right { | ||
52 | + float: right; | ||
53 | +} | ||
54 | + | ||
55 | +.note-icon.note-icon-pull-left { | ||
56 | + margin-right: 0.3em; | ||
57 | +} | ||
58 | + | ||
59 | +.note-icon.note-icon-pull-right { | ||
60 | + margin-left: 0.3em; | ||
61 | +} | ||
62 | + | ||
63 | +.note-icon-align::before { | ||
64 | + content: "\ea01"; | ||
65 | +} | ||
66 | + | ||
67 | +.note-icon-align-center::before { | ||
68 | + content: "\ea02"; | ||
69 | +} | ||
70 | + | ||
71 | +.note-icon-align-indent::before { | ||
72 | + content: "\ea03"; | ||
73 | +} | ||
74 | + | ||
75 | +.note-icon-align-justify::before { | ||
76 | + content: "\ea04"; | ||
77 | +} | ||
78 | + | ||
79 | +.note-icon-align-left::before { | ||
80 | + content: "\ea05"; | ||
81 | +} | ||
82 | + | ||
83 | +.note-icon-align-outdent::before { | ||
84 | + content: "\ea06"; | ||
85 | +} | ||
86 | + | ||
87 | +.note-icon-align-right::before { | ||
88 | + content: "\ea07"; | ||
89 | +} | ||
90 | + | ||
91 | +.note-icon-arrow-circle-down::before { | ||
92 | + content: "\ea08"; | ||
93 | +} | ||
94 | + | ||
95 | +.note-icon-arrow-circle-left::before { | ||
96 | + content: "\ea09"; | ||
97 | +} | ||
98 | + | ||
99 | +.note-icon-arrow-circle-right::before { | ||
100 | + content: "\ea0a"; | ||
101 | +} | ||
102 | + | ||
103 | +.note-icon-arrow-circle-up::before { | ||
104 | + content: "\ea0b"; | ||
105 | +} | ||
106 | + | ||
107 | +.note-icon-arrows-alt::before { | ||
108 | + content: "\ea0c"; | ||
109 | +} | ||
110 | + | ||
111 | +.note-icon-arrows-h::before { | ||
112 | + content: "\ea0d"; | ||
113 | +} | ||
114 | + | ||
115 | +.note-icon-arrows-v::before { | ||
116 | + content: "\ea0e"; | ||
117 | +} | ||
118 | + | ||
119 | +.note-icon-bold::before { | ||
120 | + content: "\ea0f"; | ||
121 | +} | ||
122 | + | ||
123 | +.note-icon-caret::before { | ||
124 | + content: "\ea10"; | ||
125 | +} | ||
126 | + | ||
127 | +.note-icon-chain-broken::before { | ||
128 | + content: "\ea11"; | ||
129 | +} | ||
130 | + | ||
131 | +.note-icon-circle::before { | ||
132 | + content: "\ea12"; | ||
133 | +} | ||
134 | + | ||
135 | +.note-icon-close::before { | ||
136 | + content: "\ea13"; | ||
137 | +} | ||
138 | + | ||
139 | +.note-icon-code::before { | ||
140 | + content: "\ea14"; | ||
141 | +} | ||
142 | + | ||
143 | +.note-icon-col-after::before { | ||
144 | + content: "\ea15"; | ||
145 | +} | ||
146 | + | ||
147 | +.note-icon-col-before::before { | ||
148 | + content: "\ea16"; | ||
149 | +} | ||
150 | + | ||
151 | +.note-icon-col-remove::before { | ||
152 | + content: "\ea17"; | ||
153 | +} | ||
154 | + | ||
155 | +.note-icon-eraser::before { | ||
156 | + content: "\ea18"; | ||
157 | +} | ||
158 | + | ||
159 | +.note-icon-float-left::before { | ||
160 | + content: "\ea19"; | ||
161 | +} | ||
162 | + | ||
163 | +.note-icon-float-none::before { | ||
164 | + content: "\ea1a"; | ||
165 | +} | ||
166 | + | ||
167 | +.note-icon-float-right::before { | ||
168 | + content: "\ea1b"; | ||
169 | +} | ||
170 | + | ||
171 | +.note-icon-font::before { | ||
172 | + content: "\ea1c"; | ||
173 | +} | ||
174 | + | ||
175 | +.note-icon-frame::before { | ||
176 | + content: "\ea1d"; | ||
177 | +} | ||
178 | + | ||
179 | +.note-icon-italic::before { | ||
180 | + content: "\ea1e"; | ||
181 | +} | ||
182 | + | ||
183 | +.note-icon-link::before { | ||
184 | + content: "\ea1f"; | ||
185 | +} | ||
186 | + | ||
187 | +.note-icon-magic::before { | ||
188 | + content: "\ea20"; | ||
189 | +} | ||
190 | + | ||
191 | +.note-icon-menu-check::before { | ||
192 | + content: "\ea21"; | ||
193 | +} | ||
194 | + | ||
195 | +.note-icon-minus::before { | ||
196 | + content: "\ea22"; | ||
197 | +} | ||
198 | + | ||
199 | +.note-icon-orderedlist::before { | ||
200 | + content: "\ea23"; | ||
201 | +} | ||
202 | + | ||
203 | +.note-icon-pencil::before { | ||
204 | + content: "\ea24"; | ||
205 | +} | ||
206 | + | ||
207 | +.note-icon-picture::before { | ||
208 | + content: "\ea25"; | ||
209 | +} | ||
210 | + | ||
211 | +.note-icon-question::before { | ||
212 | + content: "\ea26"; | ||
213 | +} | ||
214 | + | ||
215 | +.note-icon-redo::before { | ||
216 | + content: "\ea27"; | ||
217 | +} | ||
218 | + | ||
219 | +.note-icon-rollback::before { | ||
220 | + content: "\ea28"; | ||
221 | +} | ||
222 | + | ||
223 | +.note-icon-row-above::before { | ||
224 | + content: "\ea29"; | ||
225 | +} | ||
226 | + | ||
227 | +.note-icon-row-below::before { | ||
228 | + content: "\ea2a"; | ||
229 | +} | ||
230 | + | ||
231 | +.note-icon-row-remove::before { | ||
232 | + content: "\ea2b"; | ||
233 | +} | ||
234 | + | ||
235 | +.note-icon-special-character::before { | ||
236 | + content: "\ea2c"; | ||
237 | +} | ||
238 | + | ||
239 | +.note-icon-square::before { | ||
240 | + content: "\ea2d"; | ||
241 | +} | ||
242 | + | ||
243 | +.note-icon-strikethrough::before { | ||
244 | + content: "\ea2e"; | ||
245 | +} | ||
246 | + | ||
247 | +.note-icon-subscript::before { | ||
248 | + content: "\ea2f"; | ||
249 | +} | ||
250 | + | ||
251 | +.note-icon-summernote::before { | ||
252 | + content: "\ea30"; | ||
253 | +} | ||
254 | + | ||
255 | +.note-icon-superscript::before { | ||
256 | + content: "\ea31"; | ||
257 | +} | ||
258 | + | ||
259 | +.note-icon-table::before { | ||
260 | + content: "\ea32"; | ||
261 | +} | ||
262 | + | ||
263 | +.note-icon-text-height::before { | ||
264 | + content: "\ea33"; | ||
265 | +} | ||
266 | + | ||
267 | +.note-icon-trash::before { | ||
268 | + content: "\ea34"; | ||
269 | +} | ||
270 | + | ||
271 | +.note-icon-underline::before { | ||
272 | + content: "\ea35"; | ||
273 | +} | ||
274 | + | ||
275 | +.note-icon-undo::before { | ||
276 | + content: "\ea36"; | ||
277 | +} | ||
278 | + | ||
279 | +.note-icon-unorderedlist::before { | ||
280 | + content: "\ea37"; | ||
281 | +} | ||
282 | + | ||
283 | +.note-icon-video::before { | ||
284 | + content: "\ea38"; | ||
285 | +} | ||
286 | + | ||
287 | +/* Theme Variables | ||
288 | + ------------------------------------------ */ | ||
289 | +/* Layout | ||
290 | + ------------------------------------------ */ | ||
291 | +.note-editor { | ||
292 | + position: relative; | ||
293 | +} | ||
294 | + | ||
295 | +.note-editor .note-dropzone { | ||
296 | + position: absolute; | ||
297 | + display: none; | ||
298 | + z-index: 100; | ||
299 | + color: lightskyblue; | ||
300 | + background-color: #fff; | ||
301 | + opacity: 0.95; | ||
302 | +} | ||
303 | + | ||
304 | +.note-editor .note-dropzone .note-dropzone-message { | ||
305 | + display: table-cell; | ||
306 | + vertical-align: middle; | ||
307 | + text-align: center; | ||
308 | + font-size: 28px; | ||
309 | + font-weight: 700; | ||
310 | +} | ||
311 | + | ||
312 | +.note-editor .note-dropzone.hover { | ||
313 | + color: #098ddf; | ||
314 | +} | ||
315 | + | ||
316 | +.note-editor.dragover .note-dropzone { | ||
317 | + display: table; | ||
318 | +} | ||
319 | + | ||
320 | +.note-editor .note-editing-area { | ||
321 | + position: relative; | ||
322 | +} | ||
323 | + | ||
324 | +.note-editor .note-editing-area .note-editable { | ||
325 | + outline: none; | ||
326 | +} | ||
327 | + | ||
328 | +.note-editor .note-editing-area .note-editable sup { | ||
329 | + vertical-align: super; | ||
330 | +} | ||
331 | + | ||
332 | +.note-editor .note-editing-area .note-editable sub { | ||
333 | + vertical-align: sub; | ||
334 | +} | ||
335 | + | ||
336 | +.note-editor .note-editing-area .note-editable img.note-float-left { | ||
337 | + margin-right: 10px; | ||
338 | +} | ||
339 | + | ||
340 | +.note-editor .note-editing-area .note-editable img.note-float-right { | ||
341 | + margin-left: 10px; | ||
342 | +} | ||
343 | + | ||
344 | +/* Frame mode layout | ||
345 | + ------------------------------------------ */ | ||
346 | +.note-editor.note-frame, | ||
347 | +.note-editor.note-airframe { | ||
348 | + border: 1px solid #00000032; | ||
349 | +} | ||
350 | + | ||
351 | +.note-editor.note-frame.codeview .note-editing-area .note-editable, | ||
352 | +.note-editor.note-airframe.codeview .note-editing-area .note-editable { | ||
353 | + display: none; | ||
354 | +} | ||
355 | + | ||
356 | +.note-editor.note-frame.codeview .note-editing-area .note-codable, | ||
357 | +.note-editor.note-airframe.codeview .note-editing-area .note-codable { | ||
358 | + display: block; | ||
359 | +} | ||
360 | + | ||
361 | +.note-editor.note-frame .note-editing-area, | ||
362 | +.note-editor.note-airframe .note-editing-area { | ||
363 | + overflow: hidden; | ||
364 | +} | ||
365 | + | ||
366 | +.note-editor.note-frame .note-editing-area .note-editable, | ||
367 | +.note-editor.note-airframe .note-editing-area .note-editable { | ||
368 | + padding: 10px; | ||
369 | + overflow: auto; | ||
370 | + word-wrap: break-word; | ||
371 | +} | ||
372 | + | ||
373 | +.note-editor.note-frame .note-editing-area .note-editable[contenteditable=false], | ||
374 | +.note-editor.note-airframe .note-editing-area .note-editable[contenteditable=false] { | ||
375 | + background-color: #8080801d; | ||
376 | +} | ||
377 | + | ||
378 | +.note-editor.note-frame .note-editing-area .note-codable, | ||
379 | +.note-editor.note-airframe .note-editing-area .note-codable { | ||
380 | + display: none; | ||
381 | + width: 100%; | ||
382 | + padding: 10px; | ||
383 | + border: none; | ||
384 | + box-shadow: none; | ||
385 | + font-family: Menlo, Monaco, monospace, sans-serif; | ||
386 | + font-size: 14px; | ||
387 | + color: #ccc; | ||
388 | + background-color: #222; | ||
389 | + resize: none; | ||
390 | + outline: none; | ||
391 | + -ms-box-sizing: border-box; | ||
392 | + box-sizing: border-box; | ||
393 | + border-radius: 0; | ||
394 | + margin-bottom: 0; | ||
395 | +} | ||
396 | + | ||
397 | +.note-editor.note-frame.fullscreen, | ||
398 | +.note-editor.note-airframe.fullscreen { | ||
399 | + position: fixed; | ||
400 | + top: 0; | ||
401 | + left: 0; | ||
402 | + width: 100% !important; | ||
403 | + z-index: 1050; | ||
404 | +} | ||
405 | + | ||
406 | +.note-editor.note-frame.fullscreen .note-resizebar, | ||
407 | +.note-editor.note-airframe.fullscreen .note-resizebar { | ||
408 | + display: none; | ||
409 | +} | ||
410 | + | ||
411 | +.note-editor.note-frame .note-status-output, | ||
412 | +.note-editor.note-airframe .note-status-output { | ||
413 | + display: block; | ||
414 | + width: 100%; | ||
415 | + font-size: 14px; | ||
416 | + line-height: 1.42857143; | ||
417 | + height: 20px; | ||
418 | + margin-bottom: 0; | ||
419 | + color: #000; | ||
420 | + border: 0; | ||
421 | + border-top: 1px solid #e2e2e2; | ||
422 | +} | ||
423 | + | ||
424 | +.note-editor.note-frame .note-status-output:empty, | ||
425 | +.note-editor.note-airframe .note-status-output:empty { | ||
426 | + height: 0; | ||
427 | + border-top: 0 solid transparent; | ||
428 | +} | ||
429 | + | ||
430 | +.note-editor.note-frame .note-status-output .pull-right, | ||
431 | +.note-editor.note-airframe .note-status-output .pull-right { | ||
432 | + float: right !important; | ||
433 | +} | ||
434 | + | ||
435 | +.note-editor.note-frame .note-status-output .text-muted, | ||
436 | +.note-editor.note-airframe .note-status-output .text-muted { | ||
437 | + color: #777; | ||
438 | +} | ||
439 | + | ||
440 | +.note-editor.note-frame .note-status-output .text-primary, | ||
441 | +.note-editor.note-airframe .note-status-output .text-primary { | ||
442 | + color: #286090; | ||
443 | +} | ||
444 | + | ||
445 | +.note-editor.note-frame .note-status-output .text-success, | ||
446 | +.note-editor.note-airframe .note-status-output .text-success { | ||
447 | + color: #3c763d; | ||
448 | +} | ||
449 | + | ||
450 | +.note-editor.note-frame .note-status-output .text-info, | ||
451 | +.note-editor.note-airframe .note-status-output .text-info { | ||
452 | + color: #31708f; | ||
453 | +} | ||
454 | + | ||
455 | +.note-editor.note-frame .note-status-output .text-warning, | ||
456 | +.note-editor.note-airframe .note-status-output .text-warning { | ||
457 | + color: #8a6d3b; | ||
458 | +} | ||
459 | + | ||
460 | +.note-editor.note-frame .note-status-output .text-danger, | ||
461 | +.note-editor.note-airframe .note-status-output .text-danger { | ||
462 | + color: #a94442; | ||
463 | +} | ||
464 | + | ||
465 | +.note-editor.note-frame .note-status-output .alert, | ||
466 | +.note-editor.note-airframe .note-status-output .alert { | ||
467 | + margin: -7px 0 0 0; | ||
468 | + padding: 7px 10px 2px 10px; | ||
469 | + border-radius: 0; | ||
470 | + color: #000; | ||
471 | + background-color: #f5f5f5; | ||
472 | +} | ||
473 | + | ||
474 | +.note-editor.note-frame .note-status-output .alert .note-icon, | ||
475 | +.note-editor.note-airframe .note-status-output .alert .note-icon { | ||
476 | + margin-right: 5px; | ||
477 | +} | ||
478 | + | ||
479 | +.note-editor.note-frame .note-status-output .alert-success, | ||
480 | +.note-editor.note-airframe .note-status-output .alert-success { | ||
481 | + color: #3c763d !important; | ||
482 | + background-color: #dff0d8 !important; | ||
483 | +} | ||
484 | + | ||
485 | +.note-editor.note-frame .note-status-output .alert-info, | ||
486 | +.note-editor.note-airframe .note-status-output .alert-info { | ||
487 | + color: #31708f !important; | ||
488 | + background-color: #d9edf7 !important; | ||
489 | +} | ||
490 | + | ||
491 | +.note-editor.note-frame .note-status-output .alert-warning, | ||
492 | +.note-editor.note-airframe .note-status-output .alert-warning { | ||
493 | + color: #8a6d3b !important; | ||
494 | + background-color: #fcf8e3 !important; | ||
495 | +} | ||
496 | + | ||
497 | +.note-editor.note-frame .note-status-output .alert-danger, | ||
498 | +.note-editor.note-airframe .note-status-output .alert-danger { | ||
499 | + color: #a94442 !important; | ||
500 | + background-color: #f2dede !important; | ||
501 | +} | ||
502 | + | ||
503 | +.note-editor.note-frame .note-statusbar, | ||
504 | +.note-editor.note-airframe .note-statusbar { | ||
505 | + background-color: #8080801d; | ||
506 | + border-bottom-left-radius: 4px; | ||
507 | + border-bottom-right-radius: 4px; | ||
508 | + border-top: 1px solid #00000032; | ||
509 | +} | ||
510 | + | ||
511 | +.note-editor.note-frame .note-statusbar .note-resizebar, | ||
512 | +.note-editor.note-airframe .note-statusbar .note-resizebar { | ||
513 | + padding-top: 1px; | ||
514 | + height: 9px; | ||
515 | + width: 100%; | ||
516 | + cursor: ns-resize; | ||
517 | +} | ||
518 | + | ||
519 | +.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar, | ||
520 | +.note-editor.note-airframe .note-statusbar .note-resizebar .note-icon-bar { | ||
521 | + width: 20px; | ||
522 | + margin: 1px auto; | ||
523 | + border-top: 1px solid #00000032; | ||
524 | +} | ||
525 | + | ||
526 | +.note-editor.note-frame .note-statusbar.locked .note-resizebar, | ||
527 | +.note-editor.note-airframe .note-statusbar.locked .note-resizebar { | ||
528 | + cursor: default; | ||
529 | +} | ||
530 | + | ||
531 | +.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar, | ||
532 | +.note-editor.note-airframe .note-statusbar.locked .note-resizebar .note-icon-bar { | ||
533 | + display: none; | ||
534 | +} | ||
535 | + | ||
536 | +.note-editor.note-frame .note-placeholder, | ||
537 | +.note-editor.note-airframe .note-placeholder { | ||
538 | + padding: 10px; | ||
539 | +} | ||
540 | + | ||
541 | +.note-editor.note-airframe { | ||
542 | + border: 0; | ||
543 | +} | ||
544 | + | ||
545 | +.note-editor.note-airframe .note-editing-area .note-editable { | ||
546 | + padding: 0; | ||
547 | +} | ||
548 | + | ||
549 | +/* Popover | ||
550 | + ------------------------------------------ */ | ||
551 | +.note-popover.popover { | ||
552 | + display: none; | ||
553 | + max-width: none; | ||
554 | +} | ||
555 | + | ||
556 | +.note-popover.popover .popover-content a { | ||
557 | + display: inline-block; | ||
558 | + max-width: 200px; | ||
559 | + overflow: hidden; | ||
560 | + text-overflow: ellipsis; | ||
561 | + white-space: nowrap; | ||
562 | + vertical-align: middle; | ||
563 | +} | ||
564 | + | ||
565 | +.note-popover.popover .arrow { | ||
566 | + left: 20px !important; | ||
567 | +} | ||
568 | + | ||
569 | +/* Popover and Toolbar (Button container) | ||
570 | + ------------------------------------------ */ | ||
571 | +.note-toolbar { | ||
572 | + position: relative; | ||
573 | +} | ||
574 | + | ||
575 | +.note-popover .popover-content, .note-editor .note-toolbar { | ||
576 | + margin: 0; | ||
577 | + padding: 0 0 5px 5px; | ||
578 | +} | ||
579 | + | ||
580 | +.note-popover .popover-content > .note-btn-group, .note-editor .note-toolbar > .note-btn-group { | ||
581 | + margin-top: 5px; | ||
582 | + margin-left: 0; | ||
583 | + margin-right: 5px; | ||
584 | +} | ||
585 | + | ||
586 | +.note-popover .popover-content > .note-btn-group, .note-editor .note-toolbar > .note-btn-group .note-btn { | ||
587 | + background-color: #fff; | ||
588 | +} | ||
589 | + | ||
590 | +.note-popover .popover-content .note-btn-group .note-table, .note-editor .note-toolbar .note-btn-group .note-table { | ||
591 | + min-width: 0; | ||
592 | + padding: 5px; | ||
593 | +} | ||
594 | + | ||
595 | +.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker, .note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker { | ||
596 | + font-size: 18px; | ||
597 | +} | ||
598 | + | ||
599 | +.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher, .note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher { | ||
600 | + position: absolute !important; | ||
601 | + z-index: 3; | ||
602 | + width: 10em; | ||
603 | + height: 10em; | ||
604 | + cursor: pointer; | ||
605 | +} | ||
606 | + | ||
607 | +.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted, .note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted { | ||
608 | + position: relative !important; | ||
609 | + z-index: 1; | ||
610 | + width: 5em; | ||
611 | + height: 5em; | ||
612 | + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat; | ||
613 | +} | ||
614 | + | ||
615 | +.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted, .note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted { | ||
616 | + position: absolute !important; | ||
617 | + z-index: 2; | ||
618 | + width: 1em; | ||
619 | + height: 1em; | ||
620 | + background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat; | ||
621 | +} | ||
622 | + | ||
623 | +.note-popover .popover-content .note-style .dropdown-style blockquote, .note-popover .popover-content .note-style .dropdown-style pre, .note-editor .note-toolbar .note-style .dropdown-style blockquote, .note-editor .note-toolbar .note-style .dropdown-style pre { | ||
624 | + margin: 0; | ||
625 | + padding: 5px 10px; | ||
626 | +} | ||
627 | + | ||
628 | +.note-popover .popover-content .note-style .dropdown-style h1, .note-popover .popover-content .note-style .dropdown-style h2, .note-popover .popover-content .note-style .dropdown-style h3, .note-popover .popover-content .note-style .dropdown-style h4, .note-popover .popover-content .note-style .dropdown-style h5, .note-popover .popover-content .note-style .dropdown-style h6, .note-popover .popover-content .note-style .dropdown-style p, .note-editor .note-toolbar .note-style .dropdown-style h1, .note-editor .note-toolbar .note-style .dropdown-style h2, .note-editor .note-toolbar .note-style .dropdown-style h3, .note-editor .note-toolbar .note-style .dropdown-style h4, .note-editor .note-toolbar .note-style .dropdown-style h5, .note-editor .note-toolbar .note-style .dropdown-style h6, .note-editor .note-toolbar .note-style .dropdown-style p { | ||
629 | + margin: 0; | ||
630 | + padding: 0; | ||
631 | +} | ||
632 | + | ||
633 | +.note-popover .popover-content .note-color-all .note-dropdown-menu, .note-editor .note-toolbar .note-color-all .note-dropdown-menu { | ||
634 | + min-width: 337px; | ||
635 | +} | ||
636 | + | ||
637 | +.note-popover .popover-content .note-color .dropdown-toggle, .note-editor .note-toolbar .note-color .dropdown-toggle { | ||
638 | + width: 20px; | ||
639 | + padding-left: 5px; | ||
640 | +} | ||
641 | + | ||
642 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette, .note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette { | ||
643 | + display: inline-block; | ||
644 | + margin: 0; | ||
645 | + width: 160px; | ||
646 | +} | ||
647 | + | ||
648 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette:first-child, .note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette:first-child { | ||
649 | + margin: 0 5px; | ||
650 | +} | ||
651 | + | ||
652 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title, .note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title { | ||
653 | + font-size: 12px; | ||
654 | + margin: 2px 7px; | ||
655 | + text-align: center; | ||
656 | + border-bottom: 1px solid #eee; | ||
657 | +} | ||
658 | + | ||
659 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset, | ||
660 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select, .note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset, | ||
661 | +.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select { | ||
662 | + font-size: 11px; | ||
663 | + margin: 3px; | ||
664 | + padding: 0 3px; | ||
665 | + cursor: pointer; | ||
666 | + width: 100%; | ||
667 | + border-radius: 5px; | ||
668 | +} | ||
669 | + | ||
670 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover, | ||
671 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select:hover, .note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover, | ||
672 | +.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select:hover { | ||
673 | + background: #eee; | ||
674 | +} | ||
675 | + | ||
676 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-row, .note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row { | ||
677 | + height: 20px; | ||
678 | +} | ||
679 | + | ||
680 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select-btn, .note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select-btn { | ||
681 | + display: none; | ||
682 | +} | ||
683 | + | ||
684 | +.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn, .note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn { | ||
685 | + border: 1px solid #eee; | ||
686 | +} | ||
687 | + | ||
688 | +.note-popover .popover-content .note-para .note-dropdown-menu, .note-editor .note-toolbar .note-para .note-dropdown-menu { | ||
689 | + min-width: 228px; | ||
690 | + padding: 5px; | ||
691 | +} | ||
692 | + | ||
693 | +.note-popover .popover-content .note-para .note-dropdown-menu > div + div, .note-editor .note-toolbar .note-para .note-dropdown-menu > div + div { | ||
694 | + margin-left: 5px; | ||
695 | +} | ||
696 | + | ||
697 | +.note-popover .popover-content .note-dropdown-menu, .note-editor .note-toolbar .note-dropdown-menu { | ||
698 | + min-width: 160px; | ||
699 | +} | ||
700 | + | ||
701 | +.note-popover .popover-content .note-dropdown-menu.right, .note-editor .note-toolbar .note-dropdown-menu.right { | ||
702 | + right: 0; | ||
703 | + left: auto; | ||
704 | +} | ||
705 | + | ||
706 | +.note-popover .popover-content .note-dropdown-menu.right::before, .note-editor .note-toolbar .note-dropdown-menu.right::before { | ||
707 | + right: 9px; | ||
708 | + left: auto !important; | ||
709 | +} | ||
710 | + | ||
711 | +.note-popover .popover-content .note-dropdown-menu.right::after, .note-editor .note-toolbar .note-dropdown-menu.right::after { | ||
712 | + right: 10px; | ||
713 | + left: auto !important; | ||
714 | +} | ||
715 | + | ||
716 | +.note-popover .popover-content .note-dropdown-menu.note-check a i, .note-editor .note-toolbar .note-dropdown-menu.note-check a i { | ||
717 | + color: deepskyblue; | ||
718 | + visibility: hidden; | ||
719 | +} | ||
720 | + | ||
721 | +.note-popover .popover-content .note-dropdown-menu.note-check a.checked i, .note-editor .note-toolbar .note-dropdown-menu.note-check a.checked i { | ||
722 | + visibility: visible; | ||
723 | +} | ||
724 | + | ||
725 | +.note-popover .popover-content .note-fontsize-10, .note-editor .note-toolbar .note-fontsize-10 { | ||
726 | + font-size: 10px; | ||
727 | +} | ||
728 | + | ||
729 | +.note-popover .popover-content .note-color-palette, .note-editor .note-toolbar .note-color-palette { | ||
730 | + line-height: 1; | ||
731 | +} | ||
732 | + | ||
733 | +.note-popover .popover-content .note-color-palette div .note-color-btn, .note-editor .note-toolbar .note-color-palette div .note-color-btn { | ||
734 | + width: 20px; | ||
735 | + height: 20px; | ||
736 | + padding: 0; | ||
737 | + margin: 0; | ||
738 | + border: 0; | ||
739 | + border-radius: 0; | ||
740 | +} | ||
741 | + | ||
742 | +.note-popover .popover-content .note-color-palette div .note-color-btn:hover, .note-editor .note-toolbar .note-color-palette div .note-color-btn:hover { | ||
743 | + transform: scale(1.2); | ||
744 | + transition: all 0.2s; | ||
745 | +} | ||
746 | + | ||
747 | +/* Dialog | ||
748 | + ------------------------------------------ */ | ||
749 | +.note-modal .modal-dialog { | ||
750 | + outline: 0; | ||
751 | + border-radius: 5px; | ||
752 | + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); | ||
753 | +} | ||
754 | + | ||
755 | +.note-modal .form-group { | ||
756 | + margin-left: 0; | ||
757 | + margin-right: 0; | ||
758 | +} | ||
759 | + | ||
760 | +.note-modal .note-modal-form { | ||
761 | + margin: 0; | ||
762 | +} | ||
763 | + | ||
764 | +.note-modal .note-image-dialog .note-dropzone { | ||
765 | + min-height: 100px; | ||
766 | + font-size: 30px; | ||
767 | + line-height: 4; | ||
768 | + color: lightgray; | ||
769 | + text-align: center; | ||
770 | + border: 4px dashed lightgray; | ||
771 | + margin-bottom: 10px; | ||
772 | +} | ||
773 | + | ||
774 | +@-moz-document url-prefix() { | ||
775 | + .note-modal .note-image-input { | ||
776 | + height: auto; | ||
777 | + } | ||
778 | +} | ||
779 | + | ||
780 | +/* Placeholder | ||
781 | + ------------------------------------------ */ | ||
782 | +.note-placeholder { | ||
783 | + position: absolute; | ||
784 | + display: none; | ||
785 | + color: gray; | ||
786 | +} | ||
787 | + | ||
788 | +/* Handle | ||
789 | + ------------------------------------------ */ | ||
790 | +.note-handle .note-control-selection { | ||
791 | + position: absolute; | ||
792 | + display: none; | ||
793 | + border: 1px solid #000; | ||
794 | +} | ||
795 | + | ||
796 | +.note-handle .note-control-selection > div { | ||
797 | + position: absolute; | ||
798 | +} | ||
799 | + | ||
800 | +.note-handle .note-control-selection .note-control-selection-bg { | ||
801 | + width: 100%; | ||
802 | + height: 100%; | ||
803 | + background-color: #000; | ||
804 | + -webkit-opacity: 0.3; | ||
805 | + -khtml-opacity: 0.3; | ||
806 | + -moz-opacity: 0.3; | ||
807 | + opacity: 0.3; | ||
808 | + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=30); | ||
809 | + filter: alpha(opacity=30); | ||
810 | +} | ||
811 | + | ||
812 | +.note-handle .note-control-selection .note-control-handle, .note-handle .note-control-selection .note-control-sizing, .note-handle .note-control-selection .note-control-holder { | ||
813 | + width: 7px; | ||
814 | + height: 7px; | ||
815 | + border: 1px solid #000; | ||
816 | +} | ||
817 | + | ||
818 | +.note-handle .note-control-selection .note-control-sizing { | ||
819 | + background-color: #000; | ||
820 | +} | ||
821 | + | ||
822 | +.note-handle .note-control-selection .note-control-nw { | ||
823 | + top: -5px; | ||
824 | + left: -5px; | ||
825 | + border-right: none; | ||
826 | + border-bottom: none; | ||
827 | +} | ||
828 | + | ||
829 | +.note-handle .note-control-selection .note-control-ne { | ||
830 | + top: -5px; | ||
831 | + right: -5px; | ||
832 | + border-bottom: none; | ||
833 | + border-left: none; | ||
834 | +} | ||
835 | + | ||
836 | +.note-handle .note-control-selection .note-control-sw { | ||
837 | + bottom: -5px; | ||
838 | + left: -5px; | ||
839 | + border-top: none; | ||
840 | + border-right: none; | ||
841 | +} | ||
842 | + | ||
843 | +.note-handle .note-control-selection .note-control-se { | ||
844 | + right: -5px; | ||
845 | + bottom: -5px; | ||
846 | + cursor: se-resize; | ||
847 | +} | ||
848 | + | ||
849 | +.note-handle .note-control-selection .note-control-se.note-control-holder { | ||
850 | + cursor: default; | ||
851 | + border-top: none; | ||
852 | + border-left: none; | ||
853 | +} | ||
854 | + | ||
855 | +.note-handle .note-control-selection .note-control-selection-info { | ||
856 | + right: 0; | ||
857 | + bottom: 0; | ||
858 | + padding: 5px; | ||
859 | + margin: 5px; | ||
860 | + color: #fff; | ||
861 | + background-color: #000; | ||
862 | + font-size: 12px; | ||
863 | + border-radius: 5px; | ||
864 | + -webkit-opacity: 0.7; | ||
865 | + -khtml-opacity: 0.7; | ||
866 | + -moz-opacity: 0.7; | ||
867 | + opacity: 0.7; | ||
868 | + -ms-filter: progid:DXImageTransform.Microsoft.Alpha(opacity=70); | ||
869 | + filter: alpha(opacity=70); | ||
870 | +} | ||
871 | + | ||
872 | +.note-hint-popover { | ||
873 | + min-width: 100px; | ||
874 | + padding: 2px; | ||
875 | +} | ||
876 | + | ||
877 | +.note-hint-popover .popover-content { | ||
878 | + padding: 3px; | ||
879 | + max-height: 150px; | ||
880 | + overflow: auto; | ||
881 | +} | ||
882 | + | ||
883 | +.note-hint-popover .popover-content .note-hint-group .note-hint-item { | ||
884 | + display: block !important; | ||
885 | + padding: 3px; | ||
886 | +} | ||
887 | + | ||
888 | +.note-hint-popover .popover-content .note-hint-group .note-hint-item.active, .note-hint-popover .popover-content .note-hint-group .note-hint-item:hover { | ||
889 | + display: block; | ||
890 | + clear: both; | ||
891 | + font-weight: 400; | ||
892 | + line-height: 1.4; | ||
893 | + color: white; | ||
894 | + white-space: nowrap; | ||
895 | + text-decoration: none; | ||
896 | + background-color: #428bca; | ||
897 | + outline: 0; | ||
898 | + cursor: pointer; | ||
899 | +} | ||
900 | + | ||
901 | +/* Handle | ||
902 | + ------------------------------------------ */ | ||
903 | +html .note-fullscreen-body, body .note-fullscreen-body { | ||
904 | + overflow: hidden !important; | ||
905 | +} | ||
906 | + | ||
907 | +body.darktheme .note-popover .popover-content > .note-btn-group, body.darktheme .note-editor .note-toolbar > .note-btn-group .note-btn { | ||
908 | + background: #262626; | ||
909 | + color: #ccc; | ||
910 | +} |
1 | +/*! | ||
2 | + * | ||
3 | + * Super simple WYSIWYG editor v0.8.20 | ||
4 | + * https://summernote.org | ||
5 | + * | ||
6 | + * | ||
7 | + * Copyright 2013- Alan Hong and contributors | ||
8 | + * Summernote may be freely distributed under the MIT license. | ||
9 | + * | ||
10 | + * Date: 2021-10-14T21:15Z | ||
11 | + * | ||
12 | + */@font-face{font-family:"summernote";font-style:normal;font-weight:400;font-display:auto;src:url("../font/summernote.eot?#iefix") format("embedded-opentype"),url("../font/summernote.woff2") format("woff2"),url("../font/summernote.woff") format("woff"),url("../font/summernote.ttf") format("truetype")}[class^=note-icon]:before,[class*=" note-icon"]:before{display:inline-block;font-family:"summernote";font-style:normal;font-size:inherit;text-decoration:inherit;text-rendering:auto;text-transform:none;vertical-align:middle;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;speak:none}.note-icon-fw{text-align:center;width:1.25em}.note-icon-border{border:solid .08em #eee;border-radius:.1em;padding:.2em .25em .15em}.note-icon-pull-left{float:left}.note-icon-pull-right{float:right}.note-icon.note-icon-pull-left{margin-right:.3em}.note-icon.note-icon-pull-right{margin-left:.3em}.note-icon-align::before{content:"\ea01"}.note-icon-align-center::before{content:"\ea02"}.note-icon-align-indent::before{content:"\ea03"}.note-icon-align-justify::before{content:"\ea04"}.note-icon-align-left::before{content:"\ea05"}.note-icon-align-outdent::before{content:"\ea06"}.note-icon-align-right::before{content:"\ea07"}.note-icon-arrow-circle-down::before{content:"\ea08"}.note-icon-arrow-circle-left::before{content:"\ea09"}.note-icon-arrow-circle-right::before{content:"\ea0a"}.note-icon-arrow-circle-up::before{content:"\ea0b"}.note-icon-arrows-alt::before{content:"\ea0c"}.note-icon-arrows-h::before{content:"\ea0d"}.note-icon-arrows-v::before{content:"\ea0e"}.note-icon-bold::before{content:"\ea0f"}.note-icon-caret::before{content:"\ea10"}.note-icon-chain-broken::before{content:"\ea11"}.note-icon-circle::before{content:"\ea12"}.note-icon-close::before{content:"\ea13"}.note-icon-code::before{content:"\ea14"}.note-icon-col-after::before{content:"\ea15"}.note-icon-col-before::before{content:"\ea16"}.note-icon-col-remove::before{content:"\ea17"}.note-icon-eraser::before{content:"\ea18"}.note-icon-float-left::before{content:"\ea19"}.note-icon-float-none::before{content:"\ea1a"}.note-icon-float-right::before{content:"\ea1b"}.note-icon-font::before{content:"\ea1c"}.note-icon-frame::before{content:"\ea1d"}.note-icon-italic::before{content:"\ea1e"}.note-icon-link::before{content:"\ea1f"}.note-icon-magic::before{content:"\ea20"}.note-icon-menu-check::before{content:"\ea21"}.note-icon-minus::before{content:"\ea22"}.note-icon-orderedlist::before{content:"\ea23"}.note-icon-pencil::before{content:"\ea24"}.note-icon-picture::before{content:"\ea25"}.note-icon-question::before{content:"\ea26"}.note-icon-redo::before{content:"\ea27"}.note-icon-rollback::before{content:"\ea28"}.note-icon-row-above::before{content:"\ea29"}.note-icon-row-below::before{content:"\ea2a"}.note-icon-row-remove::before{content:"\ea2b"}.note-icon-special-character::before{content:"\ea2c"}.note-icon-square::before{content:"\ea2d"}.note-icon-strikethrough::before{content:"\ea2e"}.note-icon-subscript::before{content:"\ea2f"}.note-icon-summernote::before{content:"\ea30"}.note-icon-superscript::before{content:"\ea31"}.note-icon-table::before{content:"\ea32"}.note-icon-text-height::before{content:"\ea33"}.note-icon-trash::before{content:"\ea34"}.note-icon-underline::before{content:"\ea35"}.note-icon-undo::before{content:"\ea36"}.note-icon-unorderedlist::before{content:"\ea37"}.note-icon-video::before{content:"\ea38"}.note-editor{position:relative}.note-editor .note-dropzone{position:absolute;display:none;z-index:100;color:lightskyblue;background-color:#fff;opacity:.95}.note-editor .note-dropzone .note-dropzone-message{display:table-cell;vertical-align:middle;text-align:center;font-size:28px;font-weight:700}.note-editor .note-dropzone.hover{color:#098ddf}.note-editor.dragover .note-dropzone{display:table}.note-editor .note-editing-area{position:relative}.note-editor .note-editing-area .note-editable{outline:0}.note-editor .note-editing-area .note-editable sup{vertical-align:super}.note-editor .note-editing-area .note-editable sub{vertical-align:sub}.note-editor .note-editing-area .note-editable img.note-float-left{margin-right:10px}.note-editor .note-editing-area .note-editable img.note-float-right{margin-left:10px}.note-editor.note-frame,.note-editor.note-airframe{border:1px solid #00000032}.note-editor.note-frame.codeview .note-editing-area .note-editable,.note-editor.note-airframe.codeview .note-editing-area .note-editable{display:none}.note-editor.note-frame.codeview .note-editing-area .note-codable,.note-editor.note-airframe.codeview .note-editing-area .note-codable{display:block}.note-editor.note-frame .note-editing-area,.note-editor.note-airframe .note-editing-area{overflow:hidden}.note-editor.note-frame .note-editing-area .note-editable,.note-editor.note-airframe .note-editing-area .note-editable{padding:10px;overflow:auto;word-wrap:break-word}.note-editor.note-frame .note-editing-area .note-editable[contenteditable=false],.note-editor.note-airframe .note-editing-area .note-editable[contenteditable=false]{background-color:#8080801d}.note-editor.note-frame .note-editing-area .note-codable,.note-editor.note-airframe .note-editing-area .note-codable{display:none;width:100%;padding:10px;border:0;box-shadow:none;font-family:Menlo,Monaco,monospace,sans-serif;font-size:14px;color:#ccc;background-color:#222;resize:none;outline:0;-ms-box-sizing:border-box;box-sizing:border-box;border-radius:0;margin-bottom:0}.note-editor.note-frame.fullscreen,.note-editor.note-airframe.fullscreen{position:fixed;top:0;left:0;width:100% !important;z-index:1050}.note-editor.note-frame.fullscreen .note-resizebar,.note-editor.note-airframe.fullscreen .note-resizebar{display:none}.note-editor.note-frame .note-status-output,.note-editor.note-airframe .note-status-output{display:block;width:100%;font-size:14px;line-height:1.42857143;height:20px;margin-bottom:0;color:#000;border:0;border-top:1px solid #e2e2e2}.note-editor.note-frame .note-status-output:empty,.note-editor.note-airframe .note-status-output:empty{height:0;border-top:0 solid transparent}.note-editor.note-frame .note-status-output .pull-right,.note-editor.note-airframe .note-status-output .pull-right{float:right !important}.note-editor.note-frame .note-status-output .text-muted,.note-editor.note-airframe .note-status-output .text-muted{color:#777}.note-editor.note-frame .note-status-output .text-primary,.note-editor.note-airframe .note-status-output .text-primary{color:#286090}.note-editor.note-frame .note-status-output .text-success,.note-editor.note-airframe .note-status-output .text-success{color:#3c763d}.note-editor.note-frame .note-status-output .text-info,.note-editor.note-airframe .note-status-output .text-info{color:#31708f}.note-editor.note-frame .note-status-output .text-warning,.note-editor.note-airframe .note-status-output .text-warning{color:#8a6d3b}.note-editor.note-frame .note-status-output .text-danger,.note-editor.note-airframe .note-status-output .text-danger{color:#a94442}.note-editor.note-frame .note-status-output .alert,.note-editor.note-airframe .note-status-output .alert{margin:-7px 0 0 0;padding:7px 10px 2px 10px;border-radius:0;color:#000;background-color:#f5f5f5}.note-editor.note-frame .note-status-output .alert .note-icon,.note-editor.note-airframe .note-status-output .alert .note-icon{margin-right:5px}.note-editor.note-frame .note-status-output .alert-success,.note-editor.note-airframe .note-status-output .alert-success{color:#3c763d !important;background-color:#dff0d8 !important}.note-editor.note-frame .note-status-output .alert-info,.note-editor.note-airframe .note-status-output .alert-info{color:#31708f !important;background-color:#d9edf7 !important}.note-editor.note-frame .note-status-output .alert-warning,.note-editor.note-airframe .note-status-output .alert-warning{color:#8a6d3b !important;background-color:#fcf8e3 !important}.note-editor.note-frame .note-status-output .alert-danger,.note-editor.note-airframe .note-status-output .alert-danger{color:#a94442 !important;background-color:#f2dede !important}.note-editor.note-frame .note-statusbar,.note-editor.note-airframe .note-statusbar{background-color:#8080801d;border-bottom-left-radius:4px;border-bottom-right-radius:4px;border-top:1px solid #00000032}.note-editor.note-frame .note-statusbar .note-resizebar,.note-editor.note-airframe .note-statusbar .note-resizebar{padding-top:1px;height:9px;width:100%;cursor:ns-resize}.note-editor.note-frame .note-statusbar .note-resizebar .note-icon-bar,.note-editor.note-airframe .note-statusbar .note-resizebar .note-icon-bar{width:20px;margin:1px auto;border-top:1px solid #00000032}.note-editor.note-frame .note-statusbar.locked .note-resizebar,.note-editor.note-airframe .note-statusbar.locked .note-resizebar{cursor:default}.note-editor.note-frame .note-statusbar.locked .note-resizebar .note-icon-bar,.note-editor.note-airframe .note-statusbar.locked .note-resizebar .note-icon-bar{display:none}.note-editor.note-frame .note-placeholder,.note-editor.note-airframe .note-placeholder{padding:10px}.note-editor.note-airframe{border:0}.note-editor.note-airframe .note-editing-area .note-editable{padding:0}.note-popover.popover{display:none;max-width:none}.note-popover.popover .popover-content a{display:inline-block;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}.note-popover.popover .arrow{left:20px !important}.note-toolbar{position:relative}.note-popover .popover-content,.note-editor .note-toolbar{margin:0;padding:0 0 5px 5px}.note-popover .popover-content>.note-btn-group,.note-editor .note-toolbar>.note-btn-group{margin-top:5px;margin-left:0;margin-right:5px}.note-popover .popover-content>.note-btn-group,.note-editor .note-toolbar>.note-btn-group .note-btn{background-color:#fff}.note-popover .popover-content .note-btn-group .note-table,.note-editor .note-toolbar .note-btn-group .note-table{min-width:0;padding:5px}.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker,.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker{font-size:18px}.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher,.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-mousecatcher{position:absolute !important;z-index:3;width:10em;height:10em;cursor:pointer}.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted,.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-unhighlighted{position:relative !important;z-index:1;width:5em;height:5em;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIj4+Pjp6ekKlAqjAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKhmnaJzPAAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat}.note-popover .popover-content .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted,.note-editor .note-toolbar .note-btn-group .note-table .note-dimension-picker .note-dimension-picker-highlighted{position:absolute !important;z-index:2;width:1em;height:1em;background:url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASAgMAAAAroGbEAAAACVBMVEUAAIjd6vvD2f9LKLW+AAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfYAR0BKwNDEVT0AAAAG0lEQVQI12NgAAOtVatWMTCohoaGUY+EmIkEAEruEzK2J7tvAAAAAElFTkSuQmCC") repeat}.note-popover .popover-content .note-style .dropdown-style blockquote,.note-popover .popover-content .note-style .dropdown-style pre,.note-editor .note-toolbar .note-style .dropdown-style blockquote,.note-editor .note-toolbar .note-style .dropdown-style pre{margin:0;padding:5px 10px}.note-popover .popover-content .note-style .dropdown-style h1,.note-popover .popover-content .note-style .dropdown-style h2,.note-popover .popover-content .note-style .dropdown-style h3,.note-popover .popover-content .note-style .dropdown-style h4,.note-popover .popover-content .note-style .dropdown-style h5,.note-popover .popover-content .note-style .dropdown-style h6,.note-popover .popover-content .note-style .dropdown-style p,.note-editor .note-toolbar .note-style .dropdown-style h1,.note-editor .note-toolbar .note-style .dropdown-style h2,.note-editor .note-toolbar .note-style .dropdown-style h3,.note-editor .note-toolbar .note-style .dropdown-style h4,.note-editor .note-toolbar .note-style .dropdown-style h5,.note-editor .note-toolbar .note-style .dropdown-style h6,.note-editor .note-toolbar .note-style .dropdown-style p{margin:0;padding:0}.note-popover .popover-content .note-color-all .note-dropdown-menu,.note-editor .note-toolbar .note-color-all .note-dropdown-menu{min-width:337px}.note-popover .popover-content .note-color .dropdown-toggle,.note-editor .note-toolbar .note-color .dropdown-toggle{width:20px;padding-left:5px}.note-popover .popover-content .note-color .note-dropdown-menu .note-palette,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette{display:inline-block;margin:0;width:160px}.note-popover .popover-content .note-color .note-dropdown-menu .note-palette:first-child,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette:first-child{margin:0 5px}.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-palette-title,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-palette-title{font-size:12px;margin:2px 7px;text-align:center;border-bottom:1px solid #eee}.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select{font-size:11px;margin:3px;padding:0 3px;cursor:pointer;width:100%;border-radius:5px}.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select:hover,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-reset:hover,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select:hover{background:#eee}.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-row,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-row{height:20px}.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-color-select-btn,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-color-select-btn{display:none}.note-popover .popover-content .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn,.note-editor .note-toolbar .note-color .note-dropdown-menu .note-palette .note-holder-custom .note-color-btn{border:1px solid #eee}.note-popover .popover-content .note-para .note-dropdown-menu,.note-editor .note-toolbar .note-para .note-dropdown-menu{min-width:228px;padding:5px}.note-popover .popover-content .note-para .note-dropdown-menu>div+div,.note-editor .note-toolbar .note-para .note-dropdown-menu>div+div{margin-left:5px}.note-popover .popover-content .note-dropdown-menu,.note-editor .note-toolbar .note-dropdown-menu{min-width:160px}.note-popover .popover-content .note-dropdown-menu.right,.note-editor .note-toolbar .note-dropdown-menu.right{right:0;left:auto}.note-popover .popover-content .note-dropdown-menu.right::before,.note-editor .note-toolbar .note-dropdown-menu.right::before{right:9px;left:auto !important}.note-popover .popover-content .note-dropdown-menu.right::after,.note-editor .note-toolbar .note-dropdown-menu.right::after{right:10px;left:auto !important}.note-popover .popover-content .note-dropdown-menu.note-check a i,.note-editor .note-toolbar .note-dropdown-menu.note-check a i{color:deepskyblue;visibility:hidden}.note-popover .popover-content .note-dropdown-menu.note-check a.checked i,.note-editor .note-toolbar .note-dropdown-menu.note-check a.checked i{visibility:visible}.note-popover .popover-content .note-fontsize-10,.note-editor .note-toolbar .note-fontsize-10{font-size:10px}.note-popover .popover-content .note-color-palette,.note-editor .note-toolbar .note-color-palette{line-height:1}.note-popover .popover-content .note-color-palette div .note-color-btn,.note-editor .note-toolbar .note-color-palette div .note-color-btn{width:20px;height:20px;padding:0;margin:0;border:0;border-radius:0}.note-popover .popover-content .note-color-palette div .note-color-btn:hover,.note-editor .note-toolbar .note-color-palette div .note-color-btn:hover{transform:scale(1.2);transition:all .2s}.note-modal .modal-dialog{outline:0;border-radius:5px;box-shadow:0 3px 9px rgba(0,0,0,0.5)}.note-modal .form-group{margin-left:0;margin-right:0}.note-modal .note-modal-form{margin:0}.note-modal .note-image-dialog .note-dropzone{min-height:100px;font-size:30px;line-height:4;color:lightgray;text-align:center;border:4px dashed lightgray;margin-bottom:10px}@-moz-document url-prefix(){.note-modal .note-image-input{height:auto}}.note-placeholder{position:absolute;display:none;color:gray}.note-handle .note-control-selection{position:absolute;display:none;border:1px solid #000}.note-handle .note-control-selection>div{position:absolute}.note-handle .note-control-selection .note-control-selection-bg{width:100%;height:100%;background-color:#000;-webkit-opacity:.3;-khtml-opacity:.3;-moz-opacity:.3;opacity:.3;-ms-filter:alpha(opacity=30);filter:alpha(opacity=30)}.note-handle .note-control-selection .note-control-handle,.note-handle .note-control-selection .note-control-sizing,.note-handle .note-control-selection .note-control-holder{width:7px;height:7px;border:1px solid #000}.note-handle .note-control-selection .note-control-sizing{background-color:#000}.note-handle .note-control-selection .note-control-nw{top:-5px;left:-5px;border-right:0;border-bottom:0}.note-handle .note-control-selection .note-control-ne{top:-5px;right:-5px;border-bottom:0;border-left:0}.note-handle .note-control-selection .note-control-sw{bottom:-5px;left:-5px;border-top:0;border-right:0}.note-handle .note-control-selection .note-control-se{right:-5px;bottom:-5px;cursor:se-resize}.note-handle .note-control-selection .note-control-se.note-control-holder{cursor:default;border-top:0;border-left:0}.note-handle .note-control-selection .note-control-selection-info{right:0;bottom:0;padding:5px;margin:5px;color:#fff;background-color:#000;font-size:12px;border-radius:5px;-webkit-opacity:.7;-khtml-opacity:.7;-moz-opacity:.7;opacity:.7;-ms-filter:alpha(opacity=70);filter:alpha(opacity=70)}.note-hint-popover{min-width:100px;padding:2px}.note-hint-popover .popover-content{padding:3px;max-height:150px;overflow:auto}.note-hint-popover .popover-content .note-hint-group .note-hint-item{display:block !important;padding:3px}.note-hint-popover .popover-content .note-hint-group .note-hint-item.active,.note-hint-popover .popover-content .note-hint-group .note-hint-item:hover{display:block;clear:both;font-weight:400;line-height:1.4;color:white;white-space:nowrap;text-decoration:none;background-color:#428bca;outline:0;cursor:pointer}html .note-fullscreen-body,body .note-fullscreen-body{overflow:hidden !important}body.darktheme .note-popover .popover-content>.note-btn-group,body.darktheme .note-editor .note-toolbar>.note-btn-group .note-btn{background:#262626;color:#ccc} |
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
不能预览此文件类型
此 diff 太大无法显示。
此 diff 太大无法显示。
1 | +/*! | ||
2 | + * | ||
3 | + * Super simple WYSIWYG editor v0.8.20 | ||
4 | + * https://summernote.org | ||
5 | + * | ||
6 | + * | ||
7 | + * Copyright 2013- Alan Hong and contributors | ||
8 | + * Summernote may be freely distributed under the MIT license. | ||
9 | + * | ||
10 | + * Date: 2021-10-14T21:15Z | ||
11 | + * | ||
12 | + */ | ||
13 | +(function webpackUniversalModuleDefinition(root, factory) { | ||
14 | + if(typeof exports === 'object' && typeof module === 'object') | ||
15 | + module.exports = factory(); | ||
16 | + else if(typeof define === 'function' && define.amd) | ||
17 | + define([], factory); | ||
18 | + else { | ||
19 | + var a = factory(); | ||
20 | + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; | ||
21 | + } | ||
22 | +})(self, function() { | ||
23 | +return /******/ (() => { // webpackBootstrap | ||
24 | +var __webpack_exports__ = {}; | ||
25 | +(function ($) { | ||
26 | + $.extend($.summernote.lang, { | ||
27 | + 'zh-CN': { | ||
28 | + font: { | ||
29 | + bold: '粗体', | ||
30 | + italic: '斜体', | ||
31 | + underline: '下划线', | ||
32 | + clear: '清除格式', | ||
33 | + height: '行高', | ||
34 | + name: '字体', | ||
35 | + strikethrough: '删除线', | ||
36 | + subscript: '下标', | ||
37 | + superscript: '上标', | ||
38 | + size: '字号' | ||
39 | + }, | ||
40 | + image: { | ||
41 | + image: '图片', | ||
42 | + insert: '插入图片', | ||
43 | + resizeFull: '缩放至 100%', | ||
44 | + resizeHalf: '缩放至 50%', | ||
45 | + resizeQuarter: '缩放至 25%', | ||
46 | + floatLeft: '靠左浮动', | ||
47 | + floatRight: '靠右浮动', | ||
48 | + floatNone: '取消浮动', | ||
49 | + shapeRounded: '形状: 圆角', | ||
50 | + shapeCircle: '形状: 圆', | ||
51 | + shapeThumbnail: '形状: 缩略图', | ||
52 | + shapeNone: '形状: 无', | ||
53 | + dragImageHere: '将图片拖拽至此处', | ||
54 | + dropImage: '拖拽图片或文本', | ||
55 | + selectFromFiles: '从本地上传', | ||
56 | + maximumFileSize: '文件大小最大值', | ||
57 | + maximumFileSizeError: '文件大小超出最大值。', | ||
58 | + url: '图片地址', | ||
59 | + remove: '移除图片', | ||
60 | + original: '原始图片' | ||
61 | + }, | ||
62 | + video: { | ||
63 | + video: '视频', | ||
64 | + videoLink: '视频链接', | ||
65 | + insert: '插入视频', | ||
66 | + url: '视频地址', | ||
67 | + providers: '(视频地址)' | ||
68 | + }, | ||
69 | + link: { | ||
70 | + link: '链接', | ||
71 | + insert: '插入链接', | ||
72 | + unlink: '去除链接', | ||
73 | + edit: '编辑链接', | ||
74 | + textToDisplay: '显示文本', | ||
75 | + url: '链接地址', | ||
76 | + openInNewWindow: '在新窗口打开' | ||
77 | + }, | ||
78 | + table: { | ||
79 | + table: '表格', | ||
80 | + addRowAbove: '在上方插入行', | ||
81 | + addRowBelow: '在下方插入行', | ||
82 | + addColLeft: '在左侧插入列', | ||
83 | + addColRight: '在右侧插入列', | ||
84 | + delRow: '删除行', | ||
85 | + delCol: '删除列', | ||
86 | + delTable: '删除表格' | ||
87 | + }, | ||
88 | + hr: { | ||
89 | + insert: '水平线' | ||
90 | + }, | ||
91 | + style: { | ||
92 | + style: '样式', | ||
93 | + p: '普通', | ||
94 | + blockquote: '引用', | ||
95 | + pre: '代码', | ||
96 | + h1: '标题 1', | ||
97 | + h2: '标题 2', | ||
98 | + h3: '标题 3', | ||
99 | + h4: '标题 4', | ||
100 | + h5: '标题 5', | ||
101 | + h6: '标题 6' | ||
102 | + }, | ||
103 | + lists: { | ||
104 | + unordered: '无序列表', | ||
105 | + ordered: '有序列表' | ||
106 | + }, | ||
107 | + options: { | ||
108 | + help: '帮助', | ||
109 | + fullscreen: '全屏', | ||
110 | + codeview: '源代码' | ||
111 | + }, | ||
112 | + paragraph: { | ||
113 | + paragraph: '段落', | ||
114 | + outdent: '减少缩进', | ||
115 | + indent: '增加缩进', | ||
116 | + left: '左对齐', | ||
117 | + center: '居中对齐', | ||
118 | + right: '右对齐', | ||
119 | + justify: '两端对齐' | ||
120 | + }, | ||
121 | + color: { | ||
122 | + recent: '最近使用', | ||
123 | + more: '更多', | ||
124 | + background: '背景', | ||
125 | + foreground: '前景', | ||
126 | + transparent: '透明', | ||
127 | + setTransparent: '透明', | ||
128 | + reset: '重置', | ||
129 | + resetToDefault: '默认' | ||
130 | + }, | ||
131 | + shortcut: { | ||
132 | + shortcuts: '快捷键', | ||
133 | + close: '关闭', | ||
134 | + textFormatting: '文本格式', | ||
135 | + action: '动作', | ||
136 | + paragraphFormatting: '段落格式', | ||
137 | + documentStyle: '文档样式', | ||
138 | + extraKeys: '额外按键' | ||
139 | + }, | ||
140 | + help: { | ||
141 | + insertParagraph: '插入段落', | ||
142 | + undo: '撤销', | ||
143 | + redo: '重做', | ||
144 | + tab: '增加缩进', | ||
145 | + untab: '减少缩进', | ||
146 | + bold: '粗体', | ||
147 | + italic: '斜体', | ||
148 | + underline: '下划线', | ||
149 | + strikethrough: '删除线', | ||
150 | + removeFormat: '清除格式', | ||
151 | + justifyLeft: '左对齐', | ||
152 | + justifyCenter: '居中对齐', | ||
153 | + justifyRight: '右对齐', | ||
154 | + justifyFull: '两端对齐', | ||
155 | + insertUnorderedList: '无序列表', | ||
156 | + insertOrderedList: '有序列表', | ||
157 | + outdent: '减少缩进', | ||
158 | + indent: '增加缩进', | ||
159 | + formatPara: '设置选中内容样式为 普通', | ||
160 | + formatH1: '设置选中内容样式为 标题1', | ||
161 | + formatH2: '设置选中内容样式为 标题2', | ||
162 | + formatH3: '设置选中内容样式为 标题3', | ||
163 | + formatH4: '设置选中内容样式为 标题4', | ||
164 | + formatH5: '设置选中内容样式为 标题5', | ||
165 | + formatH6: '设置选中内容样式为 标题6', | ||
166 | + insertHorizontalRule: '插入水平线', | ||
167 | + 'linkDialog.show': '显示链接对话框' | ||
168 | + }, | ||
169 | + history: { | ||
170 | + undo: '撤销', | ||
171 | + redo: '重做' | ||
172 | + }, | ||
173 | + specialChar: { | ||
174 | + specialChar: '特殊字符', | ||
175 | + select: '选取特殊字符' | ||
176 | + } | ||
177 | + } | ||
178 | + }); | ||
179 | +})(jQuery); | ||
180 | +/******/ return __webpack_exports__; | ||
181 | +/******/ })() | ||
182 | +; | ||
183 | +}); | ||
184 | +//# sourceMappingURL=summernote-zh-CN.js.map |
1 | +/*! Summernote v0.8.20 | (c) 2013- Alan Hong and contributors | MIT license */ | ||
2 | +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var o in r)("object"==typeof exports?exports:e)[o]=r[o]}}(self,(function(){return(e=jQuery).extend(e.summernote.lang,{"zh-CN":{font:{bold:"粗体",italic:"斜体",underline:"下划线",clear:"清除格式",height:"行高",name:"字体",strikethrough:"删除线",subscript:"下标",superscript:"上标",size:"字号"},image:{image:"图片",insert:"插入图片",resizeFull:"缩放至 100%",resizeHalf:"缩放至 50%",resizeQuarter:"缩放至 25%",floatLeft:"靠左浮动",floatRight:"靠右浮动",floatNone:"取消浮动",shapeRounded:"形状: 圆角",shapeCircle:"形状: 圆",shapeThumbnail:"形状: 缩略图",shapeNone:"形状: 无",dragImageHere:"将图片拖拽至此处",dropImage:"拖拽图片或文本",selectFromFiles:"从本地上传",maximumFileSize:"文件大小最大值",maximumFileSizeError:"文件大小超出最大值。",url:"图片地址",remove:"移除图片",original:"原始图片"},video:{video:"视频",videoLink:"视频链接",insert:"插入视频",url:"视频地址",providers:"(视频地址)"},link:{link:"链接",insert:"插入链接",unlink:"去除链接",edit:"编辑链接",textToDisplay:"显示文本",url:"链接地址",openInNewWindow:"在新窗口打开"},table:{table:"表格",addRowAbove:"在上方插入行",addRowBelow:"在下方插入行",addColLeft:"在左侧插入列",addColRight:"在右侧插入列",delRow:"删除行",delCol:"删除列",delTable:"删除表格"},hr:{insert:"水平线"},style:{style:"样式",p:"普通",blockquote:"引用",pre:"代码",h1:"标题 1",h2:"标题 2",h3:"标题 3",h4:"标题 4",h5:"标题 5",h6:"标题 6"},lists:{unordered:"无序列表",ordered:"有序列表"},options:{help:"帮助",fullscreen:"全屏",codeview:"源代码"},paragraph:{paragraph:"段落",outdent:"减少缩进",indent:"增加缩进",left:"左对齐",center:"居中对齐",right:"右对齐",justify:"两端对齐"},color:{recent:"最近使用",more:"更多",background:"背景",foreground:"前景",transparent:"透明",setTransparent:"透明",reset:"重置",resetToDefault:"默认"},shortcut:{shortcuts:"快捷键",close:"关闭",textFormatting:"文本格式",action:"动作",paragraphFormatting:"段落格式",documentStyle:"文档样式",extraKeys:"额外按键"},help:{insertParagraph:"插入段落",undo:"撤销",redo:"重做",tab:"增加缩进",untab:"减少缩进",bold:"粗体",italic:"斜体",underline:"下划线",strikethrough:"删除线",removeFormat:"清除格式",justifyLeft:"左对齐",justifyCenter:"居中对齐",justifyRight:"右对齐",justifyFull:"两端对齐",insertUnorderedList:"无序列表",insertOrderedList:"有序列表",outdent:"减少缩进",indent:"增加缩进",formatPara:"设置选中内容样式为 普通",formatH1:"设置选中内容样式为 标题1",formatH2:"设置选中内容样式为 标题2",formatH3:"设置选中内容样式为 标题3",formatH4:"设置选中内容样式为 标题4",formatH5:"设置选中内容样式为 标题5",formatH6:"设置选中内容样式为 标题6",insertHorizontalRule:"插入水平线","linkDialog.show":"显示链接对话框"},history:{undo:"撤销",redo:"重做"},specialChar:{specialChar:"特殊字符",select:"选取特殊字符"}}}),{};var e})); |
1 | +/*! | ||
2 | + * | ||
3 | + * Super simple WYSIWYG editor v0.8.20 | ||
4 | + * https://summernote.org | ||
5 | + * | ||
6 | + * | ||
7 | + * Copyright 2013- Alan Hong and contributors | ||
8 | + * Summernote may be freely distributed under the MIT license. | ||
9 | + * | ||
10 | + * Date: 2021-10-14T21:15Z | ||
11 | + * | ||
12 | + */ | ||
13 | +(function webpackUniversalModuleDefinition(root, factory) { | ||
14 | + if(typeof exports === 'object' && typeof module === 'object') | ||
15 | + module.exports = factory(); | ||
16 | + else if(typeof define === 'function' && define.amd) | ||
17 | + define([], factory); | ||
18 | + else { | ||
19 | + var a = factory(); | ||
20 | + for(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i]; | ||
21 | + } | ||
22 | +})(self, function() { | ||
23 | +return /******/ (() => { // webpackBootstrap | ||
24 | +var __webpack_exports__ = {}; | ||
25 | +(function ($) { | ||
26 | + $.extend($.summernote.lang, { | ||
27 | + 'zh-TW': { | ||
28 | + font: { | ||
29 | + bold: '粗體', | ||
30 | + italic: '斜體', | ||
31 | + underline: '底線', | ||
32 | + clear: '清除格式', | ||
33 | + height: '行高', | ||
34 | + name: '字體', | ||
35 | + strikethrough: '刪除線', | ||
36 | + subscript: '下標', | ||
37 | + superscript: '上標', | ||
38 | + size: '字號' | ||
39 | + }, | ||
40 | + image: { | ||
41 | + image: '圖片', | ||
42 | + insert: '插入圖片', | ||
43 | + resizeFull: '縮放至100%', | ||
44 | + resizeHalf: '縮放至 50%', | ||
45 | + resizeQuarter: '縮放至 25%', | ||
46 | + floatLeft: '靠左浮動', | ||
47 | + floatRight: '靠右浮動', | ||
48 | + floatNone: '取消浮動', | ||
49 | + shapeRounded: '形狀: 圓角', | ||
50 | + shapeCircle: '形狀: 圓', | ||
51 | + shapeThumbnail: '形狀: 縮略圖', | ||
52 | + shapeNone: '形狀: 無', | ||
53 | + dragImageHere: '將圖片拖曳至此處', | ||
54 | + dropImage: 'Drop image or Text', | ||
55 | + selectFromFiles: '從本機上傳', | ||
56 | + maximumFileSize: '文件大小最大值', | ||
57 | + maximumFileSizeError: '文件大小超出最大值。', | ||
58 | + url: '圖片網址', | ||
59 | + remove: '移除圖片', | ||
60 | + original: 'Original' | ||
61 | + }, | ||
62 | + video: { | ||
63 | + video: '影片', | ||
64 | + videoLink: '影片連結', | ||
65 | + insert: '插入影片', | ||
66 | + url: '影片網址', | ||
67 | + providers: '(影片網址)' | ||
68 | + }, | ||
69 | + link: { | ||
70 | + link: '連結', | ||
71 | + insert: '插入連結', | ||
72 | + unlink: '取消連結', | ||
73 | + edit: '編輯連結', | ||
74 | + textToDisplay: '顯示文字', | ||
75 | + url: '連結網址', | ||
76 | + openInNewWindow: '在新視窗開啟' | ||
77 | + }, | ||
78 | + table: { | ||
79 | + table: '表格', | ||
80 | + addRowAbove: '上方插入列', | ||
81 | + addRowBelow: '下方插入列', | ||
82 | + addColLeft: '左方插入欄', | ||
83 | + addColRight: '右方插入欄', | ||
84 | + delRow: '刪除列', | ||
85 | + delCol: '刪除欄', | ||
86 | + delTable: '刪除表格' | ||
87 | + }, | ||
88 | + hr: { | ||
89 | + insert: '水平線' | ||
90 | + }, | ||
91 | + style: { | ||
92 | + style: '樣式', | ||
93 | + p: '一般', | ||
94 | + blockquote: '引用區塊', | ||
95 | + pre: '程式碼區塊', | ||
96 | + h1: '標題 1', | ||
97 | + h2: '標題 2', | ||
98 | + h3: '標題 3', | ||
99 | + h4: '標題 4', | ||
100 | + h5: '標題 5', | ||
101 | + h6: '標題 6' | ||
102 | + }, | ||
103 | + lists: { | ||
104 | + unordered: '項目清單', | ||
105 | + ordered: '編號清單' | ||
106 | + }, | ||
107 | + options: { | ||
108 | + help: '幫助', | ||
109 | + fullscreen: '全螢幕', | ||
110 | + codeview: '原始碼' | ||
111 | + }, | ||
112 | + paragraph: { | ||
113 | + paragraph: '段落', | ||
114 | + outdent: '取消縮排', | ||
115 | + indent: '增加縮排', | ||
116 | + left: '靠右對齊', | ||
117 | + center: '靠中對齊', | ||
118 | + right: '靠右對齊', | ||
119 | + justify: '左右對齊' | ||
120 | + }, | ||
121 | + color: { | ||
122 | + recent: '字型顏色', | ||
123 | + more: '更多', | ||
124 | + background: '背景', | ||
125 | + foreground: '字體', | ||
126 | + transparent: '透明', | ||
127 | + setTransparent: '透明', | ||
128 | + reset: '重設', | ||
129 | + resetToDefault: '預設' | ||
130 | + }, | ||
131 | + shortcut: { | ||
132 | + shortcuts: '快捷鍵', | ||
133 | + close: '關閉', | ||
134 | + textFormatting: '文字格式', | ||
135 | + action: '動作', | ||
136 | + paragraphFormatting: '段落格式', | ||
137 | + documentStyle: '文件格式', | ||
138 | + extraKeys: '額外按鍵' | ||
139 | + }, | ||
140 | + help: { | ||
141 | + 'insertParagraph': 'Insert Paragraph', | ||
142 | + 'undo': 'Undoes the last command', | ||
143 | + 'redo': 'Redoes the last command', | ||
144 | + 'tab': 'Tab', | ||
145 | + 'untab': 'Untab', | ||
146 | + 'bold': 'Set a bold style', | ||
147 | + 'italic': 'Set a italic style', | ||
148 | + 'underline': 'Set a underline style', | ||
149 | + 'strikethrough': 'Set a strikethrough style', | ||
150 | + 'removeFormat': 'Clean a style', | ||
151 | + 'justifyLeft': 'Set left align', | ||
152 | + 'justifyCenter': 'Set center align', | ||
153 | + 'justifyRight': 'Set right align', | ||
154 | + 'justifyFull': 'Set full align', | ||
155 | + 'insertUnorderedList': 'Toggle unordered list', | ||
156 | + 'insertOrderedList': 'Toggle ordered list', | ||
157 | + 'outdent': 'Outdent on current paragraph', | ||
158 | + 'indent': 'Indent on current paragraph', | ||
159 | + 'formatPara': 'Change current block\'s format as a paragraph(P tag)', | ||
160 | + 'formatH1': 'Change current block\'s format as H1', | ||
161 | + 'formatH2': 'Change current block\'s format as H2', | ||
162 | + 'formatH3': 'Change current block\'s format as H3', | ||
163 | + 'formatH4': 'Change current block\'s format as H4', | ||
164 | + 'formatH5': 'Change current block\'s format as H5', | ||
165 | + 'formatH6': 'Change current block\'s format as H6', | ||
166 | + 'insertHorizontalRule': 'Insert horizontal rule', | ||
167 | + 'linkDialog.show': 'Show Link Dialog' | ||
168 | + }, | ||
169 | + history: { | ||
170 | + undo: '復原', | ||
171 | + redo: '取消復原' | ||
172 | + }, | ||
173 | + specialChar: { | ||
174 | + specialChar: 'SPECIAL CHARACTERS', | ||
175 | + select: 'Select Special characters' | ||
176 | + } | ||
177 | + } | ||
178 | + }); | ||
179 | +})(jQuery); | ||
180 | +/******/ return __webpack_exports__; | ||
181 | +/******/ })() | ||
182 | +; | ||
183 | +}); | ||
184 | +//# sourceMappingURL=summernote-zh-TW.js.map |
1 | +/*! Summernote v0.8.20 | (c) 2013- Alan Hong and contributors | MIT license */ | ||
2 | +!function(e,t){if("object"==typeof exports&&"object"==typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var r=t();for(var a in r)("object"==typeof exports?exports:e)[a]=r[a]}}(self,(function(){return(e=jQuery).extend(e.summernote.lang,{"zh-TW":{font:{bold:"粗體",italic:"斜體",underline:"底線",clear:"清除格式",height:"行高",name:"字體",strikethrough:"刪除線",subscript:"下標",superscript:"上標",size:"字號"},image:{image:"圖片",insert:"插入圖片",resizeFull:"縮放至100%",resizeHalf:"縮放至 50%",resizeQuarter:"縮放至 25%",floatLeft:"靠左浮動",floatRight:"靠右浮動",floatNone:"取消浮動",shapeRounded:"形狀: 圓角",shapeCircle:"形狀: 圓",shapeThumbnail:"形狀: 縮略圖",shapeNone:"形狀: 無",dragImageHere:"將圖片拖曳至此處",dropImage:"Drop image or Text",selectFromFiles:"從本機上傳",maximumFileSize:"文件大小最大值",maximumFileSizeError:"文件大小超出最大值。",url:"圖片網址",remove:"移除圖片",original:"Original"},video:{video:"影片",videoLink:"影片連結",insert:"插入影片",url:"影片網址",providers:"(影片網址)"},link:{link:"連結",insert:"插入連結",unlink:"取消連結",edit:"編輯連結",textToDisplay:"顯示文字",url:"連結網址",openInNewWindow:"在新視窗開啟"},table:{table:"表格",addRowAbove:"上方插入列",addRowBelow:"下方插入列",addColLeft:"左方插入欄",addColRight:"右方插入欄",delRow:"刪除列",delCol:"刪除欄",delTable:"刪除表格"},hr:{insert:"水平線"},style:{style:"樣式",p:"一般",blockquote:"引用區塊",pre:"程式碼區塊",h1:"標題 1",h2:"標題 2",h3:"標題 3",h4:"標題 4",h5:"標題 5",h6:"標題 6"},lists:{unordered:"項目清單",ordered:"編號清單"},options:{help:"幫助",fullscreen:"全螢幕",codeview:"原始碼"},paragraph:{paragraph:"段落",outdent:"取消縮排",indent:"增加縮排",left:"靠右對齊",center:"靠中對齊",right:"靠右對齊",justify:"左右對齊"},color:{recent:"字型顏色",more:"更多",background:"背景",foreground:"字體",transparent:"透明",setTransparent:"透明",reset:"重設",resetToDefault:"預設"},shortcut:{shortcuts:"快捷鍵",close:"關閉",textFormatting:"文字格式",action:"動作",paragraphFormatting:"段落格式",documentStyle:"文件格式",extraKeys:"額外按鍵"},help:{insertParagraph:"Insert Paragraph",undo:"Undoes the last command",redo:"Redoes the last command",tab:"Tab",untab:"Untab",bold:"Set a bold style",italic:"Set a italic style",underline:"Set a underline style",strikethrough:"Set a strikethrough style",removeFormat:"Clean a style",justifyLeft:"Set left align",justifyCenter:"Set center align",justifyRight:"Set right align",justifyFull:"Set full align",insertUnorderedList:"Toggle unordered list",insertOrderedList:"Toggle ordered list",outdent:"Outdent on current paragraph",indent:"Indent on current paragraph",formatPara:"Change current block's format as a paragraph(P tag)",formatH1:"Change current block's format as H1",formatH2:"Change current block's format as H2",formatH3:"Change current block's format as H3",formatH4:"Change current block's format as H4",formatH5:"Change current block's format as H5",formatH6:"Change current block's format as H6",insertHorizontalRule:"Insert horizontal rule","linkDialog.show":"Show Link Dialog"},history:{undo:"復原",redo:"取消復原"},specialChar:{specialChar:"SPECIAL CHARACTERS",select:"Select Special characters"}}}),{};var e})); |
1 | define([], function () { | 1 | define([], function () { |
2 | + //修改上传的接口调用 | ||
3 | +require(['upload'], function (Upload) { | ||
4 | + | ||
5 | + //初始化中完成判断 | ||
6 | + Upload.events.onInit = function () { | ||
7 | + //如果上传接口不是七牛云,则不处理 | ||
8 | + if (this.options.url !== Config.upload.uploadurl) { | ||
9 | + return; | ||
10 | + } | ||
11 | + var _success = this.options.success; | ||
12 | + | ||
13 | + $.extend(this.options, { | ||
14 | + chunkSuccess: function (chunk, file, response) { | ||
15 | + this.contexts = this.contexts ? this.contexts : []; | ||
16 | + this.contexts.push(typeof response.ctx !== 'undefined' ? response.ctx : response.data.ctx); | ||
17 | + }, | ||
18 | + chunksUploaded: function (file, done) { | ||
19 | + var that = this; | ||
20 | + var params = $(that.element).data("params") || {}; | ||
21 | + var category = typeof params.category !== 'undefined' ? params.category : ($(that.element).data("category") || ''); | ||
22 | + Fast.api.ajax({ | ||
23 | + url: "/addons/qiniu/index/upload", | ||
24 | + data: { | ||
25 | + action: 'merge', | ||
26 | + filesize: file.size, | ||
27 | + filename: file.name, | ||
28 | + chunkid: file.upload.uuid, | ||
29 | + chunkcount: file.upload.totalChunkCount, | ||
30 | + width: file.width || 0, | ||
31 | + height: file.height || 0, | ||
32 | + type: file.type, | ||
33 | + category: category, | ||
34 | + qiniutoken: Config.upload.multipart.qiniutoken, | ||
35 | + contexts: this.contexts | ||
36 | + }, | ||
37 | + }, function (data, ret) { | ||
38 | + done(JSON.stringify(ret)); | ||
39 | + return false; | ||
40 | + }, function (data, ret) { | ||
41 | + file.accepted = false; | ||
42 | + that._errorProcessing([file], ret.msg); | ||
43 | + return false; | ||
44 | + }); | ||
45 | + | ||
46 | + }, | ||
47 | + }); | ||
48 | + | ||
49 | + //先移除已有的事件 | ||
50 | + this.off("success", _success).on("success", function (file, response) { | ||
51 | + var that = this; | ||
52 | + var ret = {code: 0, msg: response}; | ||
53 | + try { | ||
54 | + ret = typeof response === 'string' ? JSON.parse(response) : response; | ||
55 | + if (file.xhr.status === 200) { | ||
56 | + if (typeof ret.key !== 'undefined') { | ||
57 | + ret = {code: 1, msg: "", data: {url: '/' + ret.key, hash: ret.hash}}; | ||
58 | + } | ||
59 | + console.log(ret); | ||
60 | + var params = $(that.element).data("params") || {}; | ||
61 | + var category = typeof params.category !== 'undefined' ? params.category : ($(that.element).data("category") || ''); | ||
62 | + Fast.api.ajax({ | ||
63 | + url: "/addons/qiniu/index/notify", | ||
64 | + data: {name: file.name, url: ret.data.url, hash: ret.data.hash, size: file.size, width: file.width || 0, height: file.height || 0, type: file.type, category: category, qiniutoken: Config.upload.multipart.qiniutoken} | ||
65 | + }, function () { | ||
66 | + return false; | ||
67 | + }, function () { | ||
68 | + return false; | ||
69 | + }); | ||
70 | + } | ||
71 | + } catch (e) { | ||
72 | + console.error(e); | ||
73 | + } | ||
74 | + _success.call(this, file, ret); | ||
75 | + }); | ||
76 | + | ||
77 | + //如果是直传模式 | ||
78 | + if (Config.upload.uploadmode === 'client') { | ||
79 | + var _url = this.options.url; | ||
80 | + | ||
81 | + //分片上传时URL链接不同 | ||
82 | + this.options.url = function (files) { | ||
83 | + this.options.headers = {"Authorization": "UpToken " + Config.upload.multipart.qiniutoken}; | ||
84 | + if (files[0].upload.chunked) { | ||
85 | + var chunk = null; | ||
86 | + files[0].upload.chunks.forEach(function (item) { | ||
87 | + if (item.status === 'uploading') { | ||
88 | + chunk = item; | ||
89 | + } | ||
90 | + }); | ||
91 | + if (!chunk) { | ||
92 | + return Config.upload.uploadurl + '/mkfile/' + files[0].size; | ||
93 | + } else { | ||
94 | + return Config.upload.uploadurl + '/mkblk/' + chunk.dataBlock.data.size; | ||
95 | + } | ||
96 | + } | ||
97 | + return _url; | ||
98 | + }; | ||
99 | + | ||
100 | + this.options.params = function (files, xhr, chunk) { | ||
101 | + var params = Config.upload.multipart; | ||
102 | + if (chunk) { | ||
103 | + return $.extend({}, params, { | ||
104 | + filesize: chunk.file.size, | ||
105 | + filename: chunk.file.name, | ||
106 | + chunkid: chunk.file.upload.uuid, | ||
107 | + chunkindex: chunk.index, | ||
108 | + chunkcount: chunk.file.upload.totalChunkCount, | ||
109 | + chunkfilesize: chunk.dataBlock.data.size, | ||
110 | + width: chunk.file.width || 0, | ||
111 | + height: chunk.file.height || 0, | ||
112 | + type: chunk.file.type, | ||
113 | + }); | ||
114 | + } else { | ||
115 | + var retParams = $.extend({}, params); | ||
116 | + //七牛云直传使用的是token参数 | ||
117 | + retParams.token = retParams.qiniutoken; | ||
118 | + delete retParams.qiniutoken; | ||
119 | + return retParams; | ||
120 | + } | ||
121 | + }; | ||
122 | + | ||
123 | + //分片上传时需要变更提交的内容 | ||
124 | + this.on("sending", function (file, xhr, formData) { | ||
125 | + if (file.upload.chunked) { | ||
126 | + var _send = xhr.send; | ||
127 | + xhr.send = function () { | ||
128 | + var chunk = null; | ||
129 | + file.upload.chunks.forEach(function (item) { | ||
130 | + if (item.status == 'uploading') { | ||
131 | + chunk = item; | ||
132 | + } | ||
133 | + }); | ||
134 | + if (chunk) { | ||
135 | + _send.call(xhr, chunk.dataBlock.data); | ||
136 | + } | ||
137 | + }; | ||
138 | + } | ||
139 | + }); | ||
140 | + } | ||
141 | + }; | ||
142 | + | ||
143 | +}); | ||
144 | + | ||
145 | +require.config({ | ||
146 | + paths: { | ||
147 | + 'summernote': '../addons/summernote/lang/summernote-zh-CN.min' | ||
148 | + }, | ||
149 | + shim: { | ||
150 | + 'summernote': ['../addons/summernote/js/summernote.min', 'css!../addons/summernote/css/summernote.min.css'], | ||
151 | + } | ||
152 | +}); | ||
153 | +require(['form', 'upload'], function (Form, Upload) { | ||
154 | + var _bindevent = Form.events.bindevent; | ||
155 | + Form.events.bindevent = function (form) { | ||
156 | + _bindevent.apply(this, [form]); | ||
157 | + try { | ||
158 | + //绑定summernote事件 | ||
159 | + if ($(Config.summernote.classname || '.editor', form).length > 0) { | ||
160 | + var selectUrl = typeof Config !== 'undefined' && Config.modulename === 'index' ? 'user/attachment' : 'general/attachment/select'; | ||
161 | + require(['summernote'], function () { | ||
162 | + var imageButton = function (context) { | ||
163 | + var ui = $.summernote.ui; | ||
164 | + var button = ui.button({ | ||
165 | + contents: '<i class="fa fa-file-image-o"/>', | ||
166 | + tooltip: __('Choose'), | ||
167 | + click: function () { | ||
168 | + parent.Fast.api.open(selectUrl + "?element_id=&multiple=true&mimetype=image/", __('Choose'), { | ||
169 | + callback: function (data) { | ||
170 | + var urlArr = data.url.split(/\,/); | ||
171 | + $.each(urlArr, function () { | ||
172 | + var url = Fast.api.cdnurl(this, true); | ||
173 | + context.invoke('editor.insertImage', url); | ||
174 | + }); | ||
175 | + } | ||
176 | + }); | ||
177 | + return false; | ||
178 | + } | ||
179 | + }); | ||
180 | + return button.render(); | ||
181 | + }; | ||
182 | + var attachmentButton = function (context) { | ||
183 | + var ui = $.summernote.ui; | ||
184 | + var button = ui.button({ | ||
185 | + contents: '<i class="fa fa-file"/>', | ||
186 | + tooltip: __('Choose'), | ||
187 | + click: function () { | ||
188 | + parent.Fast.api.open(selectUrl + "?element_id=&multiple=true&mimetype=*", __('Choose'), { | ||
189 | + callback: function (data) { | ||
190 | + var urlArr = data.url.split(/\,/); | ||
191 | + $.each(urlArr, function () { | ||
192 | + var url = Fast.api.cdnurl(this, true); | ||
193 | + var node = $("<a href='" + url + "'>" + url + "</a>"); | ||
194 | + context.invoke('insertNode', node[0]); | ||
195 | + }); | ||
196 | + } | ||
197 | + }); | ||
198 | + return false; | ||
199 | + } | ||
200 | + }); | ||
201 | + return button.render(); | ||
202 | + }; | ||
203 | + | ||
204 | + $(Config.summernote.classname || '.editor', form).each(function () { | ||
205 | + $(this).summernote($.extend(true, {}, { | ||
206 | + // height: 250, | ||
207 | + minHeight: 250, | ||
208 | + lang: 'zh-CN', | ||
209 | + fontNames: [ | ||
210 | + 'Arial', 'Arial Black', 'Serif', 'Sans', 'Courier', | ||
211 | + 'Courier New', 'Comic Sans MS', 'Helvetica', 'Impact', 'Lucida Grande', | ||
212 | + "Open Sans", "Hiragino Sans GB", "Microsoft YaHei", | ||
213 | + '微软雅黑', '宋体', '黑体', '仿宋', '楷体', '幼圆', | ||
214 | + ], | ||
215 | + fontNamesIgnoreCheck: [ | ||
216 | + "Open Sans", "Microsoft YaHei", | ||
217 | + '微软雅黑', '宋体', '黑体', '仿宋', '楷体', '幼圆' | ||
218 | + ], | ||
219 | + toolbar: [ | ||
220 | + ['style', ['style', 'undo', 'redo']], | ||
221 | + ['font', ['bold', 'underline', 'strikethrough', 'clear']], | ||
222 | + ['fontname', ['color', 'fontname', 'fontsize']], | ||
223 | + ['para', ['ul', 'ol', 'paragraph', 'height']], | ||
224 | + ['table', ['table', 'hr']], | ||
225 | + ['insert', ['link', 'picture', 'video']], | ||
226 | + ['select', ['image', 'attachment']], | ||
227 | + ['view', ['fullscreen', 'codeview', 'help']], | ||
228 | + ], | ||
229 | + buttons: { | ||
230 | + image: imageButton, | ||
231 | + attachment: attachmentButton, | ||
232 | + }, | ||
233 | + dialogsInBody: true, | ||
234 | + followingToolbar: false, | ||
235 | + callbacks: { | ||
236 | + onChange: function (contents) { | ||
237 | + $(this).val(contents); | ||
238 | + $(this).trigger('change'); | ||
239 | + }, | ||
240 | + onInit: function () { | ||
241 | + }, | ||
242 | + onImageUpload: function (files) { | ||
243 | + var that = this; | ||
244 | + //依次上传图片 | ||
245 | + for (var i = 0; i < files.length; i++) { | ||
246 | + Upload.api.send(files[i], function (data) { | ||
247 | + var url = Fast.api.cdnurl(data.url, true); | ||
248 | + $(that).summernote("insertImage", url, 'filename'); | ||
249 | + }); | ||
250 | + } | ||
251 | + } | ||
252 | + } | ||
253 | + }, $(this).data("summernote-options") || {})); | ||
254 | + }); | ||
255 | + }); | ||
256 | + } | ||
257 | + } catch (e) { | ||
258 | + | ||
259 | + } | ||
260 | + | ||
261 | + }; | ||
262 | +}); | ||
2 | 263 | ||
3 | }); | 264 | }); |
@@ -30,16 +30,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin | @@ -30,16 +30,14 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin | ||
30 | {field: 'id', title: __('Id')}, | 30 | {field: 'id', title: __('Id')}, |
31 | {field: 'car_model', title: __('Car_model'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, | 31 | {field: 'car_model', title: __('Car_model'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, |
32 | {field: 'license_plate', title: __('License_plate'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, | 32 | {field: 'license_plate', title: __('License_plate'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, |
33 | - {field: 'seat', title: __('Seat')}, | ||
34 | {field: 'colour', title: __('Colour'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, | 33 | {field: 'colour', title: __('Colour'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, |
35 | - {field: 'driver_license_img', title: __('Driver_license_img'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images}, | ||
36 | - {field: 'driving_license_img', title: __('Driving_license_img'), operate: false, events: Table.api.events.image, formatter: Table.api.formatter.images}, | ||
37 | - {field: 'reservation_time', title: __('Reservation_time'),operate:'RANGE', addclass:'datetimerange',datetimeFormat:"HH:mm", autocomplete:false, formatter: Table.api.formatter.datetime}, | ||
38 | - {field: 'start_time', title: __('Start_time'),operate:'RANGE', addclass:'datetimerange',datetimeFormat:"HH:mm", autocomplete:false, formatter: Table.api.formatter.datetime}, | ||
39 | - {field: 'create_time', title: __('Create_time'),operate:'RANGE', addclass:'datetimerange',datetimeFormat:"HH:mm", autocomplete:false, formatter: Table.api.formatter.datetime}, | ||
40 | - {field: 'driver.name', title: __('Driver.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, | ||
41 | {field: 'route.name', title: __('Route.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, | 34 | {field: 'route.name', title: __('Route.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, |
35 | + {field: 'driver.name', title: __('Driver.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, | ||
36 | + {field: 'seat.name', title: __('Seat.name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, | ||
37 | + {field: 'reservation_time', title: __('Reservation_time'), datetimeFormat:"HH:mm",operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, | ||
38 | + {field: 'start_time', title: __('Start_time'), datetimeFormat:"HH:mm", operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, | ||
42 | {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, | 39 | {field: 'create_time', title: __('Create_time'), operate:'RANGE', addclass:'datetimerange', autocomplete:false, formatter: Table.api.formatter.datetime}, |
40 | + | ||
43 | {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} | 41 | {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} |
44 | ] | 42 | ] |
45 | ] | 43 | ] |
public/assets/js/backend/seat.js
0 → 100644
1 | +define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefined, Backend, Table, Form) { | ||
2 | + | ||
3 | + var Controller = { | ||
4 | + index: function () { | ||
5 | + // 初始化表格参数配置 | ||
6 | + Table.api.init({ | ||
7 | + extend: { | ||
8 | + index_url: 'seat/index' + location.search, | ||
9 | + add_url: 'seat/add', | ||
10 | + edit_url: 'seat/edit', | ||
11 | + del_url: 'seat/del', | ||
12 | + multi_url: 'seat/multi', | ||
13 | + import_url: 'seat/import', | ||
14 | + table: 'seat', | ||
15 | + } | ||
16 | + }); | ||
17 | + | ||
18 | + var table = $("#table"); | ||
19 | + | ||
20 | + // 初始化表格 | ||
21 | + table.bootstrapTable({ | ||
22 | + url: $.fn.bootstrapTable.defaults.extend.index_url, | ||
23 | + pk: 'id', | ||
24 | + sortName: 'id', | ||
25 | + columns: [ | ||
26 | + [ | ||
27 | + {checkbox: true}, | ||
28 | + {field: 'id', title: __('Id')}, | ||
29 | + {field: 'name', title: __('Name'), operate: 'LIKE', table: table, class: 'autocontent', formatter: Table.api.formatter.content}, | ||
30 | + {field: 'seat_number', title: __('Seat_number'), searchList: {"0":__('Seat_number 0'),"1":__('Seat_number 1')}, formatter: Table.api.formatter.normal}, | ||
31 | + {field: 'operate', title: __('Operate'), table: table, events: Table.api.events.operate, formatter: Table.api.formatter.operate} | ||
32 | + ] | ||
33 | + ] | ||
34 | + }); | ||
35 | + | ||
36 | + // 为表格绑定事件 | ||
37 | + Table.api.bindevent(table); | ||
38 | + }, | ||
39 | + add: function () { | ||
40 | + $(document).on("change", "#seat_number input", function(){ | ||
41 | + var seat_number = $("input[name='row[seat_number]']:checked").val(); | ||
42 | + console.log(seat_number); | ||
43 | + if(seat_number==1){ | ||
44 | + //否则隐藏 | ||
45 | + $("#seat6").show(); | ||
46 | + $("#seat7").show(); | ||
47 | + }else if(seat_number==0){ | ||
48 | + //匠星隐藏千寻数据key | ||
49 | + $('#c-seat_name7').val(""); | ||
50 | + $('#c-seat_price7').val(""); | ||
51 | + $("#seat7").hide(); | ||
52 | + | ||
53 | + $('#c-seat_name6').val(""); | ||
54 | + $('#c-seat_price6').val(""); | ||
55 | + $("#seat6").hide(); | ||
56 | + } | ||
57 | + }); | ||
58 | + | ||
59 | + Controller.api.bindevent(); | ||
60 | + }, | ||
61 | + edit: function () { | ||
62 | + $(document).on("change", "#seat_number input", function(){ | ||
63 | + var seat_number = $("input[name='row[seat_number]']:checked").val(); | ||
64 | + console.log(seat_number); | ||
65 | + if(seat_number==1){ | ||
66 | + //否则隐藏 | ||
67 | + $("#seat6").show(); | ||
68 | + $("#seat5").show(); | ||
69 | + }else if(seat_number==0){ | ||
70 | + //匠星隐藏千寻数据key | ||
71 | + $('#c-seat_name5').val(""); | ||
72 | + $('#c-seat_price5').val(""); | ||
73 | + $("#seat5").hide(); | ||
74 | + | ||
75 | + $('#c-seat_name6').val(""); | ||
76 | + $('#c-seat_price6').val(""); | ||
77 | + $("#seat6").hide(); | ||
78 | + } | ||
79 | + }); | ||
80 | + | ||
81 | + Controller.api.bindevent(); | ||
82 | + }, | ||
83 | + api: { | ||
84 | + bindevent: function () { | ||
85 | + Form.api.bindevent($("form[role=form]")); | ||
86 | + } | ||
87 | + } | ||
88 | + }; | ||
89 | + return Controller; | ||
90 | +}); |
-
请 注册 或 登录 后发表评论