Explorar el Código

修改bug 2023/10/16

Xiahai hace 11 meses
padre
commit
b8f87ef225
Se han modificado 33 ficheros con 525 adiciones y 269 borrados
  1. 1 1
      application/admin/controller/cms/Archives.php
  2. 4 0
      application/admin/controller/cms/Conference.php
  3. 7 0
      application/admin/controller/cms/Manuscript.php
  4. 3 0
      application/admin/controller/general/Attachment.php
  5. 13 0
      application/admin/controller/user/User.php
  6. 1 1
      application/admin/lang/zh-cn.php
  7. 1 1
      application/admin/lang/zh-cn/addon.php
  8. 14 0
      application/admin/view/auth/admin/add.html
  9. 15 25
      application/admin/view/cms/manuscript/edit.html
  10. 14 0
      application/admin/view/cms/manuscript/edit_chief.html
  11. 0 2
      application/admin/view/cms/manuscript/index.html
  12. 28 3
      application/api/controller/User.php
  13. 1 1
      application/api/lang/zh-cn.php
  14. 18 4
      application/index/controller/User.php
  15. 5 4
      application/index/view/user/article_details.html
  16. 0 1
      application/index/view/user/conduct_review.html
  17. 3 3
      application/index/view/user/index.html
  18. 2 2
      application/index/view/user/invite_reviewers.html
  19. 1 1
      application/index/view/user/login.html
  20. 21 19
      application/index/view/user/profile.html
  21. 3 4
      application/index/view/user/reviewer_information.html
  22. 1 1
      application/index/view/user/show_reviewed_manuscripts.html
  23. 4 4
      application/index/view/user/special_issue.html
  24. 2 3
      application/index/view/user/submit_conference.html
  25. 13 4
      application/index/view/user/submit_manuscript.html
  26. 1 1
      public/assets/js/backend/auth/adminlog.js
  27. 60 1
      public/assets/js/backend/cms/manuscript.js
  28. 2 0
      public/assets/js/backend/general/attachment.js
  29. 1 0
      public/assets/js/backend/general/crontab.js
  30. 1 0
      public/assets/js/backend/general/crontab_log.js
  31. 2 1
      public/assets/js/backend/general/profile.js
  32. 1 1
      public/assets/js/backend/user/user.js
  33. 282 181
      public/assets/js/frontend/user.js

+ 1 - 1
application/admin/controller/cms/Archives.php

@@ -132,7 +132,7 @@ class Archives extends Backend
                 ->select();
 
             foreach ($list as $v) {
-                $v['user_id'] = $v['user']['nickname'];
+                $v['user_id'] = $v['user']['nickname'] ?? '-';
                 $v['admin_id'] = $v['admin']['nickname'] ?? '-';
                 $v['model_id'] = $v['model']['name'];
             }

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

@@ -56,6 +56,10 @@ class Conference extends Backend
                 ->limit($offset, $limit)
                 ->select();
 
+            foreach ($list as $value) {
+                $value['image'] = explode(',',$value['image'])[0];
+            }
+
             $result = array("total" => $total, "rows" => $list);
 
             return json($result);

+ 7 - 0
application/admin/controller/cms/Manuscript.php

@@ -28,6 +28,7 @@ class Manuscript extends Backend
     protected $searchFields = '';
     protected $noNeedRight = ['edit_chief', 'comments', 'comments_detail', 'send_user_list', 'email'];
     protected $position = 0;
+    protected $typeList = [];
 
     public function _initialize()
     {
@@ -38,6 +39,7 @@ class Manuscript extends Backend
         $this->assignconfig('site_manuscript_status', $site_manuscript_status);
 
         $site_type_list = $this->model->typeList();
+        $this->typeList = $site_type_list;
         $this->assignconfig('site_type_list', $site_type_list);
 
         // 根据不同用户展示不同字段
@@ -99,6 +101,7 @@ class Manuscript extends Backend
             $this->error(__('You have no permission'));
         }
         if (false === $this->request->isPost()) {
+            $this->view->assign('fields', $this->model->getFields($row, 0));
             $this->view->assign('row', $row);
             return $this->view->fetch();
         }
@@ -212,6 +215,10 @@ class Manuscript extends Backend
                 ->order($sort, $order)
                 ->paginate($limit);
 
+            foreach ($list as $value) {
+                $value['type'] = $this->typeList[$value['type']];
+            }
+
             $result = array("total" => $list->total(), "rows" => $list->items());
 
             return json($result);

+ 3 - 0
application/admin/controller/general/Attachment.php

@@ -2,6 +2,7 @@
 
 namespace app\admin\controller\general;
 
