Xiahai 8 месяцев назад
Родитель
Сommit
49c769f0aa

+ 49 - 0
application/admin/controller/cms/Conference.php

@@ -6,6 +6,7 @@ use app\admin\model\cms\Participate;
 use app\common\controller\Backend;
 use app\common\model\UserRoleLog;
 use think\Db;
+use think\exception\DbException;
 use think\exception\PDOException;
 use think\exception\ValidateException;
 
@@ -69,6 +70,54 @@ class Conference extends Backend
     }
 
     /**
+     * 编辑
+     *
+     * @param $ids
+     * @return string
+     * @throws DbException
+     * @throws \think\Exception
+     */
+    public function edit($ids = null)
+    {
+        $row = $this->model->get($ids);
+        if (!$row) {
+            $this->error(__('No Results were found'));
+        }
+        $adminIds = $this->getDataLimitAdminIds();
+        if (is_array($adminIds) && !in_array($row[$this->dataLimitField], $adminIds)) {
+            $this->error(__('You have no permission'));
+        }
+        if (false === $this->request->isPost()) {
+            $this->view->assign('row', $row);
+            return $this->view->fetch();
+        }
+        $params = $this->request->post('row/a');
+        if (empty($params)) {
+            $this->error(__('Parameter %s can not be empty', ''));
+        }
+        $params = $this->preExcludeFields($params);
+        $result = false;
+        Db::startTrans();
+        try {
+            //是否采用模型验证
+            if ($this->modelValidate) {
+                $name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
+                $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate;
+                $row->validateFailException()->validate($validate);
+            }
+            $result = $row->allowField(true)->save($params);
+            Db::commit();
+        } catch (ValidateException|PDOException|Exception $e) {
+            Db::rollback();
+            $this->error($e->getMessage());
+        }
+        if (false === $result) {
+            $this->error(__('No rows were updated'));
+        }
+        $this->success();
+    }
+
+    /**
      * 参与会议详情
      *
      * @param $ids

+ 27 - 27
application/admin/view/cms/channel/add.html

@@ -93,13 +93,13 @@
         </div>
     </div>
     <div class="form-group">
-        <label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Hover Image')}:</label>
+        <label for="c-hover-image" class="control-label col-xs-12 col-sm-2">{:__('Hover Image')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
                 <input id="c-hover-image" data-rule="" class="form-control" size="50" name="row[hover_image]" type="text">
                 <div class="input-group-addon no-border no-padding">
-                    <span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-hover-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-hover-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
-                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-hover-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                    <span><button type="button" id="plupload-image1" class="btn btn-danger plupload" data-input-id="c-hover-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-hover-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image1" class="btn btn-primary fachoose" data-input-id="c-hover-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
                 </div>
                 <span class="msg-box n-right" for="c-hover-image"></span>
             </div>
@@ -179,30 +179,30 @@
             </select>
         </div>
     </div>
-<!--    <div class="form-group tf tf-channel tf-list">-->
-<!--        <label for="c-vip" class="control-label col-xs-12 col-sm-2">{:__('VIP Limit')}:</label>-->
-<!--        <div class="col-xs-12 col-sm-4">-->
-<!--            {if $vipList}-->
-<!--            <select name="row[vip]" id="c-vip" class="form-control" data-tip="高于或等于该VIP等级的用户可查看">-->
-<!--                <option value="0">不限制</option>-->
-<!--                {foreach name="vipList" id="item"}-->
-<!--                <option value="{$item.level}">{$item.name} Lv:{$item.level}</option>-->
-<!--                {/foreach}-->
-<!--            </select>-->
-<!--            {else/}-->
-<!--            <div class="alert alert-primary-light" style="margin-bottom:0;">未安装或未配置VIP会员组</div>-->
-<!--            {/if}-->
-<!--        </div>-->
-<!--    </div>-->
-<!--    <div class="form-group tf tf-channel tf-list">-->
-<!--        <label class="control-label col-xs-12 col-sm-2">{:__('Iscontribute')}:</label>-->
-<!--        <div class="col-xs-12 col-sm-8">-->
-<!--            <input id="c-iscontribute" name="row[iscontribute]" type="hidden" value="0">-->
-<!--            <a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-iscontribute" data-yes="1" data-no="0">-->
-<!--                <i class="fa fa-toggle-on text-success fa-flip-horizontal text-gray fa-2x"></i>-->
-<!--            </a>-->
-<!--        </div>-->
-<!--    </div>-->
+    <!--    <div class="form-group tf tf-channel tf-list">-->
+    <!--        <label for="c-vip" class="control-label col-xs-12 col-sm-2">{:__('VIP Limit')}:</label>-->
+    <!--        <div class="col-xs-12 col-sm-4">-->
+    <!--            {if $vipList}-->
+    <!--            <select name="row[vip]" id="c-vip" class="form-control" data-tip="高于或等于该VIP等级的用户可查看">-->
+    <!--                <option value="0">不限制</option>-->
+    <!--                {foreach name="vipList" id="item"}-->
+    <!--                <option value="{$item.level}">{$item.name} Lv:{$item.level}</option>-->
+    <!--                {/foreach}-->
+    <!--            </select>-->
+    <!--            {else/}-->
+    <!--            <div class="alert alert-primary-light" style="margin-bottom:0;">未安装或未配置VIP会员组</div>-->
+    <!--            {/if}-->
+    <!--        </div>-->
+    <!--    </div>-->
+    <!--    <div class="form-group tf tf-channel tf-list">-->
+    <!--        <label class="control-label col-xs-12 col-sm-2">{:__('Iscontribute')}:</label>-->
+    <!--        <div class="col-xs-12 col-sm-8">-->
+    <!--            <input id="c-iscontribute" name="row[iscontribute]" type="hidden" value="0">-->
+    <!--            <a href="javascript:;" data-toggle="switcher" class="btn-switcher" data-input-id="c-iscontribute" data-yes="1" data-no="0">-->
+    <!--                <i class="fa fa-toggle-on text-success fa-flip-horizontal text-gray fa-2x"></i>-->
+    <!--            </a>-->
+    <!--        </div>-->
+    <!--    </div>-->
     <div class="form-group">
         <label class="control-label col-xs-12 col-sm-2">{:__('Isnav')}:</label>
         <div class="col-xs-12 col-sm-8">

+ 27 - 27
application/admin/view/cms/channel/edit.html

@@ -25,9 +25,9 @@
         <div class="col-xs-12 col-sm-8">
             <!--@formatter:off-->
             <select name="row[model_id]" id="c-model_id" class="form-control" {if $hasArchives}disabled{/if}>
-                {foreach name="modelList" item="vo"}
-                    <option {in name="vo.id" value="$row.model_id" }selected="selected" {/in} value="{$vo.id}" data-channeltpl="{$vo.channeltpl}" data-listtpl="{$vo.listtpl}" data-showtpl="{$vo.showtpl}">{$vo.name}{if $hasArchives && $row.model_id==$vo.id} (当栏目下有文档时将无法变更模型){/if}</option>
-                {/foreach}
+            {foreach name="modelList" item="vo"}
+            <option {in name="vo.id" value="$row.model_id" }selected="selected" {/in} value="{$vo.id}" data-channeltpl="{$vo.channeltpl}" data-listtpl="{$vo.listtpl}" data-showtpl="{$vo.showtpl}">{$vo.name}{if $hasArchives && $row.model_id==$vo.id} (当栏目下有文档时将无法变更模型){/if}</option>
+            {/foreach}
             </select>
             <!--@formatter:on-->
         </div>
@@ -95,13 +95,13 @@
         </div>
     </div>
     <div class="form-group">
-        <label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Hover Image')}:</label>
+        <label for="c-hover-image" class="control-label col-xs-12 col-sm-2">{:__('Hover Image')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
                 <input id="c-hover-image" data-rule="" class="form-control" size="50" name="row[hover_image]" type="text" value="{$row.hover_image|htmlentities}">
                 <div class="input-group-addon no-border no-padding">
-                    <span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-hover-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-hover-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
-                    <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-hover-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                    <span><button type="button" id="plupload-image1" class="btn btn-danger plupload" data-input-id="c-hover-image" data-mimetype="image/gif,image/jpeg,image/png,image/jpg,image/bmp,image/webp" data-multiple="false" data-preview-id="p-hover-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
+                    <span><button type="button" id="fachoose-image1" class="btn btn-primary fachoose" data-input-id="c-hover-image" data-mimetype="image/*" data-multiple="false"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
                 </div>
                 <span class="msg-box n-right" for="c-hover-image"></span>
             </div>
@@ -182,27 +182,27 @@
                 <input id="c-pagesize" data-rule="required" class="form-control" name="row[pagesize]" type="number" value="{$row.pagesize}" data-tip="用于前台列表页分页">
             </div>
         </div>
-<!--        <div class="form-group tf tf-channel tf-list">-->
-<!--            <label for="c-vip" class="control-label col-xs-12 col-sm-2">{:__('VIP Limit')}:</label>-->
-<!--            <div class="col-xs-12 col-sm-4">-->
-<!--                {if $vipList}-->
-<!--                <select name="row[vip]" id="c-vip" class="form-control" data-tip="高于或等于该VIP等级的用户可查看">-->
-<!--                    <option value="0">不限制</option>-->
-<!--                    {foreach name="vipList" id="item"}-->
-<!--                    <option value="{$item.level}" {:$item.level==$row.vip?'selected':''}>{$item.name} Lv:{$item.level}</option>-->
-<!--                    {/foreach}-->
-<!--                </select>-->
-<!--                {else/}-->
-<!--                <div class="alert alert-primary-light" style="margin-bottom:0;">未安装或未配置VIP会员插件</div>-->
-<!--                {/if}-->
-<!--            </div>-->
-<!--        </div>-->
-<!--        <div class="form-group tf tf-channel tf-list">-->
-<!--            <label for="c-pagesize" class="control-label col-xs-12 col-sm-2">{:__('配置同步')}:</label>-->
-<!--            <div class="col-xs-12 col-sm-4">-->
-<!--                <div style="margin-top:5px;"><label for="syncconfig" style="font-weight:normal;"><input type="checkbox" name="row[syncconfig]" id="syncconfig" /> 同步高亮区域配置到所有子栏目</label></div>-->
-<!--            </div>-->
-<!--        </div>-->
+        <!--        <div class="form-group tf tf-channel tf-list">-->
+        <!--            <label for="c-vip" class="control-label col-xs-12 col-sm-2">{:__('VIP Limit')}:</label>-->
+        <!--            <div class="col-xs-12 col-sm-4">-->
+        <!--                {if $vipList}-->
+        <!--                <select name="row[vip]" id="c-vip" class="form-control" data-tip="高于或等于该VIP等级的用户可查看">-->
+        <!--                    <option value="0">不限制</option>-->
+        <!--                    {foreach name="vipList" id="item"}-->
+        <!--                    <option value="{$item.level}" {:$item.level==$row.vip?'selected':''}>{$item.name} Lv:{$item.level}</option>-->
+        <!--                    {/foreach}-->
+        <!--                </select>-->
+        <!--                {else/}-->
+        <!--                <div class="alert alert-primary-light" style="margin-bottom:0;">未安装或未配置VIP会员插件</div>-->
+        <!--                {/if}-->
+        <!--            </div>-->
+        <!--        </div>-->
+        <!--        <div class="form-group tf tf-channel tf-list">-->
+        <!--            <label for="c-pagesize" class="control-label col-xs-12 col-sm-2">{:__('配置同步')}:</label>-->
+        <!--            <div class="col-xs-12 col-sm-4">-->
+        <!--                <div style="margin-top:5px;"><label for="syncconfig" style="font-weight:normal;"><input type="checkbox" name="row[syncconfig]" id="syncconfig" /> 同步高亮区域配置到所有子栏目</label></div>-->
+        <!--            </div>-->
+        <!--        </div>-->
     </div>
     <div class="form-group">
         <label for="c-weigh" class="control-label col-xs-12 col-sm-2">{:__('Weigh')}:</label>

+ 16 - 15
application/admin/view/cms/conference/edit.html

@@ -3,7 +3,7 @@
         <label for="c-image" class="control-label col-xs-12 col-sm-2">{:__('Image')}:</label>
         <div class="col-xs-12 col-sm-8">
             <div class="input-group">
-                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image}" readonly>
+                <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image}" >
                 <div class="input-group-addon no-border no-padding">
                     <span><button type="button" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-image" data-preview-id="p-image"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
                     <span><button type="button" id="fachoose-image" class="btn btn-primary fachoose" data-input-id="c-image"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
@@ -16,37 +16,37 @@
     <div class="form-group">
         <label for="c-title" class="control-label col-xs-12 col-sm-2">{:__('Title')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[title]" id="c-title" value="{$row.title}" readonly>
+            <input type="text" class="form-control" name="row[title]" id="c-title" value="{$row.title}" >
         </div>
     </div>
     <div class="form-group">
         <label for="c-location" class="control-label col-xs-12 col-sm-2">{:__('Location')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[title]" id="c-location" value="{$row.location}" readonly>
+            <input type="text" class="form-control" name="row[location]" id="c-location" value="{$row.location}" >
         </div>
     </div>
     <div class="form-group">
         <label for="c-web_site" class="control-label col-xs-12 col-sm-2">{:__('Web site')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[web_site]" id="c-web_site" value="{$row.web_site}" readonly>
+            <input type="text" class="form-control" name="row[web_site]" id="c-web_site" value="{$row.web_site}" >
         </div>
     </div>
     <div class="form-group">
         <label for="c-organizer" class="control-label col-xs-12 col-sm-2">{:__('Organizer')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[organizer]" id="c-organizer" value="{$row.organizer}" readonly>
+            <input type="text" class="form-control" name="row[organizer]" id="c-organizer" value="{$row.organizer}" >
         </div>
     </div>
     <div class="form-group">
         <label for="c-chair" class="control-label col-xs-12 col-sm-2">{:__('Chair')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[chair]" id="c-chair" value="{$row.chair}" readonly>
+            <input type="text" class="form-control" name="row[chair]" id="c-chair" value="{$row.chair}" >
         </div>
     </div>
     <div class="form-group">
         <label for="c-start_time" class="control-label col-xs-12 col-sm-2">{:__('Start time')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input class="admin form-control datetimepicker" id="c-start_time" readonly
+            <input class="admin form-control datetimepicker" id="c-start_time" 
                    data-date-format="YYYY-MM-DD"
                    type="text" name="row[start_time]" value="{$row.start_time}"/>
         </div>
@@ -54,46 +54,47 @@
     <div class="form-group">
         <label for="c-end_time" class="control-label col-xs-12 col-sm-2">{:__('End time')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input class="admin form-control datetimepicker" id="c-end_time" readonly
+            <input class="admin form-control datetimepicker" id="c-end_time" 
                    data-date-format="YYYY-MM-DD"
-                   type="text" name="row[start_time]" value="{$row.end_time}"/>
+                   type="text" name="row[end_time]" value="{$row.end_time}"/>
         </div>
     </div>
     <div class="form-group">
         <label for="c-person_num" class="control-label col-xs-12 col-sm-2">{:__('Person num')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[person_num]" id="c-person_num" value="{$row.person_num}" readonly>
+            <input type="text" class="form-control" name="row[person_num]" id="c-person_num" value="{$row.person_num}" >
         </div>
     </div>
     <div class="form-group">
         <label for="c-topics" class="control-label col-xs-12 col-sm-2">{:__('Topics')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[topics]" id="c-topics" value="{$row.topics}" readonly>
+            <input type="text" class="form-control" name="row[topics]" id="c-topics" value="{$row.topics}" >
         </div>
     </div>
     <div class="form-group">
         <label for="c-name" class="control-label col-xs-12 col-sm-2">{:__('Name')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[name]" id="c-name" value="{$row.name}" readonly>
+            <input type="text" class="form-control" name="row[name]" id="c-name" value="{$row.name}" >
         </div>
     </div>
     <div class="form-group">
         <label for="c-email" class="control-label col-xs-12 col-sm-2">{:__('Email')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[email]" id="c-email" value="{$row.email}" readonly>
+            <input type="text" class="form-control" name="row[email]" id="c-email" value="{$row.email}" >
         </div>
     </div>
     <div class="form-group">
         <label for="c-affiliation_address" class="control-label col-xs-12 col-sm-2">{:__('Affiliation address')}:</label>
         <div class="col-xs-12 col-sm-7">
-            <input type="text" class="form-control" name="row[affiliation_address]" id="c-affiliation_address" value="{$row.affiliation_address}" readonly>
+            <input type="text" class="form-control" name="row[affiliation_address]" id="c-affiliation_address" value="{$row.affiliation_address}" >
         </div>
     </div>
 
     <div class="form-group layer-footer">
         <label class="control-label col-xs-12 col-sm-2"></label>
         <div class="col-xs-12 col-sm-8">
-            <button type="button" class="btn btn-primary btn-embossed btn-close">{:__('Close')}</button>
+            <button type="submit" class="btn btn-primary btn-embossed disabled">{:__('OK')}</button>
+            <button type="reset" class="btn btn-default btn-embossed">{:__('Reset')}</button>
         </div>
     </div>
 </form>

+ 9 - 0
application/api/controller/Cms.php

@@ -101,4 +101,13 @@ class Cms extends Api
         $archives = Archives::where(['p_channel_id' => $channel_id, 'channel_id' => 34])->order('weigh', 'DESC')->limit(4)->select();
         $this->success('', $archives);
     }
+
+    public function getChannelList()
+    {
+        $search = $this->request->get('search');
+        $channel_id = $this->request->get('channel_id');
+        $channels = Channel::where(['name' => ['like', '%'. $search .'%'], 'parent_id' => $channel_id])->order('weigh', 'DESC')->select();
+
+        $this->success('', $channels);
+    }
 }

+ 1 - 1
application/common/view/tpl/dispatch_jump.tpl

@@ -2,7 +2,7 @@
 <html>
 <head>
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-    <title>{:__('Warning')}</title>
+    <title>Warning</title>
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <link rel="shortcut icon" href="__CDN__/assets/img/favicon.ico" />
     <style type="text/css">

+ 1 - 1
application/index/view/common/meta.html

@@ -1,5 +1,5 @@
 <meta charset="utf-8">
-<title>{$title|default=''|htmlentities} – {$site.name|htmlentities}</title>
+<title>{$title|default=''} – {$site.name}</title>
 <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
 <meta name="renderer" content="webkit">