Przeglądaj źródła

优化任务详情页;优化聊天emoji窗口

kuaifan 5 lat temu
rodzic
commit
3e843cc3d2

+ 2 - 2
package.json

@@ -1,6 +1,6 @@
 {
     "name": "wookteam",
-    "version": "1.5.14",
+    "version": "1.5.15",
     "description": "WookTeam是一款轻量级的开源在线团队协作工具,提供各类文档工具、在线思维导图、在线流程图、项目管理、任务分发、即时IM,知识库管理等工具。",
     "scripts": {
         "ide-helper": "php artisan ide-helper:generate",
@@ -42,7 +42,7 @@
         "vue-kityminder-gg": "^1.3.1",
         "vuedraggable": "^2.24.1",
         "x-data-spreadsheet": "^1.1.6",
-        "xlsx": "^0.16.6"
+        "xlsx": "^0.16.7"
     },
     "keywords": [
         "wookteam",

+ 6 - 5
resources/assets/js/_modules/mixins/index.js

@@ -5,21 +5,22 @@ export default {
                 return {
                     //用户信息
                     usrLogin: false,
-                    usrName: '',
                     usrInfo: {},
+                    usrName: '',
                     //浏览器宽度≤768返回true
                     windowMax768: window.innerWidth <= 768,
                 }
             },
 
             mounted() {
-                this.usrInfo = $A.getUserInfo((data, isLogin) => {
+                this.usrLogin = $A.getToken() !== false;
+                this.usrInfo = $A.getUserInfo();
+                this.usrName = this.usrInfo.username || '';
+                $A.setOnUserInfoListener('mixins', (data, isLogin) => {
                     this.usrLogin = isLogin;
                     this.usrInfo = data;
                     this.usrName = this.usrInfo.username || '';
-                }, false);
-                this.usrLogin = $A.getToken() !== false;
-                this.usrName = this.usrInfo.username || '';
+                });
                 //
                 window.addEventListener('resize', this.windowMax768Listener);
             },

+ 7 - 5
resources/assets/js/main/components/UserInput.vue

@@ -45,6 +45,7 @@
                            @on-selection-change="userSelect"
                            :no-data-text="noDataText"></Table>
                     <div v-if="isConfirm&&searchShow" class="user-id-input-bottom">
+                        <Button type="default" size="small" @click="visible=false">{{$L('取消')}}</Button>
                         <Button type="primary" size="small" @click="onConfirm">{{$L('确定')}}</Button>
                     </div>
                 </div>
@@ -138,6 +139,7 @@
             justify-content: flex-end;
             > button {
                 font-size: 13px;
+                margin-left: 10px;
             }
         }
     }
@@ -239,11 +241,11 @@
                                 info: params.row,
                             },
                             style: {
-                                width: "28px",
-                                height: "28px",
-                                fontSize: "14px",
-                                lineHeight: "28px",
-                                borderRadius: "14px",
+                                width: "26px",
+                                height: "26px",
+                                fontSize: "13px",
+                                lineHeight: "26px",
+                                borderRadius: "50%",
                                 verticalAlign: "middle"
                             },
                         });

+ 1 - 1
resources/assets/js/main/components/chat/Index.vue

@@ -95,7 +95,7 @@
             </div>
             <div class="manage-quick">
                 <emoji-picker @emoji="messageInsertText" :search="messageEmojiSearch">
-                    <div slot="emoji-invoker" slot-scope="{ events: { click: clickEvent } }" @click.stop="clickEvent">
+                    <div slot="emoji-invoker" slot-scope="{ events: { click: clickEvent } }" @click.stop="(event)=>{clickEvent(event)}">
                         <Tooltip :content="$L('表情')" placement="top">
                             <Icon class="quick-item" type="ios-happy-outline"  />
                         </Tooltip>

+ 5 - 11
resources/assets/js/main/components/project/task/detail/detail.vue

@@ -200,7 +200,7 @@
                     </div>
                 </Poptip>
                 <Button icon="md-attach" class="btn" @click="handleTask('fileupload')">{{$L('添加附件')}}</Button>