+use app\admin\model\User;
 use app\common\controller\Backend;
 
 /**
@@ -40,6 +41,7 @@ class Attachment extends Backend
         if ($this->request->isAjax()) {
             $mimetypeQuery = [];
             $filter = $this->request->request('filter');
+//            dump($filter);die;
             $filterArr = (array)json_decode($filter, true);
             if (isset($filterArr['category']) && $filterArr['category'] == 'unclassed') {
                 $filterArr['category'] = ',unclassed';
@@ -67,6 +69,7 @@ class Attachment extends Backend
 
             $cdnurl = preg_replace("/\/(\w+)\.php$/i", '', $this->request->root());
             foreach ($list as $k => &$v) {
+               $v['user_id'] = User::where(['id' => $v['user_id']])->value('nickname') ?? '-';
                 $v['fullurl'] = ($v['storage'] == 'local' ? $cdnurl : $this->view->config['upload']['cdnurl']) . $v['url'];
             }
             unset($v);

+ 13 - 0
application/admin/controller/user/User.php

@@ -63,6 +63,19 @@ class User extends Backend
             $filter = (array)json_decode($filter, true);
             $filter = $filter ? $filter : [];
             $new_where = [];
+            $type = $this->request->param('type');
+            if ($type == 'author') {
+                $new_where['is_author'] = 'correct';
+            }
+            if ($type == 'review') {
+                $new_where['is_review'] = 'correct';
+            }
+            if ($type == 'chief') {
+                $new_where['is_chief'] = 'correct';
+            }
+            if ($type == 'editor') {
+                $new_where['is_editor'] = 'correct';
+            }
             if (array_key_exists('type', $filter)) {
                 if ($filter['type'] == 'author') {
                     $new_where['is_author'] = 'correct';

+ 1 - 1
application/admin/lang/zh-cn.php

@@ -134,7 +134,7 @@ return [
     'Jump now'                                              => '立即跳转',
     'Click to search %s'                                    => '点击搜索 %s',
     'Click to toggle'                                       => '点击切换',
-    'Operation completed'                                   => 'Operation completed!',
+    'Operation completed'                                   => '操作完成!',
     'Operation failed'                                      => '操作失败!',
     'Unknown data format'                                   => '未知的数据格式!',
     'Network error'                                         => '网络错误!',

+ 1 - 1
application/admin/lang/zh-cn/addon.php

@@ -89,7 +89,7 @@ return [
     'Continue operate'                                        => '继续操作',
     'Install successful'                                      => '安装成功',
     'Uninstall successful'                                    => '卸载成功',
-    'Operate successful'                                      => 'Operation completed',
+    'Operate successful'                                      => '操作完成',
     'Import successful'                                       => '导入测试数据成功!清除浏览器缓存和框架缓存后生效!',
     'Initialize successful'                                   => '初始化成功',
     'Initialize template not found'                           => '初始化模板未找到',

+ 14 - 0
application/admin/view/auth/admin/add.html

@@ -1,3 +1,17 @@
+<style>
+    .bootstrap-select .n-right {
+        right: -523px;
+    }
+    .msg-wrap {
+        width:100px;
+        overflow: hidden;
+    }
+    .n-msg {
+        word-wrap: break-word;
+        word-break: break-all;
+        white-space: pre-wrap;
+    }
+</style>
 <form id="add-form" class="form-horizontal form-ajax" role="form" data-toggle="validator" method="POST" action="">
     {:token()}
     <div class="form-group">

+ 15 - 25
application/admin/view/cms/manuscript/edit.html

@@ -15,8 +15,7 @@
                 <div class="input-group">
                     <input id="c-manuscript_zip" class="form-control" size="50" name="row[manuscript_zip]" type="text" value="{$row.manuscript_zip}" readonly>
                     <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-manuscript_zip" data-preview-id="p-manuscript_zip"><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-manuscript_zip"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                        <span><button type="" id="plupload-image" class="btn btn-danger plupload" data-input-id="c-manuscript_zip" data-preview-id="p-manuscript_zip"><i class="fa fa-upload"></i> {:__('Upload')}</button></span>
                     </div>
                     <span class="msg-box n-right" for="c-manuscript_zip"></span>
                 </div>
@@ -30,7 +29,6 @@
                     <input id="c-manuscript_pdf" class="form-control" size="50" name="row[manuscript_pdf]" type="text" value="{$row.manuscript_pdf}" readonly>
                     <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-manuscript_pdf" data-preview-id="p-manuscript_pdf"><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-manuscript_pdf"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
                     </div>
                     <span class="msg-box n-right" for="c-manuscript_pdf"></span>
                 </div>
@@ -44,7 +42,6 @@
                     <input id="c-cover_letter" class="form-control" size="50" name="row[cover_letter]" type="text" value="{$row.cover_letter}" readonly>
                     <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-cover_letter" data-preview-id="p-cover_letter"><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-cover_letter"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
                     </div>
                     <span class="msg-box n-right" for="c-cover_letter"></span>
                 </div>
@@ -58,7 +55,6 @@
                     <input id="c-graphical_abstract" class="form-control" size="50" name="row[graphical_abstract]" type="text" value="{$row.graphical_abstract}" readonly>
                     <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-graphical_abstract" data-preview-id="p-graphical_abstract"><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-graphical_abstract"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
                     </div>
                     <span class="msg-box n-right" for="c-graphical_abstract"></span>
                 </div>
@@ -72,7 +68,6 @@
                     <input id="c-non_material" class="form-control" size="50" name="row[non_material]" type="text" value="{$row.non_material}" readonly>
                     <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-non_material" data-preview-id="p-non_material"><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-non_material"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
                     </div>
                     <span class="msg-box n-right" for="c-non_material"></span>
                 </div>
@@ -82,19 +77,18 @@
         <div class="form-group">
             <label class="control-label col-xs-12 col-sm-2">{:__('Copyright Permisson')}:</label>
             <div class="col-xs-12 col-sm-8">
-                {:build_radios('row[is_copyright]', ['hidden'=>__('Upload here'), 'normal'=>__('No copyrights issues')], $row.is_copyright)}
-            </div>
-        </div>
-        <div class="form-group" data-field="image">
-            <label for="c-copyright_files" class="control-label col-xs-12 col-sm-2">{:__('Copyright Permisson Files: ( Zip / PDF )')}:</label>
-            <div class="col-xs-12 col-sm-8">
-                <div class="input-group">
-                    <input id="c-copyright_files" class="form-control" size="50" name="row[copyright_files]" type="text" value="{$row.copyright_files}" readonly>
+                <div class="input-group mb-3">
+                    <div class="radio radio-inline pl-0">
+                        <label for="copyright-here"><input id="copyright-here" name="row[is_copyright]" type="radio" value="normal" {if condition="$row.is_copyright == 'normal' "}checked{/if} />Upload here</label>
+                        <label for="copyright-copyrights"><input id="copyright-copyrights" name="row[is_copyright]" type="radio" value="hidden" {if condition="$row.is_copyright == 'hidden' "}checked{/if} />No copyrights issues</label>
+                    </div>
+                </div>
+                <div class="input-group copyright_files" style="display: none;">
+                    <input id="c-copyright_files" class="form-control" name="row[copyright_files]" type="text" value="{$row.copyright_files|htmlentities}" readonly>
                     <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-copyright_files" data-preview-id="p-copyright_files"><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-copyright_files"><i class="fa fa-list"></i> {:__('Choose')}</button></span>
+                        <span><button type="button" id="c-copyright_files-plupload-images" class="btn btn-danger plupload" data-input-id="c-copyright_files" data-multiple="true" data-mimetype="zip,pdf" data-preview-id="p-copyright_files"><i class="fa fa-upload"></i> Upload</button></span>
+                        <span class="msg-box n-right" for="c-copyright_files"></span>
                     </div>
-                    <span class="msg-box n-right" for="c-copyright_files"></span>
                 </div>
                 <ul class="row list-inline plupload-preview" id="p-copyright_files"></ul>
             </div>
@@ -109,7 +103,6 @@
                     <input id="c-image" class="form-control" size="50" name="row[image]" type="text" value="{$row.image}" readonly>
                     <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>
                     </div>
                     <span class="msg-box n-right" for="c-image"></span>
                 </div>
@@ -153,10 +146,7 @@
         <div class="form-group required">
             <label for="c-keywords" class="control-label col-xs-12 col-sm-2">{:__('Keywords')}:</label>
             <div class="col-xs-12 col-sm-7">
-                <input type="text" id="c-keywords" data-role="tagsinput" class="form-control" name="row[keywords]" value="{$row.keywords}" data-rule="required" readonly>
-                <div class="input-group-addon no-border no-padding">
-                    <span class="msg-box n-right" for="c-keywords"></span>
-                </div>
+                <textarea data-rule="required" class="form-control editor" name="row[keywords]" id="c-keywords" cols="30" rows="10" readonly>{$row.keywords}</textarea>
             </div>
         </div>
         <div class="form-group required">
@@ -288,21 +278,21 @@
         <div class="form-group required">
             <label for="c-article_one" class="control-label col-xs-12 col-sm-2">{:__('Article1')}:</label>
             <div class="col-xs-12 col-sm-7">
-                <input type="text" id="c-article_one" class="form-control" name="row[article_one]" value="{$row.article_one}" data-rule="required" readonly>
+                <input type="text" id="c-article_one" class="form-control" name="row[article_one]" value="{$row.article_one}" readonly>
             </div>
         </div>
 
         <div class="form-group required">
             <label for="c-article_two" class="control-label col-xs-12 col-sm-2">{:__('Article2')}:</label>
             <div class="col-xs-12 col-sm-7">
-                <input type="text" id="c-article_two" class="form-control" name="row[article_two]" value="{$row.article_two}" data-rule="required" readonly>
+                <input type="text" id="c-article_two" class="form-control" name="row[article_two]" value="{$row.article_two}" readonly>
             </div>
         </div>
 
         <div class="form-group required">
             <label for="c-article_three" class="control-label col-xs-12 col-sm-2">{:__('Article3')}:</label>
             <div class="col-xs-12 col-sm-7">
-                <input type="text" id="c-article_three" class="form-control" name="row[article_three]" value="{$row.article_three}" data-rule="required" readonly>
+                <input type="text" id="c-article_three" class="form-control" name="row[article_three]" value="{$row.article_three}" readonly>
             </div>
         </div>
 

+ 14 - 0
application/admin/view/cms/manuscript/edit_chief.html

@@ -1,3 +1,17 @@
+<style>
+    .bootstrap-select .n-right {
+        right: -963px;
+    }
+    .msg-wrap {
+        width:100px;
+        overflow: hidden;
+    }
+    .n-msg {
+        word-wrap: break-word;
+        word-break: break-all;
+        white-space: pre-wrap;
+    }
+</style>
 <form id="add-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="">
     <input type="hidden" value="{$row.id}" id="c-manuscript-id"/>
     <div class="form-group">

+ 0 - 2
application/admin/view/cms/manuscript/index.html

@@ -7,8 +7,6 @@
                 <div class="widget-body no-padding">
                     <div id="toolbar" class="toolbar">
                         <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
-<!--                        <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('cms/manuscript/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>-->
-                        <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('cms/manuscript/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>
                         <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('cms/manuscript/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>
                     </div>
                     <table id="table" class="table table-striped table-bordered table-hover table-nowrap"

+ 28 - 3
application/api/controller/User.php

@@ -667,9 +667,17 @@ class User extends Api
             $params['user_id'] = $this->auth->id;
 
             // 数组内容需转换为字符串
+            if (empty($params['editor'])) {
+                $this->error('Please add a member of the editorial board');
+            }
+
             $params['editor'] = json_encode($params['editor']);
 
-            $model = new Issue();
+            if ($params['id']) {
+                $model = Issue::where(['id' => $params['id']])->find();
+            } else {
+                $model = new Issue();
+            }
             $result = $model->allowField(true)->save($params);
             Db::commit();
         } catch (ValidateException|PDOException|Exception $e) {
@@ -788,10 +796,10 @@ class User extends Api
         }
 
         if ($result === false) {
-            $this->error('Submit Error');
+            $this->error('Subscribe Error');
         }
 
-        $this->success('Submit Success');
+        $this->success('Subscribe Success');
     }
 
     /**
@@ -810,6 +818,14 @@ class User extends Api
             $this->error("Incorrect verification code");
         }
 
+        // 校验时间
+        if ($params['start_time'] < $params['end_time']) {
+            $this->error('The start time cannot be less than the end time');
+        }
+        if ($params['end_time'] > $params['start_time']) {
+            $this->error('The end time cannot be greater than the start time');
+        }
+
         $model = new Conference();
         Db::startTrans();
         try {
@@ -864,6 +880,15 @@ class User extends Api
     {
         $params = $this->request->post();
 
+        $journal = $params['journal_id'];
+        $title = $params['title'];
+        $abstract = $params['abstract'];
+        $email = $params['email'];
+        if (!$journal) $this->error('Please select a journal');
+        if (!$title) $this->error('Please fill in the title');
+        if (!$abstract) $this->error('Please fill in the abstract');
+        if (!$email) $this->error('Please fill in the email');
+
         $model = new AuthorService();
         Db::startTrans();
         try {

+ 1 - 1
application/api/lang/zh-cn.php

@@ -88,7 +88,7 @@ return [
     'Server responded with %s code'                  => '服务端响应(Code:%s)',
     'File is too big (%sMiB), Max filesize: %sMiB'   => '当前上传(%sM),最大允许上传文件大小:%sM',
     'Redirect now'                                   => '立即跳转',
-    'Operation completed'                            => 'Operation completed!',
+    'Operation completed'                            => '操作完成!',
     'Operation failed'                               => '操作失败!',
     'Unknown data format'                            => '未知的数据格式!',
     'Network error'                                  => '网络错误!',

+ 18 - 4
application/index/controller/User.php

@@ -279,7 +279,7 @@ class User extends Frontend
             ];
 
             $msg = [
-                'renewpassword.confirm' => __('Password and confirm password don\'t match')
+                'renewpassword.confirm' => 'Password and confirm password don\'t match'
             ];
             $data = [
                 'oldpassword'   => $oldpassword,
@@ -480,7 +480,7 @@ class User extends Frontend
             $row->author_content = json_decode($row->author_content, true);
             $row->review_content = json_decode($row->review_content, true);
         }
-
+        $this->view->assign('fields', $this->model->getFields($row, 0));
         $this->view->assign('row', $row);
         $this->view->assign('title', 'Submit Manuscript');
         return $this->view->fetch();
@@ -681,7 +681,8 @@ class User extends Frontend
         $row = AuthorManuscript::where(['id' => $id])->find();
         $row['review_content'] = json_decode($row['review_content'], true);
         if ($row) {
-            $row['keywords'] = explode(',', $row['keywords']);
+//            $row['keywords'] = explode(',', $row['keywords']);
+            $row['journal'] = Channel::where(['id' => $row['journal']])->value('name') ?? '-';
         }
         // 判断是审稿人还是编辑,如果是编辑则可以看到全部意见
         $comments = Comments::where(['manuscript_id' => $row['id']])->select();
@@ -874,7 +875,14 @@ class User extends Frontend
         }
         if ($this->request->isAjax()) {
             $keyword = $this->request->param('keyword');
-            $manuscripts = AuthorManuscript::where(['title' => ['like', '%'. $keyword .'%']])->whereRaw("FIND_IN_SET(". $this->auth->id .", `editor_ids`)")->field('id,title,image,createtime,journal')->order('createtime', 'DESC')->paginate($limit);
+            $manuscripts = AuthorManuscript::where(function ($query) use ($user) {
+                if ($user->is_chief == 'correct') {
+                    $query->where(['chief_id' => $this->auth->id]);
+                }
+                if ($user->is_editor == 'correct') {
+                    $query->whereRaw("FIND_IN_SET(". $this->auth->id .", `editor_ids`)");
+                }
+            })->where($where)->where(['title' => ['like', '%'. $keyword .'%']])->field('id,title,image,createtime,journal')->order('createtime', 'DESC')->paginate($limit);
             foreach ($manuscripts as $manuscript) {
                 $manuscript['is_chief'] = false;
                 $manuscript['createtime'] = date('Y-m-d', $manuscript['createtime']);
@@ -958,6 +966,12 @@ class User extends Frontend
         $review_id_arr = \app\common\model\User::where(['is_review' => 'correct'])->column('id');
         $data = UserRoleContent::with(['user'])->where(['user_id' => ['in', $review_id_arr], 'type' => 'review'])->paginate($limit);
 
+        foreach ($data as $value) {
+            $value['user']['first_name'] = $value['user']['first_name'] ?? '-';
+            $value['user']['last_name'] = $value['user']['last_name'] ?? '-';
+            $value['affiliation'] = $value['affiliation'] ?? '-';
+        }
+
         // 返回表格数据和分页信息
         $this->success('', '', $data);
     }

+ 5 - 4
application/index/view/user/article_details.html

@@ -48,7 +48,7 @@
                                     </div>
                                 </div>
                                 <div class="col-xs-12 col-xs-4 text-center" style="float: right;">
-                                    Mobile Information Systems
+                                    {$row.journal}
                                 </div>
                             </div>
 
@@ -69,9 +69,10 @@
                                 <div class="col-xs-12 col-sm-12 article-details-content">
                                     <p class="detail-title">Keywords</p>
                                     <div class="col-xs-12 col-sx-12 mt-4 p-0">
-                                        {foreach name="$row.keywords" item="vo"}
-                                        <span class="label label-success article-detail-label">{$vo}</span>
-                                        {/foreach}
+                                        {$row.keywords}
+<!--                                        {foreach name="$row.keywords" item="vo"}-->
+<!--                                        <span class="label label-success article-detail-label">{$vo}</span>-->
+<!--                                        {/foreach}-->
                                     </div>
                                 </div>
                             </div>

+ 0 - 1
application/index/view/user/conduct_review.html

@@ -80,7 +80,6 @@
                             <label class="control-label col-xs-12 col-sm-4"></label>
                             <div class="col-xs-12 col-sm-8">
                                 <button type="submit" class="btn btn-primary btn-embossed disabled">Submit</button>
-                                <button type="reset" class="btn btn-default btn-embossed">Reset</button>
                             </div>
                         </div>
                     </form>

+ 3 - 3
application/index/view/user/index.html

@@ -30,15 +30,15 @@
                     </h2>
                     <div class="row user-baseinfo">
                         <div class="col-md-3 col-sm-3 col-xs-2 text-center user-center">
-                            <a href="{:url('user/profile')}" title="{:__('Click to edit')}">
+<!--                            <a href="{:url('user/profile')}" title="{:__('Click to edit')}">-->
                                 <span class="avatar-img"><img src="{$user.avatar|htmlentities|cdnurl}" alt=""></span>
-                            </a>
+<!--                            </a>-->
                         </div>
                         <div class="col-md-9 col-sm-9 col-xs-10">
                             <!-- Content -->
                             <div class="ui-content">
                                 <!-- Heading -->
-                                <h4><a href="{:url('user/profile')}">{$user.nickname|htmlentities}</a></h4>
+                                <h4><a>{$user.nickname|htmlentities}</a></h4>
                                 <!-- Paragraph -->
                                 <p class="text-muted">
                                     {$user.bio|default="This guy hasn't written anything yet"|htmlentities}

+ 2 - 2
application/index/view/user/invite_reviewers.html

@@ -37,7 +37,7 @@
                                         <input {if condition="$vo.is_checked"}checked{/if} type="checkbox" class="check-single review-check son-chk" name="son-chk" data-id="{$vo.id}" data-user-id="{$vo.user.id}" data-name="{$vo.user.nickname}" data-education="{$vo.degree}" data-affiliation="{$vo.affiliation}" data-field="{$vo.field}">
                                     </div>
                                 </td>
-                                <td><a href="#">{$vo.user.nickname}</a></td>
+                                <td><a href="javascript:;">{$vo.user.nickname}</a></td>
                                 <td>{$vo.degree}</td>
                                 <td>{$vo.affiliation}</td>
                                 <td>{$vo.field}</td>
@@ -74,7 +74,7 @@
                             <div class="form-group normal-footer">
                                 <label class="control-label col-xs-12 col-sm-4"></label>
                                 <div class="col-xs-12 col-sm-8">
-                                    <button type="submit" class="btn btn-primary btn-embossed disabled">Submit</button>
+                                    <button type="submit" class="btn btn-primary btn-embossed disabled">Invite</button>
                                 </div>
                             </div>
                         </form>

+ 1 - 1
application/index/view/user/login.html

@@ -29,7 +29,7 @@
                     <div class="controls">
                         <div class="checkbox inline">
                             <label>
-                                <input type="checkbox" name="keeplogin" checked="checked" value="1"> Remember password
+                                <input type="checkbox" name="keeplogin" id="keeplogin"> Remember password
                             </label>
                         </div>
                         <div class="pull-right"><a href="javascript:;" class="btn-forgot">Forgot your password?</a></div>

+ 21 - 19
application/index/view/user/profile.html

@@ -64,7 +64,7 @@
 
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                <span style="color:#ed534b;margin-right: 10px;">*</span>Workplace
+                                <span style="color:#ed534b;margin-right: 10px;">*</span>Workplace
                             </label>
                             <div class="col-xs-12 col-sm-8">
 <!--                                {$user.username|htmlentities}-->
@@ -79,7 +79,7 @@
 
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                <span style="color:#ed534b;margin-right: 10px;">*</span>Job Type
+                                <span style="color:#ed534b;margin-right: 10px;">*</span>Job Type
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <select id="c-job_type" class="form-control" name="job_type">
@@ -91,9 +91,11 @@
                             </div>
                         </div>
                         <div class="form-group">
-                            <label class="control-label col-xs-12 col-sm-3">Title:</label>
+                            <label class="control-label col-xs-12 col-sm-3">
+                                <span style="color:#ed534b;margin-right: 10px;">*</span>Title
+                            </label>
                             <div class="col-xs-12 col-sm-8">
-                                <select id="c-title" class="form-control" name="title">
+                                <select id="c-title" data-rule="required" class="form-control" name="title">
                                     <option value="">Please select</option>
                                     {foreach name="site.user_title" item="vo"}
                                     <option value="{$key}" {in name="key" value="$user.title" }selected{/in}>{$vo}</option>
@@ -103,7 +105,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                <span style="color:#ed534b;margin-right: 10px;">*</span>First name
+                                <span style="color:#ed534b;margin-right: 10px;">*</span>First name
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="first_name" name="first_name" value="{$user.first_name}" placeholder="First name">
@@ -111,7 +113,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                Middle name
+                                Middle name
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="middle_name" name="middle_name" value="{$user.middle_name}" placeholder="Middle name">
@@ -119,7 +121,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                <span style="color:#ed534b;margin-right: 10px;">*</span>Last name
+                                <span style="color:#ed534b;margin-right: 10px;">*</span>Last name
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="last_name" name="last_name" value="{$user.last_name}" placeholder="Last name">
@@ -127,7 +129,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                Facebook
+                                Facebook
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="facebook" name="facebook" value="{$user.facebook}" placeholder="Facebook">
@@ -135,7 +137,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                Twitter
+                                Twitter
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="twitter" name="twitter" value="{$user.twitter}" placeholder="Twitter">
@@ -143,7 +145,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                e-mail:
+                                E-mail
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="email" name="email" value="{$user.email}" data-rule="required;email" placeholder="email">
@@ -151,7 +153,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                <span style="color:#ed534b;margin-right: 10px;">*</span>Affiliation
+                                <span style="color:#ed534b;margin-right: 10px;">*</span>Affiliation
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="affiliation" name="affiliation" value="{$user.affiliation}" placeholder="Affiliation">
@@ -159,7 +161,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                <span style="color:#ed534b;margin-right: 10px;">*</span>Address
+                                <span style="color:#ed534b;margin-right: 10px;">*</span>Address
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="address" name="address" value="{$user.address}" placeholder="Address">
@@ -167,7 +169,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                <span style="color:#ed534b;margin-right: 10px;">*</span>Zip Code
+                                <span style="color:#ed534b;margin-right: 10px;">*</span>Zip Code
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="zip_code" name="zip_code" value="{$user.zip_code}" placeholder="Zip Code">
@@ -175,7 +177,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                City
+                                City
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="city" name="city" value="{$user.city}" placeholder="City">
@@ -183,7 +185,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                Country/Territory
+                                Country/Territory
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <select id="c-country" class="form-control" name="country">
@@ -196,7 +198,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                Mail Smtp Host
+                                Mail Smtp Host
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="mail_smtp_host" name="mail_smtp_host" value="{$user.mail_smtp_host}" placeholder="mail_smtp_host">
@@ -204,7 +206,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                Mail Smtp Port
+                                Mail Smtp Port
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="mail_smtp_port" name="mail_smtp_port" value="{$user.mail_smtp_port}" placeholder="mail_smtp_port">
@@ -212,7 +214,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                Mail Smtp User
+                                Mail Smtp User
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="mail_smtp_user" name="mail_smtp_user" value="{$user.mail_smtp_user}" placeholder="mail_smtp_user">
@@ -220,7 +222,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-3">
-                                Mail Smtp Pass
+                                Mail Smtp Pass
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <input type="text" class="form-control" id="mail_smtp_pass" name="mail_smtp_pass" value="{$user.mail_smtp_pass}" placeholder="mail_smtp_pass">

+ 3 - 4
application/index/view/user/reviewer_information.html

@@ -35,7 +35,7 @@
                                 Field:
                             </label>
                             <div class="col-xs-12 col-sm-8">
-                                <input id="c-field" data-source="user/choose_field" data-primary-key="id" data-search-field="name" class="form-control selectpage" name="row[field]" type="text" value="{$row.field}">
+                                <input id="c-field" data-source="user/choose_field" data-primary-key="id" data-search-field="name" class="form-control selectpage" name="field" type="text" value="{$row.field}">
                             </div>
                         </div>
                         <div class="form-group">
@@ -88,7 +88,7 @@
                         </div>
                         <div class="form-group">
                             <label class="control-label col-xs-12 col-sm-4">
-                                Manuscript ( PDF Version ):
+                                Resume or supporting information
                             </label>
                             <div class="col-xs-12 col-sm-8">
                                 <div class="input-group">
@@ -112,10 +112,9 @@
                         </div>
 
                         <div class="form-group normal-footer">
-                            <label class="control-label col-xs-12 col-sm-3"></label>
+                            <label class="control-label col-xs-12 col-sm-4"></label>
                             <div class="col-xs-12 col-sm-8">
                                 <button type="submit" class="btn btn-primary btn-embossed disabled">Submit</button>
-                                <button type="reset" class="btn btn-default btn-embossed">Reset</button>
                             </div>
                         </div>
                     </form>

+ 1 - 1
application/index/view/user/show_reviewed_manuscripts.html

@@ -84,7 +84,7 @@
                                     {/foreach}
 
                                     {if $list->isEmpty()}
-                                    <div class="loadmore loadmore-line loadmore-nodata"><span class="loadmore-tips">暂无数据</span></div>
+                                    <div class="loadmore loadmore-line loadmore-nodata"><span class="loadmore-tips">There is currently no data available</span></div>
                                     {/if}
                                 </div>
 

+ 4 - 4
application/index/view/user/special_issue.html

@@ -19,6 +19,7 @@
                     {if condition="$user.is_editor == 'correct' || $user.is_chief == 'correct'"}
                     <form id="submit-issue-form" class="form-horizontal" role="form" data-toggle="validator" method="POST" action="{:url('api/user/submit_issue')}">
                         {:token()}
+                        <input id="c-special_issue_id" type="hidden" name="row[id]" value="{$row.id}">
                         <div class="form-item">
                             <div class="form-group">
                                 <label class="control-label col-xs-12 col-sm-4">
@@ -30,7 +31,6 @@
                                         <div class="input-group-addon no-border no-padding">
                                             <span><button type="button" id="plupload-images" class="btn btn-danger plupload" data-maxsize="4M" data-input-id="c-image" data-multiple="true" data-preview-id="p-image"><i class="fa fa-upload"></i> Upload</button></span>
                                             <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-maxsize="4M" data-input-id="c-image" data-preview-id="p-manuscript-zip" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> Choose</button></span>
-                                            <span class="msg-box n-right" for="c-image"></span>
                                         </div>
                                     </div>
                                     <ul class="row list-inline plupload-preview" id="p-image"></ul>
@@ -85,7 +85,7 @@
 
                                 <div class="author-button-item">
                                     <div class="header-button-item" data-toggle="modal" data-target="#addEditorModal">
-                                        + Add Author
+                                        + Add Guest Editor
                                     </div>
                                 </div>
                             </h2>
@@ -110,7 +110,7 @@
                                                 <th style="width: 100px">Last Name</th>
                                                 <th style="width: 400px">Affiliation</th>
                                                 <th style="width: 100px">Publication Record Link</th>
-                                                <th style="width: 100px">Delete</th>
+                                                <th style="width: 100px">Operate</th>
                                             </tr>
                                             </thead>
                                             <tbody class="tbody">
@@ -189,7 +189,7 @@
                             <label class="control-label col-xs-12 col-sm-11">
                             </label>
                             <div class="editor-delete-button text-delete-button mb-3 col-xs-12 col-sm-1">
-                                - Delete
+                                <i class="fa fa-trash"></i> Delete
                             </div>
                         </div>
 

+ 2 - 3
application/index/view/user/submit_conference.html

@@ -109,7 +109,6 @@
                                                 <div class="input-group-addon no-border no-padding">
                                                     <span><button type="button" id="plupload-images" class="btn btn-danger plupload" data-maxsize="4M" data-input-id="c-image" data-multiple="true" data-preview-id="p-image"><i class="fa fa-upload"></i> Upload</button></span>
                                                     <span><button type="button" id="fachoose-images" class="btn btn-primary fachoose" data-maxsize="4M" data-input-id="c-image" data-preview-id="p-manuscript-zip" data-mimetype="image/*" data-multiple="true"><i class="fa fa-list"></i> Choose</button></span>
-                                                    <span class="msg-box n-right" for="c-image"></span>
                                                 </div>
                                             </div>
                                             <ul class="row list-inline plupload-preview" id="p-image"></ul>
@@ -223,7 +222,7 @@
                                             Verification code
                                         </label>
                                         <div class="col-xs-12 col-sm-6 pr-0">
-                                            <input id="c-captcha" type="text" name="captcha" class="form-control" placeholder="{:__('Captcha')}" data-rule="{:__('Captcha')}:required;length({$Think.config.captcha.length})" autocomplete="off"/>
+                                            <input id="c-captcha" type="text" name="captcha" class="form-control" placeholder="Captcha" data-rule="{:__('Captcha')}:required;length({$Think.config.captcha.length})" autocomplete="off"/>
                                         </div>
                                         <div class="col-xs-12 col-sm-2 pl-0">
                                             <span class="input-group-addon" style="padding:0;border:none;cursor:pointer;">
@@ -235,7 +234,7 @@
                                     <div class="form-group normal-footer">
                                         <label class="control-label col-xs-12 col-sm-3"></label>
                                         <div class="col-xs-12 col-sm-8">
-                                            <button type="submit" class="btn btn-primary btn-embossed disabled">Submit</button>
+                                            <button type="submit" class="btn btn-primary btn-embossed disabled">Submit a conference</button>
                                             <button type="reset" class="btn btn-default btn-embossed">Reset</button>
                                         </div>
                                     </div>

+ 13 - 4
application/index/view/user/submit_manuscript.html

@@ -27,6 +27,15 @@
         position:absolute;
         top:0;left:0;width:100px;height:100px;opacity: 0;
     }
+    .msg-wrap {
+        width:100px;
+        overflow: hidden;
+    }
+    .n-msg {
+        word-wrap: break-word;
+        word-break: break-all;
+        white-space: pre-wrap;
+    }
 </style>
 <link href="__CDN__/assets/css/user/submit_manuscript.css?v={$Think.config.site.version|htmlentities}" rel="stylesheet">
 <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
@@ -141,7 +150,7 @@
                             <div class="recommended-button-item">
                                 <div class="header-button-item reviewer-list-button" style="margin-right: 70px" data-toggle="modal" data-target="#myModal">
                                     <img src="__CDN__/assets/img/index/optinal_reviewer_icon.png" alt="">
-                                    Optinal reviewer
+                                    Optional reviewer
                                 </div>
                                 <div class="header-button-item reviewer-add-button" style="margin-right: 70px" data-toggle="modal" data-target="#addReviewModal">
                                     <img src="__CDN__/assets/img/index/invite_line_icon.png" alt="">
@@ -245,7 +254,7 @@
                             </div>
                             <div class="form-group">
                                 <label class="control-label col-xs-12 col-sm-4">
-                                    Copyright Permisson Files:
+                                    Copyright Permission Files:
                                     <div>( Zip / PDF )</div>
                                 </label>
                                 <div class="col-xs-12 col-sm-8">
@@ -458,7 +467,7 @@
                                         <select id="c-author_country" data-rule="required" class="form-control" name="row[author][0][author_country]">
                                             <option value="">Please select</option>
                                             {foreach name="site.country" item="vo"}
-                                            <option value="{$key}">{$vo}</option>
+                                            <option value="{$key}" {in name="key" value="$user.country"}selected{/in}>{$vo}</option>
                                             {/foreach}
                                         </select>
                                     </div>
@@ -688,7 +697,7 @@
                             <label class="control-label col-xs-12 col-sm-4"></label>
                             <div class="col-xs-12 col-sm-8">
                                 <button type="submit" class="btn btn-primary btn-embossed disabled submit-button" style="display: none">Submit</button>
-                                <button type="button" class="btn btn-primary next-button">Procceed to the next step</button>
+                                <button type="button" class="btn btn-primary next-button">Proceed to the next step</button>
                             </div>
                         </div>
                     </form>

+ 1 - 1
public/assets/js/backend/auth/adminlog.js

@@ -26,7 +26,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                         {field: 'id', title: 'ID', operate: false},
                         {field: 'username', title: __('Username'), formatter: Table.api.formatter.search},
                         {field: 'title', title: __('Title'), operate: 'LIKE %...%', placeholder: '模糊搜索'},
-                        {field: 'url', title: __('Url'), formatter: Table.api.formatter.url},
+                        {field: 'url', title: __('Url')},
                         {field: 'ip', title: __('IP'), events: Table.api.events.ip, formatter: Table.api.formatter.search},
                         {field: 'browser', title: __('Browser'), operate: false, formatter: Controller.api.formatter.browser},
                         {field: 'createtime', title: __('Create time'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},

+ 60 - 1
public/assets/js/backend/cms/manuscript.js

@@ -5,7 +5,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
     var animating; //flag to prevent quick multi-click glitches
 
     //设置弹窗宽高
-    Fast.config.openArea = ['80%', '80%'];
+    Fast.config.openArea = ['100%', '100%'];
 
     var Controller = {
         index: function () {
@@ -184,6 +184,65 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             Controller.api.bindevent();
         },
         edit: function () {
+            let copyright_files_value = $("input[name='row[is_copyright]']:checked").val();
+            if (copyright_files_value == 'normal') {
+                $('.copyright_files').show();
+            } else {
+                $('.copyright_files').hide();
+            }
+
+            let is_funding_value = $("input[name='row[is_funding]']:checked").val();
+            if (is_funding_value == 'normal') {
+                $('.funding_content').show();
+            } else {
+                $('.funding_content').hide();
+            }
+
+            let is_interest_value = $("input[name='row[is_interest]']:checked").val();
+            if (is_interest_value == 'normal') {
+                $('.interest_content').show();
+            } else {
+                $('.interest_content').hide();
+            }
+
+            let is_become_review = $("input[name='row[is_become_review]']:checked").val();
+            if (is_become_review == 'normal') {
+                $('.field_content').show();
+            } else {
+                $('.field_content').hide();
+            }
+
+            // 单选框选择显示对应input
+            $(document).on('click', '.radio-inline', function () {
+                let copyright_files_value = $("input[name='row[is_copyright]']:checked").val();
+                if (copyright_files_value == 'normal') {
+                    $('.copyright_files').show();
+                } else {
+                    $('.copyright_files').hide();
+                }
+
+                let is_funding_value = $("input[name='row[is_funding]']:checked").val();
+                if (is_funding_value == 'normal') {
+                    $('.funding_content').show();
+                } else {
+                    $('.funding_content').hide();
+                }
+
+                let is_interest_value = $("input[name='row[is_interest]']:checked").val();
+                if (is_interest_value == 'normal') {
+                    $('.interest_content').show();
+                } else {
+                    $('.interest_content').hide();
+                }
+
+                let is_become_review = $("input[name='row[is_become_review]']:checked").val();
+                if (is_become_review == 'normal') {
+                    $('.field_content').show();
+                } else {
+                    $('.field_content').hide();
+                }
+            });
+
             var validName = false;
             //绑定表单事件
             Form.api.bindevent($("form[role=form]"));

+ 2 - 0
public/assets/js/backend/general/attachment.js

@@ -20,6 +20,7 @@ define(['jquery', 'bootstrap', 'backend', 'form', 'table'], function ($, undefin
             table.bootstrapTable({
                 url: $.fn.bootstrapTable.defaults.extend.index_url,
                 sortName: 'id',
+                exportTypes: ['excel'],
                 columns: [
                     [
                         {field: 'state', checkbox: true},
@@ -145,6 +146,7 @@ define(['jquery', 'bootstrap', 'backend', 'form', 'table'], function ($, undefin
                 maintainSelected: true,
                 fixedColumns: true,
                 fixedRightNumber: 1,
+                exportTypes: ['excel'],
                 columns: [
                     [
                         {field: 'state', checkbox: multiple, visible: multiple, operate: false},

+ 1 - 0
public/assets/js/backend/general/crontab.js

@@ -22,6 +22,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 sortName: 'weigh',
                 fixedColumns: true,
                 fixedRightNumber: 1,
+                exportTypes: ['excel'],
                 columns: [
                     [
                         {field: 'state', checkbox: true,},

+ 1 - 0
public/assets/js/backend/general/crontab_log.js

@@ -20,6 +20,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
             table.bootstrapTable({
                 url: $.fn.bootstrapTable.defaults.extend.index_url,
                 sortName: 'id',
+                exportTypes: ['excel'],
                 columns: [
                     [
                         {field: 'state', checkbox: true,},

+ 2 - 1
public/assets/js/backend/general/profile.js

@@ -22,11 +22,12 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form', 'upload'], function (
             // 初始化表格
             table.bootstrapTable({
                 url: $.fn.bootstrapTable.defaults.extend.index_url,
+                exportTypes: ['excel'],
                 columns: [
                     [
                         {field: 'id', title: 'ID'},
                         {field: 'title', title: __('Title')},
-                        {field: 'url', title: __('Url'), align: 'left', formatter: Table.api.formatter.url},
+                        {field: 'url', title: __('Url'), align: 'left'},
                         {field: 'ip', title: __('ip'), formatter:Table.api.formatter.search},
                         {field: 'createtime', title: __('Createtime'), formatter: Table.api.formatter.datetime, operate: 'RANGE', addclass: 'datetimerange', sortable: true},
                     ]

+ 1 - 1
public/assets/js/backend/user/user.js

@@ -56,7 +56,7 @@ define(['jquery', 'bootstrap', 'backend', 'table', 'form'], function ($, undefin
                 let options = table.bootstrapTable('getOptions');
                 $('.nav-tabs li').attr('class','');
                 $(this).parent().attr("class",'active');
-                options.pageNumber =1;
+                options.pageNumber = 1;
                 if (cloneQueryParams == null) {
                     cloneQueryParams = options.queryParams;
                 }

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 282 - 181
public/assets/js/frontend/user.js


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio