kuaifan 4 anos atrás
pai
commit
397246297f

+ 4 - 4
app/Http/Controllers/Api/DocsController.php

@@ -139,7 +139,7 @@ class DocsController extends Controller
         $id = intval(Request::input('id'));
         $type = trim(Request::input('type'));
         $role = Docs::checkRole($id, 'edit');
-        if (Base::isError($role) && $role['data'] < 0) {
+        if (Base::isError($role) && $role['ret'] < 0) {
             return $role;
         }
         $row = Base::DBC2A(DB::table('docs_book')->where('id', $id)->first());
@@ -319,7 +319,7 @@ class DocsController extends Controller
     {
         $bookid = intval(Request::input('bookid'));
         $role = Docs::checkRole($bookid, Request::input('act'));
-        if (Base::isError($role) && $role['data'] < 0) {
+        if (Base::isError($role) && $role['ret'] < 0) {
             return $role;
         }
         $lists = Base::DBC2A(DB::table('docs_section')
@@ -514,7 +514,7 @@ class DocsController extends Controller
             return Base::retError('文档不存在或已被删除!');
         }
         $role = Docs::checkRole($row['bookid'], Request::input('act'));
-        if (Base::isError($role) && $role['data'] < 0) {
+        if (Base::isError($role) && $role['ret'] < 0) {
             return $role;
         }
         $whereArray = [];
@@ -549,7 +549,7 @@ class DocsController extends Controller
             return Base::retError('文档不存在或已被删除!');
         }
         $role = Docs::checkRole($row['bookid'], 'edit');
-        if (Base::isError($role) && $role['data'] < 0) {
+        if (Base::isError($role) && $role['ret'] < 0) {
             return $role;
         }
         //

+ 7 - 7
package.json

@@ -1,6 +1,6 @@
 {
     "name": "wookteam",
-    "version": "1.5.20",
+    "version": "1.5.21",
     "description": "WookTeam是一款轻量级的开源在线团队协作工具,提供各类文档工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,知识库管理等工具。",
     "scripts": {
         "ide-helper": "php artisan ide-helper:generate",
@@ -35,14 +35,14 @@
         "vue-template-compiler": "^2.6.11"
     },
     "dependencies": {
-        "tinymce": "^5.4.2",
-        "view-design": "^4.3.2",
+        "tinymce": "^5.6.2",
+        "view-design": "^4.4.0",
         "vue-clipboard2": "^0.3.1",
         "vue-emoji-picker": "^1.0.1",
-        "vue-kityminder-gg": "^1.3.1",
-        "vuedraggable": "^2.24.1",
-        "x-data-spreadsheet": "^1.1.6",
-        "xlsx": "^0.16.7"
+        "vue-kityminder-gg": "^1.3.6",
+        "vuedraggable": "^2.24.3",
+        "x-data-spreadsheet": "^1.1.8",
+        "xlsx": "^0.16.9"
     },
     "keywords": [
         "wookteam",

+ 4 - 1
resources/assets/js/main/components/docs/flow/index.vue

@@ -98,7 +98,7 @@
             return {
                 loadIng: true,
 
-                url: window.location.origin + '/js/grapheditor/' + (this.readOnly ? 'viewer' : 'index') + '.html',
+                url: null,
 
                 zoom: -1,
                 zoomIng: false,
@@ -106,6 +106,9 @@
                 bakData: '',
             }
         },
+        created() {
+            this.url = window.location.origin + '/js/grapheditor/' + (this.readOnly ? 'viewer' : 'index') + '.html?lang=' + (this.getLanguage() === 'zh' ? 'zh' : 'en');
+        },
         mounted() {
             window.addEventListener('message', this.handleMessage)
         },

+ 24 - 1
resources/assets/js/main/components/docs/setting.vue

@@ -5,7 +5,7 @@
                 <FormItem :label="$L('文档链接')">
                     <a class="form-link" target="_blank" :href="$A.webUrl('docs/view/b' + this.id)">{{$A.webUrl('docs/view/b' + this.id)}}</a>
                 </FormItem>
-                <FormItem :label="$L('管理权限')">
+                <!--<FormItem :label="$L('管理权限')">
                     <div>
                         <div class="form-title">{{$L('修改权限')}}</div>
                         <div>
@@ -48,6 +48,26 @@
                             </div>
                         </div>
                     </div>
+                </FormItem>-->
+                <FormItem :label="$L('管理权限')">
+                    <div>
+                        <div>
+                            <RadioGroup v-model="formSystem.role_edit">
+                                <Radio label="private">{{$L('私有文库')}}</Radio>
+                                <Radio label="member">{{$L('成员开放')}}</Radio>
+                                <Radio label="reg">{{$L('注册会员')}}</Radio>
+                            </RadioGroup>
+                        </div>
+                        <div v-if="formSystem.role_edit=='private'" class="form-placeholder">
+                            {{$L('仅作者可以修改。')}}
+                        </div>
+                        <div v-else-if="formSystem.role_edit=='member'" class="form-placeholder">
+                            {{$L('仅作者和文档成员可以修改。')}}
+                        </div>
+                        <div v-else-if="formSystem.role_edit=='reg'" class="form-placeholder">
+                            {{$L('所有会员都可以修改。')}}
+                        </div>
+                    </div>
                 </FormItem>
                 <FormItem :label="$L('阅读权限')">
                     <div>
@@ -162,6 +182,9 @@
                             this.formSystem = data;
                             this.formSystem__reset = $A.cloneData(this.formSystem);
                             if (save) {
+                                this.$emit('on-setting-callback', Object.assign(data, {
+                                    id: this.id
+                                }));
                                 this.$Message.success(this.$L('修改成功'));
                             }
                         } else {

+ 7 - 2
resources/assets/js/main/components/docs/sheet/index.vue

@@ -25,7 +25,8 @@
 </style>
 <script>
     import Spreadsheet from 'x-data-spreadsheet';
-    import zhCN from 'x-data-spreadsheet/dist/locale/zh-cn';
+    import EN from 'x-data-spreadsheet/src/locale/en';
+    import zhCN from 'x-data-spreadsheet/src/locale/zh-cn';
     import XLSX from 'xlsx';
 
     export default {
@@ -52,7 +53,11 @@
             }
         },
         mounted() {
-            Spreadsheet.locale('zh-cn', zhCN);
+            if (this.getLanguage() === 'zh') {
+                Spreadsheet.locale('zh-cn', zhCN);
+            } else {
+                Spreadsheet.locale('en', EN);
+            }
             //
             let options = {
                 view: {

+ 10 - 1
resources/assets/js/main/pages/docs.vue

@@ -98,7 +98,7 @@
         <WDrawer v-model="settingDrawerShow" maxWidth="750">
             <Tabs v-if="settingDrawerShow" v-model="settingDrawerTab">
                 <TabPane :label="$L('文档设置')" name="setting">
-                    <book-setting :canload="settingDrawerShow && settingDrawerTab == 'setting'" :id="selectBookData.id"></book-setting>
+                    <book-setting :canload="settingDrawerShow && settingDrawerTab == 'setting'" :id="selectBookData.id" @on-setting-callback="settingCallback"></book-setting>
                 </TabPane>
                 <TabPane :label="$L('文档成员')" name="member">
                     <book-users :canload="settingDrawerShow && settingDrawerTab == 'member'" :id="selectBookData.id"></book-users>
@@ -656,6 +656,15 @@
                         ])
                     },
                 });
+            },
+
+            settingCallback(data) {
+                let tmpData = this.bookLists.find(({id}) => id == data.id);
+                if (tmpData) {
+                    $A.each(data, (key, val) => {
+                        this.$set(tmpData, key, val);
+                    });
+                }
             }
         },
     }

+ 10 - 1
resources/assets/js/main/pages/docs/edit.vue

@@ -107,6 +107,13 @@
                     border-radius: 12px;
                 }
             }
+            .docs-body {
+                .body-sheet {
+                    .font-bold {
+                        background-position: initial
+                    }
+                }
+            }
         }
         .body-text {
             .mdeditor-box {
@@ -628,7 +635,9 @@
 
             goBackDirect() {
                 this.bakContent = $A.jsonStringify(this.docContent);
-                this.goBack({name:'docs'});
+                if (!['index', 'docs'].includes(this.$route.name)) {
+                    this.goBack({name:'docs'});
+                }
             },
 
             synergy(enter) {

BIN
resources/assets/statics/images/index/banner/1.jpg


BIN
resources/assets/statics/images/index/banner/2.jpg


Diferenças do arquivo suprimidas por serem muito extensas
+ 586 - 479
resources/lang/en/general.js