-                <Poptip ref="attentionRef" v-if="detail.username == myUsername" placement="bottom" class="block" @on-popper-show="[handleAttentionShow(),handleSubwinToggle(true)]" @on-popper-hide="handleSubwinToggle(false)" transfer>
+                <Poptip ref="attentionRef" v-if="detail.username == usrName" placement="bottom" class="block" @on-popper-show="[handleAttentionShow(),handleSubwinToggle(true)]" @on-popper-hide="handleSubwinToggle(false)" transfer>
                     <Button :loading="!!loadData.attention" icon="md-at" class="btn">{{$L('关注人')}}</Button>
                     <div slot="content">
                         <div style="width:280px">
@@ -209,7 +209,7 @@
                         </div>
                     </div>
                 </Poptip>
-                <Button v-else-if="haveAttention(detail.follower)" :loading="!!loadData.unattention" icon="md-at" class="btn" @click="handleTask('unattention', {username:myUsername})">{{$L('取消关注')}}</Button>
+                <Button v-else-if="haveAttention(detail.follower)" :loading="!!loadData.unattention" icon="md-at" class="btn" @click="handleTask('unattention', {username:usrName})">{{$L('取消关注')}}</Button>
                 <Button v-else :loading="!!loadData.attention" icon="md-at" class="btn" @click="handleTask('attentiona')">{{$L('关注任务')}}</Button>
                 <Button v-if="!detail.archived" :loading="!!loadData.archived" icon="md-filing" class="btn" @click="handleTask('archived')">{{$L('归档')}}</Button>
                 <Button v-else :loading="!!loadData.unarchived" icon="md-filing" class="btn" @click="handleTask('unarchived')">{{$L('取消归档')}}</Button>
@@ -255,8 +255,6 @@
                 timeValue: [],
                 timeOptions: {},
 
-                myUsername: '',
-
                 openMenu: false,
             }
         },
@@ -339,17 +337,13 @@
                 }, 0)
             });
             this.bakData = cloneDeep(this.detail);
-            this.myUsername = this.usrName;
             this.getTaskDetail();
             //
-            $A.setOnUserInfoListener("components/project/task/detail", () => {
-                this.myUsername = this.usrName;
-            });
             $A.setOnTaskInfoListener('components/project/task/detail',(act, detail) => {
                 if (detail.id != this.taskid) {
                     return;
                 }
-                if (detail.__modifyUsername == this.myUsername) {
+                if (detail.__modifyUsername == this.usrName) {
                     return;
                 }
                 this.getTaskDetail();
@@ -465,7 +459,7 @@
 
             haveAttention(follower) {
                 if (follower instanceof Array) {
-                    return follower.filter((uname) => { return uname == this.myUsername }).length > 0
+                    return follower.filter((uname) => { return uname == this.usrName }).length > 0
                 } else {
                     return 0;
                 }
@@ -786,7 +780,7 @@
 
                     case 'attentiona':
                         ajaxData.act = "attention";
-                        ajaxData.content = this.myUsername;
+                        ajaxData.content = this.usrName;
                         break;
 
                     case 'attention':

+ 2 - 17
resources/assets/js/main/main.js

@@ -159,20 +159,10 @@ import '../../sass/main.scss';
         /**
          * 获取用户信息(并保存)
          * @param callback                  网络请求获取到用户信息回调(监听用户信息发生变化)
-         * @param continueListenerName      持续监听标识(字符串或boolean,true:自动生成监听标识,false:自动生成监听标识但首次不请求网络)
          * @returns Object
          */
-        getUserInfo(callback, continueListenerName) {
-            if (typeof callback === 'function' || (typeof callback === "boolean" && callback === true)) {
-                if (typeof continueListenerName === "boolean") {
-                    if (continueListenerName === true) {
-                        continueListenerName = "auto-" + $A.randomString(6);
-                    } else {
-                        $A.setOnUserInfoListener("auto-" + $A.randomString(6), callback);
-                        return $A.jsonParse($A.storage("userInfo"));
-                    }
-                }
-                //
+        getUserInfo(callback) {
+            if (typeof callback === 'function' || callback === true) {
                 $A.apiAjax({
                     url: 'users/info',
                     error: () => {
@@ -186,11 +176,6 @@ import '../../sass/main.scss';
                             typeof callback === "function" && callback(res.data, $A.getToken() !== false);
                         }
                     },
-                    afterComplete: () => {
-                        if (typeof continueListenerName == "string" && continueListenerName) {
-                            $A.setOnUserInfoListener(continueListenerName, callback);
-                        }
-                    },
                 });
             }
             return $A.jsonParse($A.storage("userInfo"));