kuaifan 4 лет назад
Родитель
Сommit
ec9ab12c5e
28 измененных файлов с 1651 добавлено и 1621 удалено
  1. 0 3
      resources/assets/js/main/components/FullCalendar/FullCalendar.vue
  2. 17 13
      resources/assets/js/main/components/FullCalendar/components/body.vue
  3. 48 46
      resources/assets/js/main/components/UserInput.vue
  4. 47 46
      resources/assets/js/main/components/WHeader.vue
  5. 6 6
      resources/assets/js/main/components/chat/Index.vue
  6. 100 98
      resources/assets/js/main/components/docs/users.vue
  7. 100 98
      resources/assets/js/main/components/project/archived.vue
  8. 100 98
      resources/assets/js/main/components/project/header/archived.vue
  9. 44 42
      resources/assets/js/main/components/project/header/create.vue
  10. 58 56
      resources/assets/js/main/components/project/my/favor.vue
  11. 51 49
      resources/assets/js/main/components/project/my/join.vue
  12. 51 49
      resources/assets/js/main/components/project/my/manage.vue
  13. 48 46
      resources/assets/js/main/components/project/statistics.vue
  14. 53 51
      resources/assets/js/main/components/project/task/detail/detail.vue
  15. 186 186
      resources/assets/js/main/components/project/task/files.vue
  16. 118 118
      resources/assets/js/main/components/project/task/lists.vue
  17. 0 4
      resources/assets/js/main/components/project/task/logs.vue
  18. 55 53
      resources/assets/js/main/components/project/todo/attention.vue
  19. 41 39
      resources/assets/js/main/components/project/todo/complete.vue
  20. 106 104
      resources/assets/js/main/components/project/users.vue
  21. 4 4
      resources/assets/js/main/components/report/add.vue
  22. 93 91
      resources/assets/js/main/components/report/my.vue
  23. 60 60
      resources/assets/js/main/components/report/receive.vue
  24. 27 27
      resources/assets/js/main/pages/docs.vue
  25. 54 53
      resources/assets/js/main/pages/docs/edit.vue
  26. 28 27
      resources/assets/js/main/pages/index.vue
  27. 19 18
      resources/assets/js/main/pages/project.vue
  28. 137 136
      resources/assets/js/main/pages/team.vue

+ 0 - 3
resources/assets/js/main/components/FullCalendar/FullCalendar.vue

@@ -94,9 +94,6 @@
                 currentDate: new Date()
             }
         },
-        created() {
-
-        },
         methods: {
             changeDateRange(start, end, currentStart, current, weekDays) {
                 this.currentDate = current

+ 17 - 13
resources/assets/js/main/components/FullCalendar/components/body.vue

@@ -124,19 +124,8 @@
             // 监听header组件事件
             bus.$on('changeWeekDays', res => {
             });
-            this.timeDivide = [{
-                start: 0,
-                end: 12,
-                label: this.$L('上午')
-            }, {
-                start: 12,
-                end: 18,
-                label: this.$L('下午')
-            }, {
-                start: 18,
-                end: 23,
-                label: this.$L('晚上')
-            }];
+            //
+            this.initLanguage()
         },
         data() {
             return {
@@ -174,6 +163,21 @@
             }
         },
         methods: {
+            initLanguage() {
+                this.timeDivide = [{
+                    start: 0,
+                    end: 12,
+                    label: this.$L('上午')
+                }, {
+                    start: 12,
+                    end: 18,
+                    label: this.$L('下午')
+                }, {
+                    start: 18,
+                    end: 23,
+                    label: this.$L('晚上')
+                }];
+            },
             isBegin(event, date, index) {
                 let st = new Date(event.start)
 

+ 48 - 46
resources/assets/js/main/components/UserInput.vue

@@ -229,52 +229,7 @@
                 noDataText: '',
             }
         },
-        created() {
-            this.columns = [
-                {
-                    "title": this.$L("头像"),
-                    "width": 60,
-                    "align": 'center',
-                    render: (h, params) => {
-                        return h('UserImg', {
-                            props: {
-                                info: params.row,
-                            },
-                            style: {
-                                width: "26px",
-                                height: "26px",
-                                fontSize: "13px",
-                                lineHeight: "26px",
-                                borderRadius: "50%",
-                                verticalAlign: "middle"
-                            },
-                        });
-                    }
-                }, {
-                    "title": this.$L("用户名"),
-                    "key": "username",
-                    "minWidth": 80,
-                    "ellipsis": true,
-                }, {
-                    "title": this.$L("昵称"),
-                    "key": "nickname",
-                    "minWidth": 80,
-                    "ellipsis": true,
-                    render: (h, params) => {
-                        return h('span', params.row.nickname || '-');
-                    }
-                }
-            ];
-            if (this.multiple) {
-                this.columns.unshift({
-                    type: 'selection',
-                    width: 30,
-                    align: 'center'
-                });
-            }
-            this.noDataText = this.$L("数据加载中.....");
-            this.isConfirm = this.$listeners['on-confirm'];
-        },
+
         watch: {
             value (val) {
                 if (this.multiple) {
@@ -392,6 +347,53 @@
             }
         },
         methods: {
+            initLanguage() {
+                this.columns = [
+                    {
+                        "title": this.$L("头像"),
+                        "width": 60,
+                        "align": 'center',
+                        render: (h, params) => {
+                            return h('UserImg', {
+                                props: {
+                                    info: params.row,
+                                },
+                                style: {
+                                    width: "26px",
+                                    height: "26px",
+                                    fontSize: "13px",
+                                    lineHeight: "26px",
+                                    borderRadius: "50%",
+                                    verticalAlign: "middle"
+                                },
+                            });
+                        }
+                    }, {
+                        "title": this.$L("用户名"),
+                        "key": "username",
+                        "minWidth": 80,
+                        "ellipsis": true,
+                    }, {
+                        "title": this.$L("昵称"),
+                        "key": "nickname",
+                        "minWidth": 80,
+                        "ellipsis": true,
+                        render: (h, params) => {
+                            return h('span', params.row.nickname || '-');
+                        }
+                    }
+                ];
+                if (this.multiple) {
+                    this.columns.unshift({
+                        type: 'selection',
+                        width: 30,
+                        align: 'center'
+                    });
+                }
+                this.noDataText = this.$L("数据加载中.....");
+                this.isConfirm = this.$listeners['on-confirm'];
+            },
+
             inputChange() {
                 const val = this.nickName;
                 this.spinShow = false;

+ 47 - 46
resources/assets/js/main/components/WHeader.vue

@@ -413,52 +413,6 @@
                 chatUnreadTotal: 0,
             }
         },
-        created() {
-            this.ruleDatum = {
-                nickname: [
-                    { required: true, message: this.$L('请输入昵称!'), trigger: 'change' },
-                    { type: 'string', min: 2, message: this.$L('昵称长度至少2位!'), trigger: 'change' }
-                ]
-            };
-            this.rulePass = {
-                oldpass: [
-                    { required: true, message: this.$L('请输入旧密码!'), trigger: 'change' },
-                    { type: 'string', min: 6, message: this.$L('密码长度至少6位!'), trigger: 'change' }
-                ],
-                newpass: [
-                    {
-                        validator: (rule, value, callback) => {
-                            if (value === '') {
-                                callback(new Error(this.$L('请输入新密码!')));
-                            } else {
-                                if (this.formPass.checkpass !== '') {
-                                    this.$refs.formPass.validateField('checkpass');
-                                }
-                                callback();
-                            }
-                        },
-                        required: true,
-                        trigger: 'change'
-                    },
-                    { type: 'string', min: 6, message: this.$L('密码长度至少6位!'), trigger: 'change' }
-                ],
-                checkpass: [
-                    {
-                        validator: (rule, value, callback) => {
-                            if (value === '') {
-                                callback(new Error(this.$L('请输入确认新密码!')));
-                            } else if (value !== this.formPass.newpass) {
-                                callback(new Error(this.$L('两次密码输入不一致!')));
-                            } else {
-                                callback();
-                            }
-                        },
-                        required: true,
-                        trigger: 'change'
-                    }
-                ],
-            };
-        },
         mounted() {
             this.isAdmin = $A.identity('admin');
             this.formatDatum();
@@ -484,6 +438,53 @@
             }
         },
         methods: {
+            initLanguage() {
+                this.ruleDatum = {
+                    nickname: [
+                        { required: true, message: this.$L('请输入昵称!'), trigger: 'change' },
+                        { type: 'string', min: 2, message: this.$L('昵称长度至少2位!'), trigger: 'change' }
+                    ]
+                };
+                this.rulePass = {
+                    oldpass: [
+                        { required: true, message: this.$L('请输入旧密码!'), trigger: 'change' },
+                        { type: 'string', min: 6, message: this.$L('密码长度至少6位!'), trigger: 'change' }
+                    ],
+                    newpass: [
+                        {
+                            validator: (rule, value, callback) => {
+                                if (value === '') {
+                                    callback(new Error(this.$L('请输入新密码!')));
+                                } else {
+                                    if (this.formPass.checkpass !== '') {
+                                        this.$refs.formPass.validateField('checkpass');
+                                    }
+                                    callback();
+                                }
+                            },
+                            required: true,
+                            trigger: 'change'
+                        },
+                        { type: 'string', min: 6, message: this.$L('密码长度至少6位!'), trigger: 'change' }
+                    ],
+                    checkpass: [
+                        {
+                            validator: (rule, value, callback) => {
+                                if (value === '') {
+                                    callback(new Error(this.$L('请输入确认新密码!')));
+                                } else if (value !== this.formPass.newpass) {
+                                    callback(new Error(this.$L('两次密码输入不一致!')));
+                                } else {
+                                    callback();
+                                }
+                            },
+                            required: true,
+                            trigger: 'change'
+                        }
+                    ],
+                };
+            },
+
             formatDatum() {
                 this.$set(this.formDatum, 'userimg', this.usrInfo.userimg)
                 this.$set(this.formDatum, 'nickname', this.usrInfo.nickname)

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

@@ -941,12 +941,6 @@
             }
         },
 
-        created() {
-            this.dialogNoDataText = this.$L("数据加载中.....");
-            this.teamNoDataText = this.$L("数据加载中.....");
-            this.messageNoDataText = this.$L("数据加载中.....");
-        },
-
         mounted() {
             this.formatCall();
             this.getSetting();
@@ -1126,6 +1120,12 @@
         },
 
         methods: {
+            initLanguage() {
+                this.dialogNoDataText = this.$L("数据加载中.....");
+                this.teamNoDataText = this.$L("数据加载中.....");
+                this.messageNoDataText = this.$L("数据加载中.....");
+            },
+
             formatCall() {
                 if ($A.getToken() === false) {
                     return;

+ 100 - 98
resources/assets/js/main/components/docs/users.vue

@@ -47,104 +47,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("头像"),
-                "minWidth": 60,
-                "maxWidth": 100,
-                render: (h, params) => {
-                    return h('UserImg', {
-                        props: {
-                            info: params.row,
-                        },
-                        style: {
-                            width: "30px",
-                            height: "30px",
-                            fontSize: "16px",
-                            lineHeight: "30px",
-                            borderRadius: "15px",
-                            verticalAlign: "middle"
-                        },
-                    });
-                }
-            }, {
-                "title": this.$L("用户名"),
-                "key": 'username',
-                "minWidth": 80,
-                "ellipsis": true,
-            }, {
-                "title": this.$L("昵称"),
-                "minWidth": 80,
-                "ellipsis": true,
-                render: (h, params) => {
-                    return h('span', params.row.nickname || '-');
-                }
-            }, {
-                "title": this.$L("职位/职称"),
-                "minWidth": 100,
-                "ellipsis": true,
-                render: (h, params) => {
-                    return h('span', params.row.profession || '-');
-                }
-            }, {
-                "title": this.$L("加入时间"),
-                "width": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                }
-            }, {
-                "title": this.$L("操作"),
-                "key": 'action',
-                "width": 80,
-                "align": 'center',
-                render: (h, params) => {
-                    return h('Button', {
-                        props: {
-                            type: 'primary',
-                            size: 'small'
-                        },
-                        style: {
-                            fontSize: '12px'
-                        },
-                        on: {
-                            click: () => {
-                                this.$Modal.confirm({
-                                    title: this.$L('移出成员'),
-                                    content: this.$L('你确定要将此成员移出项目吗?'),
-                                    loading: true,
-                                    onOk: () => {
-                                        $A.apiAjax({
-                                            url: 'docs/users/join',
-                                            data: {
-                                                act: 'delete',
-                                                id: params.row.bookid,
-                                                username: params.row.username,
-                                            },
-                                            error: () => {
-                                                this.$Modal.remove();
-                                                alert(this.$L('网络繁忙,请稍后再试!'));
-                                            },
-                                            success: (res) => {
-                                                this.$Modal.remove();
-                                                this.getLists();
-                                                setTimeout(() => {
-                                                    if (res.ret === 1) {
-                                                        this.$Message.success(res.msg);
-                                                    }else{
-                                                        this.$Modal.error({title: this.$L('温馨提示'), content: res.msg });
-                                                    }
-                                                }, 350);
-                                            }
-                                        });
-                                    }
-                                });
-                            }
-                        }
-                    }, this.$L('删除'));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -167,6 +70,105 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("头像"),
+                    "minWidth": 60,
+                    "maxWidth": 100,
+                    render: (h, params) => {
+                        return h('UserImg', {
+                            props: {
+                                info: params.row,
+                            },
+                            style: {
+                                width: "30px",
+                                height: "30px",
+                                fontSize: "16px",
+                                lineHeight: "30px",
+                                borderRadius: "15px",
+                                verticalAlign: "middle"
+                            },
+                        });
+                    }
+                }, {
+                    "title": this.$L("用户名"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    "ellipsis": true,
+                }, {
+                    "title": this.$L("昵称"),
+                    "minWidth": 80,
+                    "ellipsis": true,
+                    render: (h, params) => {
+                        return h('span', params.row.nickname || '-');
+                    }
+                }, {
+                    "title": this.$L("职位/职称"),
+                    "minWidth": 100,
+                    "ellipsis": true,
+                    render: (h, params) => {
+                        return h('span', params.row.profession || '-');
+                    }
+                }, {
+                    "title": this.$L("加入时间"),
+                    "width": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                    }
+                }, {
+                    "title": this.$L("操作"),
+                    "key": 'action',
+                    "width": 80,
+                    "align": 'center',
+                    render: (h, params) => {
+                        return h('Button', {
+                            props: {
+                                type: 'primary',
+                                size: 'small'
+                            },
+                            style: {
+                                fontSize: '12px'
+                            },
+                            on: {
+                                click: () => {
+                                    this.$Modal.confirm({
+                                        title: this.$L('移出成员'),
+                                        content: this.$L('你确定要将此成员移出项目吗?'),
+                                        loading: true,
+                                        onOk: () => {
+                                            $A.apiAjax({
+                                                url: 'docs/users/join',
+                                                data: {
+                                                    act: 'delete',
+                                                    id: params.row.bookid,
+                                                    username: params.row.username,
+                                                },
+                                                error: () => {
+                                                    this.$Modal.remove();
+                                                    alert(this.$L('网络繁忙,请稍后再试!'));
+                                                },
+                                                success: (res) => {
+                                                    this.$Modal.remove();
+                                                    this.getLists();
+                                                    setTimeout(() => {
+                                                        if (res.ret === 1) {
+                                                            this.$Message.success(res.msg);
+                                                        }else{
+                                                            this.$Modal.error({title: this.$L('温馨提示'), content: res.msg });
+                                                        }
+                                                    }, 350);
+                                                }
+                                            });
+                                        }
+                                    });
+                                }
+                            }
+                        }, this.$L('删除'));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 100 - 98
resources/assets/js/main/components/project/archived.vue

@@ -52,104 +52,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("任务名称"),
-                "key": 'title',
-                "minWidth": 120,
-                render: (h, params) => {
-                    return this.renderTaskTitle(h, params);
-                }
-            }, {
-                "title": this.$L("创建人"),
-                "key": 'createuser',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.createuser
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("负责人"),
-                "key": 'username',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.username
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("完成"),
-                "minWidth": 70,
-                "align": "center",
-                render: (h, params) => {
-                    return h('span', params.row.complete ? '√' : '-');
-                }
-            }, {
-                "title": this.$L("归档时间"),
-                "width": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.archiveddate));
-                }
-            }, {
-                "title": this.$L("操作"),
-                "key": 'action',
-                "width": 100,
-                "align": 'center',
-                render: (h, params) => {
-                    return h('Button', {
-                        props: {
-                            type: 'primary',
-                            size: 'small'
-                        },
-                        style: {
-                            fontSize: '12px'
-                        },
-                        on: {
-                            click: () => {
-                                this.$Modal.confirm({
-                                    title: this.$L('取消归档'),
-                                    content: this.$L('你确定要取消归档吗?'),
-                                    loading: true,
-                                    onOk: () => {
-                                        $A.apiAjax({
-                                            url: 'project/task/edit',
-                                            method: 'post',
-                                            data: {
-                                                act: 'unarchived',
-                                                taskid: params.row.id,
-                                            },
-                                            error: () => {
-                                                this.$Modal.remove();
-                                                alert(this.$L('网络繁忙,请稍后再试!'));
-                                            },
-                                            success: (res) => {
-                                                this.$Modal.remove();
-                                                this.getLists();
-                                                setTimeout(() => {
-                                                    if (res.ret === 1) {
-                                                        this.$Message.success(res.msg);
-                                                        $A.triggerTaskInfoListener('unarchived', res.data);
-                                                        $A.triggerTaskInfoChange(params.row.id);
-                                                    } else {
-                                                        this.$Modal.error({title: this.$L('温馨提示'), content: res.msg});
-                                                    }
-                                                }, 350);
-                                            }
-                                        });
-                                    }
-                                });
-                            }
-                        }
-                    }, this.$L('取消归档'));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -208,6 +111,105 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("任务名称"),
+                    "key": 'title',
+                    "minWidth": 120,
+                    render: (h, params) => {
+                        return this.renderTaskTitle(h, params);
+                    }
+                }, {
+                    "title": this.$L("创建人"),
+                    "key": 'createuser',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.createuser
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("负责人"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.username
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("完成"),
+                    "minWidth": 70,
+                    "align": "center",
+                    render: (h, params) => {
+                        return h('span', params.row.complete ? '√' : '-');
+                    }
+                }, {
+                    "title": this.$L("归档时间"),
+                    "width": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.archiveddate));
+                    }
+                }, {
+                    "title": this.$L("操作"),
+                    "key": 'action',
+                    "width": 100,
+                    "align": 'center',
+                    render: (h, params) => {
+                        return h('Button', {
+                            props: {
+                                type: 'primary',
+                                size: 'small'
+                            },
+                            style: {
+                                fontSize: '12px'
+                            },
+                            on: {
+                                click: () => {
+                                    this.$Modal.confirm({
+                                        title: this.$L('取消归档'),
+                                        content: this.$L('你确定要取消归档吗?'),
+                                        loading: true,
+                                        onOk: () => {
+                                            $A.apiAjax({
+                                                url: 'project/task/edit',
+                                                method: 'post',
+                                                data: {
+                                                    act: 'unarchived',
+                                                    taskid: params.row.id,
+                                                },
+                                                error: () => {
+                                                    this.$Modal.remove();
+                                                    alert(this.$L('网络繁忙,请稍后再试!'));
+                                                },
+                                                success: (res) => {
+                                                    this.$Modal.remove();
+                                                    this.getLists();
+                                                    setTimeout(() => {
+                                                        if (res.ret === 1) {
+                                                            this.$Message.success(res.msg);
+                                                            $A.triggerTaskInfoListener('unarchived', res.data);
+                                                            $A.triggerTaskInfoChange(params.row.id);
+                                                        } else {
+                                                            this.$Modal.error({title: this.$L('温馨提示'), content: res.msg});
+                                                        }
+                                                    }, 350);
+                                                }
+                                            });
+                                        }
+                                    });
+                                }
+                            }
+                        }, this.$L('取消归档'));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 100 - 98
resources/assets/js/main/components/project/header/archived.vue

@@ -49,104 +49,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("任务名称"),
-                "key": 'title',
-                "minWidth": 120,
-                render: (h, params) => {
-                    return this.renderTaskTitle(h, params);
-                }
-            }, {
-                "title": this.$L("创建人"),
-                "key": 'createuser',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.createuser
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("负责人"),
-                "key": 'username',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.username
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("完成"),
-                "minWidth": 70,
-                "align": "center",
-                render: (h, params) => {
-                    return h('span', params.row.complete ? '√' : '-');
-                }
-            }, {
-                "title": this.$L("归档时间"),
-                "width": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.archiveddate));
-                }
-            }, {
-                "title": this.$L("操作"),
-                "key": 'action',
-                "width": 100,
-                "align": 'center',
-                render: (h, params) => {
-                    return h('Button', {
-                        props: {
-                            type: 'primary',
-                            size: 'small'
-                        },
-                        style: {
-                            fontSize: '12px'
-                        },
-                        on: {
-                            click: () => {
-                                this.$Modal.confirm({
-                                    title: this.$L('取消归档'),
-                                    content: this.$L('你确定要取消归档吗?'),
-                                    loading: true,
-                                    onOk: () => {
-                                        $A.apiAjax({
-                                            url: 'project/task/edit',
-                                            method: 'post',
-                                            data: {
-                                                act: 'unarchived',
-                                                taskid: params.row.id,
-                                            },
-                                            error: () => {
-                                                this.$Modal.remove();
-                                                alert(this.$L('网络繁忙,请稍后再试!'));
-                                            },
-                                            success: (res) => {
-                                                this.$Modal.remove();
-                                                this.getLists();
-                                                setTimeout(() => {
-                                                    if (res.ret === 1) {
-                                                        this.$Message.success(res.msg);
-                                                        $A.triggerTaskInfoListener('unarchived', res.data);
-                                                        $A.triggerTaskInfoChange(params.row.id);
-                                                    } else {
-                                                        this.$Modal.error({title: this.$L('温馨提示'), content: res.msg});
-                                                    }
-                                                }, 350);
-                                            }
-                                        });
-                                    }
-                                });
-                            }
-                        }
-                    }, this.$L('取消归档'));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -206,6 +109,105 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("任务名称"),
+                    "key": 'title',
+                    "minWidth": 120,
+                    render: (h, params) => {
+                        return this.renderTaskTitle(h, params);
+                    }
+                }, {
+                    "title": this.$L("创建人"),
+                    "key": 'createuser',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.createuser
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("负责人"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.username
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("完成"),
+                    "minWidth": 70,
+                    "align": "center",
+                    render: (h, params) => {
+                        return h('span', params.row.complete ? '√' : '-');
+                    }
+                }, {
+                    "title": this.$L("归档时间"),
+                    "width": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.archiveddate));
+                    }
+                }, {
+                    "title": this.$L("操作"),
+                    "key": 'action',
+                    "width": 100,
+                    "align": 'center',
+                    render: (h, params) => {
+                        return h('Button', {
+                            props: {
+                                type: 'primary',
+                                size: 'small'
+                            },
+                            style: {
+                                fontSize: '12px'
+                            },
+                            on: {
+                                click: () => {
+                                    this.$Modal.confirm({
+                                        title: this.$L('取消归档'),
+                                        content: this.$L('你确定要取消归档吗?'),
+                                        loading: true,
+                                        onOk: () => {
+                                            $A.apiAjax({
+                                                url: 'project/task/edit',
+                                                method: 'post',
+                                                data: {
+                                                    act: 'unarchived',
+                                                    taskid: params.row.id,
+                                                },
+                                                error: () => {
+                                                    this.$Modal.remove();
+                                                    alert(this.$L('网络繁忙,请稍后再试!'));
+                                                },
+                                                success: (res) => {
+                                                    this.$Modal.remove();
+                                                    this.getLists();
+                                                    setTimeout(() => {
+                                                        if (res.ret === 1) {
+                                                            this.$Message.success(res.msg);
+                                                            $A.triggerTaskInfoListener('unarchived', res.data);
+                                                            $A.triggerTaskInfoChange(params.row.id);
+                                                        } else {
+                                                            this.$Modal.error({title: this.$L('温馨提示'), content: res.msg});
+                                                        }
+                                                    }, 350);
+                                                }
+                                            });
+                                        }
+                                    });
+                                }
+                            }
+                        }, this.$L('取消归档'));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 44 - 42
resources/assets/js/main/components/project/header/create.vue

@@ -49,48 +49,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("任务名称"),
-                "key": 'title',
-                "minWidth": 120,
-                render: (h, params) => {
-                    return this.renderTaskTitle(h, params);
-                }
-            }, {
-                "title": this.$L("负责人"),
-                "key": 'username',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.username
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("完成"),
-                "minWidth": 70,
-                "align": "center",
-                render: (h, params) => {
-                    return h('span', params.row.complete ? '√' : '-');
-                }
-            }, {
-                "title": this.$L("归档"),
-                "minWidth": 70,
-                "align": "center",
-                render: (h, params) => {
-                    return h('span', params.row.archived ? '√' : '-');
-                }
-            }, {
-                "title": this.$L("创建时间"),
-                "width": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -131,6 +90,49 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("任务名称"),
+                    "key": 'title',
+                    "minWidth": 120,
+                    render: (h, params) => {
+                        return this.renderTaskTitle(h, params);
+                    }
+                }, {
+                    "title": this.$L("负责人"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.username
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("完成"),
+                    "minWidth": 70,
+                    "align": "center",
+                    render: (h, params) => {
+                        return h('span', params.row.complete ? '√' : '-');
+                    }
+                }, {
+                    "title": this.$L("归档"),
+                    "minWidth": 70,
+                    "align": "center",
+                    render: (h, params) => {
+                        return h('span', params.row.archived ? '√' : '-');
+                    }
+                }, {
+                    "title": this.$L("创建时间"),
+                    "width": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 58 - 56
resources/assets/js/main/components/project/my/favor.vue

@@ -46,62 +46,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("项目名称"),
-                "key": 'title',
-                "minWidth": 100,
-                render: (h, params) => {
-                    return h('a', {
-                        attrs: {
-                            href: 'javascript:void(0)',
-                        },
-                        on: {
-                            click: () => {
-                                this.openProject(params.row.id);
-                            }
-                        }
-                    }, params.row.title);
-                },
-            }, {
-                "title": this.$L("收藏时间"),
-                "minWidth": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.uindate));
-                }
-            }, {
-                "title": this.$L("操作"),
-                "key": 'action',
-                "width": 80,
-                "align": 'center',
-                render: (h, params) => {
-                    return h('Button', {
-                        props: {
-                            type: 'primary',
-                            size: 'small'
-                        },
-                        style: {
-                            fontSize: '12px'
-                        },
-                        on: {
-                            click: () => {
-                                this.$Modal.confirm({
-                                    title: this.$L('取消收藏'),
-                                    content: this.$L('你确定要取消收藏此项目吗?'),
-                                    loading: true,
-                                    onOk: () => {
-                                        this.favorProject('cancel', params.row.id, () => {
-                                            this.getLists();
-                                        });
-                                    }
-                                });
-                            }
-                        }
-                    }, this.$L('取消'));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -119,6 +64,63 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("项目名称"),
+                    "key": 'title',
+                    "minWidth": 100,
+                    render: (h, params) => {
+                        return h('a', {
+                            attrs: {
+                                href: 'javascript:void(0)',
+                            },
+                            on: {
+                                click: () => {
+                                    this.openProject(params.row.id);
+                                }
+                            }
+                        }, params.row.title);
+                    },
+                }, {
+                    "title": this.$L("收藏时间"),
+                    "minWidth": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.uindate));
+                    }
+                }, {
+                    "title": this.$L("操作"),
+                    "key": 'action',
+                    "width": 80,
+                    "align": 'center',
+                    render: (h, params) => {
+                        return h('Button', {
+                            props: {
+                                type: 'primary',
+                                size: 'small'
+                            },
+                            style: {
+                                fontSize: '12px'
+                            },
+                            on: {
+                                click: () => {
+                                    this.$Modal.confirm({
+                                        title: this.$L('取消收藏'),
+                                        content: this.$L('你确定要取消收藏此项目吗?'),
+                                        loading: true,
+                                        onOk: () => {
+                                            this.favorProject('cancel', params.row.id, () => {
+                                                this.getLists();
+                                            });
+                                        }
+                                    });
+                                }
+                            }
+                        }, this.$L('取消'));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 51 - 49
resources/assets/js/main/components/project/my/join.vue

@@ -46,55 +46,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("项目名称"),
-                "key": 'title',
-                "minWidth": 100,
-                render: (h, params) => {
-                    return h('a', {
-                        attrs: {
-                            href: 'javascript:void(0)',
-                        },
-                        on: {
-                            click: () => {
-                                this.openProject(params.row.id);
-                            }
-                        }
-                    }, params.row.title);
-                },
-            }, {
-                "title": this.$L("加入时间"),
-                "minWidth": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.uindate));
-                }
-            }, {
-                "title": this.$L("操作"),
-                "key": 'action',
-                "width": 80,
-                "align": 'center',
-                render: (h, params) => {
-                    return h('Button', {
-                        props: {
-                            type: 'primary',
-                            size: 'small'
-                        },
-                        style: {
-                            fontSize: '12px'
-                        },
-                        on: {
-                            click: () => {
-                                this.outProject(params.row.id, () => {
-                                    this.getLists();
-                                });
-                            }
-                        }
-                    }, this.$L('退出'));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -112,6 +64,56 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("项目名称"),
+                    "key": 'title',
+                    "minWidth": 100,
+                    render: (h, params) => {
+                        return h('a', {
+                            attrs: {
+                                href: 'javascript:void(0)',
+                            },
+                            on: {
+                                click: () => {
+                                    this.openProject(params.row.id);
+                                }
+                            }
+                        }, params.row.title);
+                    },
+                }, {
+                    "title": this.$L("加入时间"),
+                    "minWidth": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.uindate));
+                    }
+                }, {
+                    "title": this.$L("操作"),
+                    "key": 'action',
+                    "width": 80,
+                    "align": 'center',
+                    render: (h, params) => {
+                        return h('Button', {
+                            props: {
+                                type: 'primary',
+                                size: 'small'
+                            },
+                            style: {
+                                fontSize: '12px'
+                            },
+                            on: {
+                                click: () => {
+                                    this.outProject(params.row.id, () => {
+                                        this.getLists();
+                                    });
+                                }
+                            }
+                        }, this.$L('退出'));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 51 - 49
resources/assets/js/main/components/project/my/manage.vue

@@ -46,55 +46,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("项目名称"),
-                "key": 'title',
-                "minWidth": 100,
-                render: (h, params) => {
-                    return h('a', {
-                        attrs: {
-                            href: 'javascript:void(0)',
-                        },
-                        on: {
-                            click: () => {
-                                this.openProject(params.row.id);
-                            }
-                        }
-                    }, params.row.title);
-                },
-            }, {
-                "title": this.$L("创建时间"),
-                "minWidth": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                }
-            }, {
-                "title": this.$L("操作"),
-                "key": 'action',
-                "width": 80,
-                "align": 'center',
-                render: (h, params) => {
-                    return h('Button', {
-                        props: {
-                            type: 'primary',
-                            size: 'small'
-                        },
-                        style: {
-                            fontSize: '12px'
-                        },
-                        on: {
-                            click: () => {
-                                this.deleteProject(params.row.id, () => {
-                                    this.getLists();
-                                });
-                            }
-                        }
-                    }, this.$L('删除'));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -112,6 +64,56 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("项目名称"),
+                    "key": 'title',
+                    "minWidth": 100,
+                    render: (h, params) => {
+                        return h('a', {
+                            attrs: {
+                                href: 'javascript:void(0)',
+                            },
+                            on: {
+                                click: () => {
+                                    this.openProject(params.row.id);
+                                }
+                            }
+                        }, params.row.title);
+                    },
+                }, {
+                    "title": this.$L("创建时间"),
+                    "minWidth": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                    }
+                }, {
+                    "title": this.$L("操作"),
+                    "key": 'action',
+                    "width": 80,
+                    "align": 'center',
+                    render: (h, params) => {
+                        return h('Button', {
+                            props: {
+                                type: 'primary',
+                                size: 'small'
+                            },
+                            style: {
+                                fontSize: '12px'
+                            },
+                            on: {
+                                click: () => {
+                                    this.deleteProject(params.row.id, () => {
+                                        this.getLists();
+                                    });
+                                }
+                            }
+                        }, this.$L('删除'));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 48 - 46
resources/assets/js/main/components/project/statistics.vue

@@ -163,52 +163,7 @@
                 statistics_complete: 0,
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("任务名称"),
-                "key": 'title',
-                "minWidth": 120,
-                render: (h, params) => {
-                    return this.renderTaskTitle(h, params);
-                }
-            }, {
-                "title": this.$L("创建人"),
-                "key": 'createuser',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.createuser
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("负责人"),
-                "key": 'username',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.username
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("完成"),
-                "minWidth": 70,
-                "align": "center",
-                render: (h, params) => {
-                    return h('span', params.row.complete ? '√' : '-');
-                }
-            }, {
-                "title": this.$L("创建时间"),
-                "width": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -292,6 +247,53 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("任务名称"),
+                    "key": 'title',
+                    "minWidth": 120,
+                    render: (h, params) => {
+                        return this.renderTaskTitle(h, params);
+                    }
+                }, {
+                    "title": this.$L("创建人"),
+                    "key": 'createuser',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.createuser
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("负责人"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.username
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("完成"),
+                    "minWidth": 70,
+                    "align": "center",
+                    render: (h, params) => {
+                        return h('span', params.row.complete ? '√' : '-');
+                    }
+                }, {
+                    "title": this.$L("创建时间"),
+                    "width": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                    }
+                }];
+            },
+
             setTaskType(type) {
                 this.taskType = type;
             },

+ 53 - 51
resources/assets/js/main/components/project/task/detail/detail.vue

@@ -264,57 +264,7 @@
                 if (doms[i].parentNode != null) doms[i].parentNode.removeChild(doms[i]);
             }
         },
-        created() {
-            let lastSecond = (e) => {
-                return new Date($A.formatDate("Y-m-d 23:59:29", Math.round(e / 1000)))
-            };
-            this.timeOptions = {
-                shortcuts: [{
-                    text: this.$L('今天'),
-                    value() {
-                        return [new Date(), lastSecond(new Date().getTime())];
-                    }
-                }, {
-                    text: this.$L('明天'),
-                    value() {
-                        let e = new Date();
-                        e.setDate(e.getDate() + 1);
-                        return [new Date(), lastSecond(e.getTime())];
-                    }
-                }, {
-                    text: this.$L('本周'),
-                    value() {
-                        return [$A.getData('今天', true), lastSecond($A.getData('本周结束2', true))];
-                    }
-                }, {
-                    text: this.$L('本月'),
-                    value() {
-                        return [$A.getData('今天', true), lastSecond($A.getData('本月结束', true))];
-                    }
-                }, {
-                    text: this.$L('3天'),
-                    value() {
-                        let e = new Date();
-                        e.setDate(e.getDate() + 3);
-                        return [new Date(), lastSecond(e.getTime())];
-                    }
-                }, {
-                    text: this.$L('5天'),
-                    value() {
-                        let e = new Date();
-                        e.setDate(e.getDate() + 5);
-                        return [new Date(), lastSecond(e.getTime())];
-                    }
-                }, {
-                    text: this.$L('7天'),
-                    value() {
-                        let e = new Date();
-                        e.setDate(e.getDate() + 7);
-                        return [new Date(), lastSecond(e.getTime())];
-                    }
-                }]
-            };
-        },
+
         mounted() {
             let match = (window.location.pathname + "").match(/\/project\/panel\/(\d+)$/i);
             this.urlProjectid = match ? match[1] : 0;
@@ -366,6 +316,58 @@
             }
         },
         methods: {
+            initLanguage() {
+                let lastSecond = (e) => {
+                    return new Date($A.formatDate("Y-m-d 23:59:29", Math.round(e / 1000)))
+                };
+                this.timeOptions = {
+                    shortcuts: [{
+                        text: this.$L('今天'),
+                        value() {
+                            return [new Date(), lastSecond(new Date().getTime())];
+                        }
+                    }, {
+                        text: this.$L('明天'),
+                        value() {
+                            let e = new Date();
+                            e.setDate(e.getDate() + 1);
+                            return [new Date(), lastSecond(e.getTime())];
+                        }
+                    }, {
+                        text: this.$L('本周'),
+                        value() {
+                            return [$A.getData('今天', true), lastSecond($A.getData('本周结束2', true))];
+                        }
+                    }, {
+                        text: this.$L('本月'),
+                        value() {
+                            return [$A.getData('今天', true), lastSecond($A.getData('本月结束', true))];
+                        }
+                    }, {
+                        text: this.$L('3天'),
+                        value() {
+                            let e = new Date();
+                            e.setDate(e.getDate() + 3);
+                            return [new Date(), lastSecond(e.getTime())];
+                        }
+                    }, {
+                        text: this.$L('5天'),
+                        value() {
+                            let e = new Date();
+                            e.setDate(e.getDate() + 5);
+                            return [new Date(), lastSecond(e.getTime())];
+                        }
+                    }, {
+                        text: this.$L('7天'),
+                        value() {
+                            let e = new Date();
+                            e.setDate(e.getDate() + 7);
+                            return [new Date(), lastSecond(e.getTime())];
+                        }
+                    }]
+                };
+            },
+
             levelFormt(p) {
                 switch (parseInt(p)) {
                     case 1:

+ 186 - 186
resources/assets/js/main/components/project/task/files.vue

@@ -112,192 +112,6 @@
             }
         },
 
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            let columns = [];
-            columns.push({
-                "title": "",
-                "width": 60,
-                render: (h, params) => {
-                    if (!params.row.thumb) {
-                        return h('WLoading', {
-                            style: {
-                                width: "24px",
-                                height: "24px",
-                                verticalAlign: "middle",
-                            },
-                        });
-                    }
-                    let imgRender = h('img', {
-                        style: {
-                            width: "28px",
-                            height: "28px",
-                            display: "table"
-                        },
-                        attrs: {
-                            src: params.row.thumb
-                        },
-                    });
-                    if (['jpg', 'jpeg', 'png', 'gif'].indexOf(params.row.ext) !== -1) {
-                        return h('Tooltip', {
-                            props: {
-                                transfer: true,
-                                delay: 600,
-                                maxWidth: 600
-                            },
-                        }, [imgRender, h('div', {slot: 'content'}, [h('img', {
-                            style: {
-                                maxWidth: "360px",
-                                maxHeight: "360px",
-                                display: "table",
-                                margin: "3px 0"
-                            },
-                            attrs: {
-                                src: params.row.path
-                            },
-                        })])]);
-                    } else {
-                        return imgRender;
-                    }
-                }
-            });
-            columns.push({
-                "title": this.$L("文件名"),
-                "key": 'name',
-                "minWidth": 100,
-                "tooltip": true,
-                "sortable": true,
-                render: (h, params) => {
-                    let arr = [h('span', params.row.name)];
-                    if (params.row.showProgress === true) {
-                        arr.push(h('Progress', {
-                            style: {
-                                display: 'block',
-                                marginTop: '-3px'
-                            },
-                            props: {
-                                percent: params.row.percentage || 100,
-                            },
-                        }));
-                    }
-                    return h('div', arr);
-                },
-            });
-            columns.push({
-                "title": this.$L("大小"),
-                "key": 'size',
-                "minWidth": 90,
-                "maxWidth": 120,
-                "align": "right",
-                "sortable": true,
-                render: (h, params) => {
-                    return h('span', $A.bytesToSize(params.row.size));
-                },
-            });
-            if (!this.simple) {
-                columns.push({
-                    "title": this.$L("下载次数"),
-                    "key": 'download',
-                    "align": "center",
-                    "sortable": true,
-                    "width": 100,
-                });
-                columns.push({
-                    "title": this.$L("上传者"),
-                    "key": 'username',
-                    "minWidth": 90,
-                    "maxWidth": 130,
-                    "sortable": true,
-                    render: (h, params) => {
-                        return h('UserView', {
-                            props: {
-                                username: params.row.username
-                            }
-                        });
-                    }
-                });
-                columns.push({
-                    "title": this.$L("上传时间"),
-                    "key": 'indate',
-                    "width": 160,
-                    "sortable": true,
-                    render: (h, params) => {
-                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                    }
-                });
-            }
-            columns.push({
-                "title": " ",
-                "key": 'action',
-                "align": 'right',
-                "width": 120,
-                render: (h, params) => {
-                    if (!params.row.id) {
-                        return null;
-                    }
-                    return h('div', [
-                        h('Tooltip', {
-                            props: { content: this.$L('下载'), transfer: true, delay: 600 },
-                            style: { position: 'relative' },
-                        }, [h('Icon', {
-                            props: { type: 'md-arrow-down', size: 16 },
-                            style: { margin: '0 3px', cursor: 'pointer' },
-                        }), h('a', {
-                            style: { position: 'absolute', top: '0', left: '0', right: '0', bottom: '0', 'zIndex': 1 },
-                            attrs: { href: $A.apiUrl('project/files/download?fileid=' + params.row.id), target: '_blank' },
-                            on: {
-                                click: () => {
-                                    if (params.row.yetdown) {
-                                        return;
-                                    }
-                                    params.row.yetdown = 1;
-                                    this.$set(params.row, 'download', params.row.download + 1);
-                                }
-                            }
-                        })]),
-                        h('Tooltip', {
-                            props: { content: this.$L('重命名'), transfer: true, delay: 600 }
-                        }, [h('Icon', {
-                            props: { type: 'md-create', size: 16 },
-                            style: { margin: '0 3px', cursor: 'pointer' },
-                            on: {
-                                click: () => {
-                                    this.renameFile(params.row);
-                                }
-                            }
-                        })]),
-                        h('Tooltip', {
-                            props: { content: this.$L('复制链接'), transfer: true, delay: 600 }
-                        }, [h('Icon', {
-                            props: { type: 'md-link', size: 16 },
-                            style: { margin: '0 3px', cursor: 'pointer', transform: 'rotate(-45deg)' },
-                            on: {
-                                click: () => {
-                                    this.$copyText($A.apiUrl('project/files/download?fileid=' + params.row.id)).then(() => {
-                                        this.$Message.success(this.$L('复制成功!'));
-                                    }, () => {
-                                        this.$Message.error(this.$L('复制失败!'));
-                                    });
-                                }
-                            }
-                        })]),
-                        h('Tooltip', {
-                            props: { content: this.$L('删除'), transfer: true, delay: 600 }
-                        }, [h('Icon', {
-                            props: { type: 'md-trash', size: 16 },
-                            style: { margin: '0 3px', cursor: 'pointer' },
-                            on: {
-                                click: () => {
-                                    this.deleteFile(params.row);
-                                }
-                            }
-                        })]),
-                    ]);
-                }
-            });
-            this.columns = columns;
-        },
-
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -338,6 +152,192 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                let columns = [];
+                columns.push({
+                    "title": "",
+                    "width": 60,
+                    render: (h, params) => {
+                        if (!params.row.thumb) {
+                            return h('WLoading', {
+                                style: {
+                                    width: "24px",
+                                    height: "24px",
+                                    verticalAlign: "middle",
+                                },
+                            });
+                        }
+                        let imgRender = h('img', {
+                            style: {
+                                width: "28px",
+                                height: "28px",
+                                display: "table"
+                            },
+                            attrs: {
+                                src: params.row.thumb
+                            },
+                        });
+                        if (['jpg', 'jpeg', 'png', 'gif'].indexOf(params.row.ext) !== -1) {
+                            return h('Tooltip', {
+                                props: {
+                                    transfer: true,
+                                    delay: 600,
+                                    maxWidth: 600
+                                },
+                            }, [imgRender, h('div', {slot: 'content'}, [h('img', {
+                                style: {
+                                    maxWidth: "360px",
+                                    maxHeight: "360px",
+                                    display: "table",
+                                    margin: "3px 0"
+                                },
+                                attrs: {
+                                    src: params.row.path
+                                },
+                            })])]);
+                        } else {
+                            return imgRender;
+                        }
+                    }
+                });
+                columns.push({
+                    "title": this.$L("文件名"),
+                    "key": 'name',
+                    "minWidth": 100,
+                    "tooltip": true,
+                    "sortable": true,
+                    render: (h, params) => {
+                        let arr = [h('span', params.row.name)];
+                        if (params.row.showProgress === true) {
+                            arr.push(h('Progress', {
+                                style: {
+                                    display: 'block',
+                                    marginTop: '-3px'
+                                },
+                                props: {
+                                    percent: params.row.percentage || 100,
+                                },
+                            }));
+                        }
+                        return h('div', arr);
+                    },
+                });
+                columns.push({
+                    "title": this.$L("大小"),
+                    "key": 'size',
+                    "minWidth": 90,
+                    "maxWidth": 120,
+                    "align": "right",
+                    "sortable": true,
+                    render: (h, params) => {
+                        return h('span', $A.bytesToSize(params.row.size));
+                    },
+                });
+                if (!this.simple) {
+                    columns.push({
+                        "title": this.$L("下载次数"),
+                        "key": 'download',
+                        "align": "center",
+                        "sortable": true,
+                        "width": 100,
+                    });
+                    columns.push({
+                        "title": this.$L("上传者"),
+                        "key": 'username',
+                        "minWidth": 90,
+                        "maxWidth": 130,
+                        "sortable": true,
+                        render: (h, params) => {
+                            return h('UserView', {
+                                props: {
+                                    username: params.row.username
+                                }
+                            });
+                        }
+                    });
+                    columns.push({
+                        "title": this.$L("上传时间"),
+                        "key": 'indate',
+                        "width": 160,
+                        "sortable": true,
+                        render: (h, params) => {
+                            return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                        }
+                    });
+                }
+                columns.push({
+                    "title": " ",
+                    "key": 'action',
+                    "align": 'right',
+                    "width": 120,
+                    render: (h, params) => {
+                        if (!params.row.id) {
+                            return null;
+                        }
+                        return h('div', [
+                            h('Tooltip', {
+                                props: { content: this.$L('下载'), transfer: true, delay: 600 },
+                                style: { position: 'relative' },
+                            }, [h('Icon', {
+                                props: { type: 'md-arrow-down', size: 16 },
+                                style: { margin: '0 3px', cursor: 'pointer' },
+                            }), h('a', {
+                                style: { position: 'absolute', top: '0', left: '0', right: '0', bottom: '0', 'zIndex': 1 },
+                                attrs: { href: $A.apiUrl('project/files/download?fileid=' + params.row.id), target: '_blank' },
+                                on: {
+                                    click: () => {
+                                        if (params.row.yetdown) {
+                                            return;
+                                        }
+                                        params.row.yetdown = 1;
+                                        this.$set(params.row, 'download', params.row.download + 1);
+                                    }
+                                }
+                            })]),
+                            h('Tooltip', {
+                                props: { content: this.$L('重命名'), transfer: true, delay: 600 }
+                            }, [h('Icon', {
+                                props: { type: 'md-create', size: 16 },
+                                style: { margin: '0 3px', cursor: 'pointer' },
+                                on: {
+                                    click: () => {
+                                        this.renameFile(params.row);
+                                    }
+                                }
+                            })]),
+                            h('Tooltip', {
+                                props: { content: this.$L('复制链接'), transfer: true, delay: 600 }
+                            }, [h('Icon', {
+                                props: { type: 'md-link', size: 16 },
+                                style: { margin: '0 3px', cursor: 'pointer', transform: 'rotate(-45deg)' },
+                                on: {
+                                    click: () => {
+                                        this.$copyText($A.apiUrl('project/files/download?fileid=' + params.row.id)).then(() => {
+                                            this.$Message.success(this.$L('复制成功!'));
+                                        }, () => {
+                                            this.$Message.error(this.$L('复制失败!'));
+                                        });
+                                    }
+                                }
+                            })]),
+                            h('Tooltip', {
+                                props: { content: this.$L('删除'), transfer: true, delay: 600 }
+                            }, [h('Icon', {
+                                props: { type: 'md-trash', size: 16 },
+                                style: { margin: '0 3px', cursor: 'pointer' },
+                                on: {
+                                    click: () => {
+                                        this.deleteFile(params.row);
+                                    }
+                                }
+                            })]),
+                        ]);
+                    }
+                });
+                this.columns = columns;
+            },
+
             sreachTab(clear) {
                 if (clear === true) {
                     this.keys = {};

+ 118 - 118
resources/assets/js/main/components/project/task/lists.vue

@@ -108,124 +108,6 @@
             }
         },
 
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("任务名称"),
-                "key": 'title',
-                "minWidth": 120,
-                render: (h, params) => {
-                    return this.renderTaskTitle(h, params);
-                }
-            }, {
-                "title": this.$L("阶段"),
-                "key": 'labelid',
-                "minWidth": 80,
-                "sortable": true,
-                render: (h, params) => {
-                    let labelid = params.row.labelid;
-                    let labelDetail = this.labelLists.find((item) => { return item.id === labelid});
-                    return h('span', labelDetail ? labelDetail.title : labelid);
-                }
-            }, {
-                "title": this.$L("计划时间"),
-                "key": 'enddate',
-                "width": 160,
-                "align": "center",
-                "sortable": true,
-                render: (h, params) => {
-                    if (!params.row.startdate && !params.row.enddate) {
-                        return h('span', '-');
-                    }
-                    return h('div', {
-                        style: {
-                            fontSize: '12px',
-                            lineHeight: '14px'
-                        }
-                    }, [
-                        h('div', params.row.startdate ? $A.formatDate("Y-m-d H:i:s", params.row.startdate) : '-'),
-                        h('div', params.row.enddate ? $A.formatDate("Y-m-d H:i:s", params.row.enddate) : '-'),
-                    ]);
-                }
-            }, {
-                "title": this.$L("负责人"),
-                "key": 'username',
-                "minWidth": 90,
-                "sortable": true,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.username
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("优先级"),
-                "key": 'level',
-                "align": "center",
-                "minWidth": 90,
-                "maxWidth": 100,
-                "sortable": true,
-                render: (h, params) => {
-                    let level = params.row.level;
-                    let color;
-                    switch (level) {
-                        case 1:
-                            color = "#ff0000";
-                            break;
-                        case 2:
-                            color = "#BB9F35";
-                            break;
-                        case 3:
-                            color = "#449EDD";
-                            break;
-                        case 4:
-                            color = "#84A83B";
-                            break;
-                    }
-                    return h('span', {
-                        style: {
-                            color: color
-                        }
-                    }, "P" + level);
-                },
-            }, {
-                "title": this.$L("状态"),
-                "key": 'type',
-                "align": "center",
-                "minWidth": 80,
-                "maxWidth": 100,
-                "sortable": true,
-                render: (h, params) => {
-                    let color;
-                    let status;
-                    if (params.row.overdue) {
-                        color = "#ff0000";
-                        status = this.$L("已超期");
-                    } else if (params.row.complete) {
-                        color = "";
-                        status = this.$L("已完成");
-                    } else {
-                        color = "#19be6b";
-                        status = this.$L("未完成");
-                    }
-                    return h('span', {
-                        style: {
-                            color: color
-                        }
-                    }, status);
-                },
-            }, {
-                "title": this.$L("创建时间"),
-                "key": 'indate',
-                "width": 160,
-                "sortable": true,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                }
-            }];
-        },
-
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -285,6 +167,124 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("任务名称"),
+                    "key": 'title',
+                    "minWidth": 120,
+                    render: (h, params) => {
+                        return this.renderTaskTitle(h, params);
+                    }
+                }, {
+                    "title": this.$L("阶段"),
+                    "key": 'labelid',
+                    "minWidth": 80,
+                    "sortable": true,
+                    render: (h, params) => {
+                        let labelid = params.row.labelid;
+                        let labelDetail = this.labelLists.find((item) => { return item.id === labelid});
+                        return h('span', labelDetail ? labelDetail.title : labelid);
+                    }
+                }, {
+                    "title": this.$L("计划时间"),
+                    "key": 'enddate',
+                    "width": 160,
+                    "align": "center",
+                    "sortable": true,
+                    render: (h, params) => {
+                        if (!params.row.startdate && !params.row.enddate) {
+                            return h('span', '-');
+                        }
+                        return h('div', {
+                            style: {
+                                fontSize: '12px',
+                                lineHeight: '14px'
+                            }
+                        }, [
+                            h('div', params.row.startdate ? $A.formatDate("Y-m-d H:i:s", params.row.startdate) : '-'),
+                            h('div', params.row.enddate ? $A.formatDate("Y-m-d H:i:s", params.row.enddate) : '-'),
+                        ]);
+                    }
+                }, {
+                    "title": this.$L("负责人"),
+                    "key": 'username',
+                    "minWidth": 90,
+                    "sortable": true,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.username
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("优先级"),
+                    "key": 'level',
+                    "align": "center",
+                    "minWidth": 90,
+                    "maxWidth": 100,
+                    "sortable": true,
+                    render: (h, params) => {
+                        let level = params.row.level;
+                        let color;
+                        switch (level) {
+                            case 1:
+                                color = "#ff0000";
+                                break;
+                            case 2:
+                                color = "#BB9F35";
+                                break;
+                            case 3:
+                                color = "#449EDD";
+                                break;
+                            case 4:
+                                color = "#84A83B";
+                                break;
+                        }
+                        return h('span', {
+                            style: {
+                                color: color
+                            }
+                        }, "P" + level);
+                    },
+                }, {
+                    "title": this.$L("状态"),
+                    "key": 'type',
+                    "align": "center",
+                    "minWidth": 80,
+                    "maxWidth": 100,
+                    "sortable": true,
+                    render: (h, params) => {
+                        let color;
+                        let status;
+                        if (params.row.overdue) {
+                            color = "#ff0000";
+                            status = this.$L("已超期");
+                        } else if (params.row.complete) {
+                            color = "";
+                            status = this.$L("已完成");
+                        } else {
+                            color = "#19be6b";
+                            status = this.$L("未完成");
+                        }
+                        return h('span', {
+                            style: {
+                                color: color
+                            }
+                        }, status);
+                    },
+                }, {
+                    "title": this.$L("创建时间"),
+                    "key": 'indate',
+                    "width": 160,
+                    "sortable": true,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                    }
+                }];
+            },
+
             exportTab() {
                 let whereData = $A.cloneData(this.keys);
                 whereData.page = Math.max(this.listPage, 1);

+ 0 - 4
resources/assets/js/main/components/project/task/logs.vue

@@ -153,10 +153,6 @@
             }
         },
 
-        created() {
-
-        },
-
         mounted() {
             if (this.canload) {
                 this.loadYet = true;

+ 55 - 53
resources/assets/js/main/components/project/todo/attention.vue

@@ -49,59 +49,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("任务名称"),
-                "key": 'title',
-                "minWidth": 120,
-                render: (h, params) => {
-                    return this.renderTaskTitle(h, params);
-                }
-            }, {
-                "title": this.$L("创建人"),
-                "key": 'createuser',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.createuser
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("负责人"),
-                "key": 'username',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.username
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("完成"),
-                "minWidth": 70,
-                "align": "center",
-                render: (h, params) => {
-                    return h('span', params.row.complete ? '√' : '-');
-                }
-            }, {
-                "title": this.$L("归档"),
-                "minWidth": 70,
-                "align": "center",
-                render: (h, params) => {
-                    return h('span', params.row.archived ? '√' : '-');
-                }
-            }, {
-                "title": this.$L("关注时间"),
-                "width": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.attentiondate));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -165,6 +113,60 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("任务名称"),
+                    "key": 'title',
+                    "minWidth": 120,
+                    render: (h, params) => {
+                        return this.renderTaskTitle(h, params);
+                    }
+                }, {
+                    "title": this.$L("创建人"),
+                    "key": 'createuser',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.createuser
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("负责人"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.username
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("完成"),
+                    "minWidth": 70,
+                    "align": "center",
+                    render: (h, params) => {
+                        return h('span', params.row.complete ? '√' : '-');
+                    }
+                }, {
+                    "title": this.$L("归档"),
+                    "minWidth": 70,
+                    "align": "center",
+                    render: (h, params) => {
+                        return h('span', params.row.archived ? '√' : '-');
+                    }
+                }, {
+                    "title": this.$L("关注时间"),
+                    "width": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.attentiondate));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 41 - 39
resources/assets/js/main/components/project/todo/complete.vue

@@ -49,45 +49,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("任务名称"),
-                "key": 'title',
-                "minWidth": 120,
-                render: (h, params) => {
-                    return this.renderTaskTitle(h, params);
-                }
-            }, {
-                "title": this.$L("创建人"),
-                "key": 'createuser',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.createuser
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("负责人"),
-                "key": 'username',
-                "minWidth": 80,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.username
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("完成时间"),
-                "width": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.completedate));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -148,6 +110,46 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("任务名称"),
+                    "key": 'title',
+                    "minWidth": 120,
+                    render: (h, params) => {
+                        return this.renderTaskTitle(h, params);
+                    }
+                }, {
+                    "title": this.$L("创建人"),
+                    "key": 'createuser',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.createuser
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("负责人"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.username
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("完成时间"),
+                    "width": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.completedate));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 106 - 104
resources/assets/js/main/components/project/users.vue

@@ -47,110 +47,7 @@
                 noDataText: "",
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("头像"),
-                "minWidth": 60,
-                "maxWidth": 100,
-                render: (h, params) => {
-                    return h('UserImg', {
-                        props: {
-                            info: params.row,
-                        },
-                        style: {
-                            width: "30px",
-                            height: "30px",
-                            fontSize: "16px",
-                            lineHeight: "30px",
-                            borderRadius: "15px",
-                            verticalAlign: "middle"
-                        },
-                    });
-                }
-            }, {
-                "title": this.$L("用户名"),
-                "key": 'username',
-                "minWidth": 80,
-                "ellipsis": true,
-            }, {
-                "title": this.$L("昵称"),
-                "minWidth": 80,
-                "ellipsis": true,
-                render: (h, params) => {
-                    return h('span', params.row.nickname || '-');
-                }
-            }, {
-                "title": this.$L("职位/职称"),
-                "minWidth": 100,
-                "ellipsis": true,
-                render: (h, params) => {
-                    return h('span', params.row.profession || '-');
-                }
-            }, {
-                "title": this.$L("成员角色"),
-                "minWidth": 100,
-                render: (h, params) => {
-                    return h('span', params.row.isowner ? this.$L('项目负责人') : this.$L('成员'));
-                }
-            }, {
-                "title": this.$L("加入时间"),
-                "width": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                }
-            }, {
-                "title": this.$L("操作"),
-                "key": 'action',
-                "width": 80,
-                "align": 'center',
-                render: (h, params) => {
-                    return h('Button', {
-                        props: {
-                            type: 'primary',
-                            size: 'small'
-                        },
-                        style: {
-                            fontSize: '12px'
-                        },
-                        on: {
-                            click: () => {
-                                this.$Modal.confirm({
-                                    title: this.$L('移出成员'),
-                                    content: this.$L('你确定要将此成员移出项目吗?'),
-                                    loading: true,
-                                    onOk: () => {
-                                        $A.apiAjax({
-                                            url: 'project/users/join',
-                                            data: {
-                                                act: 'delete',
-                                                projectid: params.row.projectid,
-                                                username: params.row.username,
-                                            },
-                                            error: () => {
-                                                this.$Modal.remove();
-                                                alert(this.$L('网络繁忙,请稍后再试!'));
-                                            },
-                                            success: (res) => {
-                                                this.$Modal.remove();
-                                                this.getLists();
-                                                setTimeout(() => {
-                                                    if (res.ret === 1) {
-                                                        this.$Message.success(res.msg);
-                                                    }else{
-                                                        this.$Modal.error({title: this.$L('温馨提示'), content: res.msg });
-                                                    }
-                                                }, 350);
-                                            }
-                                        });
-                                    }
-                                });
-                            }
-                        }
-                    }, this.$L('删除'));
-                }
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -173,6 +70,111 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("头像"),
+                    "minWidth": 60,
+                    "maxWidth": 100,
+                    render: (h, params) => {
+                        return h('UserImg', {
+                            props: {
+                                info: params.row,
+                            },
+                            style: {
+                                width: "30px",
+                                height: "30px",
+                                fontSize: "16px",
+                                lineHeight: "30px",
+                                borderRadius: "15px",
+                                verticalAlign: "middle"
+                            },
+                        });
+                    }
+                }, {
+                    "title": this.$L("用户名"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    "ellipsis": true,
+                }, {
+                    "title": this.$L("昵称"),
+                    "minWidth": 80,
+                    "ellipsis": true,
+                    render: (h, params) => {
+                        return h('span', params.row.nickname || '-');
+                    }
+                }, {
+                    "title": this.$L("职位/职称"),
+                    "minWidth": 100,
+                    "ellipsis": true,
+                    render: (h, params) => {
+                        return h('span', params.row.profession || '-');
+                    }
+                }, {
+                    "title": this.$L("成员角色"),
+                    "minWidth": 100,
+                    render: (h, params) => {
+                        return h('span', params.row.isowner ? this.$L('项目负责人') : this.$L('成员'));
+                    }
+                }, {
+                    "title": this.$L("加入时间"),
+                    "width": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                    }
+                }, {
+                    "title": this.$L("操作"),
+                    "key": 'action',
+                    "width": 80,
+                    "align": 'center',
+                    render: (h, params) => {
+                        return h('Button', {
+                            props: {
+                                type: 'primary',
+                                size: 'small'
+                            },
+                            style: {
+                                fontSize: '12px'
+                            },
+                            on: {
+                                click: () => {
+                                    this.$Modal.confirm({
+                                        title: this.$L('移出成员'),
+                                        content: this.$L('你确定要将此成员移出项目吗?'),
+                                        loading: true,
+                                        onOk: () => {
+                                            $A.apiAjax({
+                                                url: 'project/users/join',
+                                                data: {
+                                                    act: 'delete',
+                                                    projectid: params.row.projectid,
+                                                    username: params.row.username,
+                                                },
+                                                error: () => {
+                                                    this.$Modal.remove();
+                                                    alert(this.$L('网络繁忙,请稍后再试!'));
+                                                },
+                                                success: (res) => {
+                                                    this.$Modal.remove();
+                                                    this.getLists();
+                                                    setTimeout(() => {
+                                                        if (res.ret === 1) {
+                                                            this.$Message.success(res.msg);
+                                                        }else{
+                                                            this.$Modal.error({title: this.$L('温馨提示'), content: res.msg });
+                                                        }
+                                                    }, 350);
+                                                }
+                                            });
+                                        }
+                                    });
+                                }
+                            }
+                        }, this.$L('删除'));
+                    }
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 4 - 4
resources/assets/js/main/components/report/add.vue

@@ -105,10 +105,6 @@
             }
         },
 
-        created() {
-            this.dataDetail.content = this.$L('数据加载中.....')
-        },
-
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -137,6 +133,10 @@
         },
 
         methods: {
+            initLanguage() {
+                this.dataDetail.content = this.$L('数据加载中.....')
+            },
+
             getData() {
                 this.loadIng++;
                 $A.apiAjax({

+ 93 - 91
resources/assets/js/main/components/report/my.vue

@@ -82,97 +82,7 @@
                 addDrawerShow: false,
             }
         },
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.contentText = this.$L("内容加载中.....");
-            this.columns = [{
-                "title": this.$L("标题"),
-                "key": 'title',
-                "minWidth": 120,
-            }, {
-                "title": this.$L("类型"),
-                "key": 'type',
-                "minWidth": 80,
-                "maxWidth": 120,
-                "align": 'center',
-            }, {
-                "title": this.$L("状态"),
-                "key": 'status',
-                "minWidth": 80,
-                "maxWidth": 120,
-                "align": 'center',
-            }, {
-                "title": this.$L("创建日期"),
-                "minWidth": 160,
-                "maxWidth": 200,
-                "align": 'center',
-                "sortable": true,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                }
-            }, {
-                "title": " ",
-                "key": 'action',
-                "align": 'right',
-                "width": 120,
-                render: (h, params) => {
-                    if (!params.row.id) {
-                        return null;
-                    }
-                    let arr = [
-                        h('Tooltip', {
-                            props: { content: this.$L('查看'), transfer: true, delay: 600 },
-                            style: { position: 'relative' },
-                        }, [h('Icon', {
-                            props: { type: 'md-eye', size: 16 },
-                            style: { margin: '0 3px', cursor: 'pointer' },
-                            on: {
-                                click: () => {
-                                    this.reportDetail(params.row.id, params.row.title);
-                                }
-                            }
-                        })]),
-                        h('Tooltip', {
-                            props: { content: this.$L('编辑'), transfer: true, delay: 600 }
-                        }, [h('Icon', {
-                            props: { type: 'md-create', size: 16 },
-                            style: { margin: '0 3px', cursor: 'pointer' },
-                            on: {
-                                click: () => {
-                                    this.addDrawerId = params.row.id;
-                                    this.addDrawerShow = true
-                                }
-                            }
-                        })])
-                    ];
-                    if (params.row.status !== '已发送') {
-                        arr.push(h('Tooltip', {
-                            props: { content: this.$L('发送'), transfer: true, delay: 600 }
-                        }, [h('Icon', {
-                            props: { type: 'md-send', size: 16 },
-                            style: { margin: '0 3px', cursor: 'pointer' },
-                            on: {
-                                click: () => {
-                                    this.sendReport(params.row);
-                                }
-                            }
-                        })]));
-                        arr.push(h('Tooltip', {
-                            props: { content: this.$L('删除'), transfer: true, delay: 600 }
-                        }, [h('Icon', {
-                            props: { type: 'md-trash', size: 16 },
-                            style: { margin: '0 3px', cursor: 'pointer' },
-                            on: {
-                                click: () => {
-                                    this.deleteReport(params.row);
-                                }
-                            }
-                        })]));
-                    }
-                    return h('div', arr);
-                },
-            }];
-        },
+
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -190,6 +100,98 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.contentText = this.$L("内容加载中.....");
+                this.columns = [{
+                    "title": this.$L("标题"),
+                    "key": 'title',
+                    "minWidth": 120,
+                }, {
+                    "title": this.$L("类型"),
+                    "key": 'type',
+                    "minWidth": 80,
+                    "maxWidth": 120,
+                    "align": 'center',
+                }, {
+                    "title": this.$L("状态"),
+                    "key": 'status',
+                    "minWidth": 80,
+                    "maxWidth": 120,
+                    "align": 'center',
+                }, {
+                    "title": this.$L("创建日期"),
+                    "minWidth": 160,
+                    "maxWidth": 200,
+                    "align": 'center',
+                    "sortable": true,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                    }
+                }, {
+                    "title": " ",
+                    "key": 'action',
+                    "align": 'right',
+                    "width": 120,
+                    render: (h, params) => {
+                        if (!params.row.id) {
+                            return null;
+                        }
+                        let arr = [
+                            h('Tooltip', {
+                                props: { content: this.$L('查看'), transfer: true, delay: 600 },
+                                style: { position: 'relative' },
+                            }, [h('Icon', {
+                                props: { type: 'md-eye', size: 16 },
+                                style: { margin: '0 3px', cursor: 'pointer' },
+                                on: {
+                                    click: () => {
+                                        this.reportDetail(params.row.id, params.row.title);
+                                    }
+                                }
+                            })]),
+                            h('Tooltip', {
+                                props: { content: this.$L('编辑'), transfer: true, delay: 600 }
+                            }, [h('Icon', {
+                                props: { type: 'md-create', size: 16 },
+                                style: { margin: '0 3px', cursor: 'pointer' },
+                                on: {
+                                    click: () => {
+                                        this.addDrawerId = params.row.id;
+                                        this.addDrawerShow = true
+                                    }
+                                }
+                            })])
+                        ];
+                        if (params.row.status !== '已发送') {
+                            arr.push(h('Tooltip', {
+                                props: { content: this.$L('发送'), transfer: true, delay: 600 }
+                            }, [h('Icon', {
+                                props: { type: 'md-send', size: 16 },
+                                style: { margin: '0 3px', cursor: 'pointer' },
+                                on: {
+                                    click: () => {
+                                        this.sendReport(params.row);
+                                    }
+                                }
+                            })]));
+                            arr.push(h('Tooltip', {
+                                props: { content: this.$L('删除'), transfer: true, delay: 600 }
+                            }, [h('Icon', {
+                                props: { type: 'md-trash', size: 16 },
+                                style: { margin: '0 3px', cursor: 'pointer' },
+                                on: {
+                                    click: () => {
+                                        this.deleteReport(params.row);
+                                    }
+                                }
+                            })]));
+                        }
+                        return h('div', arr);
+                    },
+                }];
+            },
+
             sreachTab(clear) {
                 if (clear === true) {
                     this.keys = {};

+ 60 - 60
resources/assets/js/main/components/report/receive.vue

@@ -80,66 +80,6 @@
             }
         },
 
-        created() {
-            this.noDataText = this.$L("数据加载中.....");
-            this.contentText = this.$L("内容加载中.....");
-            this.columns = [{
-                "title": this.$L("标题"),
-                "key": 'title',
-                "sortable": true,
-                "minWidth": 120,
-            }, {
-                "title": this.$L("发送人"),
-                "key": 'username',
-                "sortable": true,
-                "minWidth": 80,
-                "maxWidth": 130,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.username
-                        }
-                    });
-                }
-            }, {
-                "title": this.$L("类型"),
-                "key": 'type',
-                "minWidth": 80,
-                "maxWidth": 120,
-                "align": 'center',
-            }, {
-                "title": this.$L("创建日期"),
-                "minWidth": 160,
-                "maxWidth": 200,
-                "align": 'center',
-                "sortable": true,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                }
-            }, {
-                "title": " ",
-                "key": 'action',
-                "width": 70,
-                "align": 'center',
-                render: (h, params) => {
-                    return h('div', [
-                        h('Tooltip', {
-                            props: { content: this.$L('查看'), transfer: true, delay: 600 },
-                            style: { position: 'relative' },
-                        }, [h('Icon', {
-                            props: { type: 'md-eye', size: 16 },
-                            style: { margin: '0 3px', cursor: 'pointer' },
-                            on: {
-                                click: () => {
-                                    this.reportDetail(params.row.id, params.row.title);
-                                }
-                            }
-                        })]),
-                    ]);
-                }
-            }];
-        },
-
         mounted() {
             if (this.canload) {
                 this.loadYet = true;
@@ -157,6 +97,66 @@
         },
 
         methods: {
+            initLanguage() {
+                this.noDataText = this.$L("数据加载中.....");
+                this.contentText = this.$L("内容加载中.....");
+                this.columns = [{
+                    "title": this.$L("标题"),
+                    "key": 'title',
+                    "sortable": true,
+                    "minWidth": 120,
+                }, {
+                    "title": this.$L("发送人"),
+                    "key": 'username',
+                    "sortable": true,
+                    "minWidth": 80,
+                    "maxWidth": 130,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.username
+                            }
+                        });
+                    }
+                }, {
+                    "title": this.$L("类型"),
+                    "key": 'type',
+                    "minWidth": 80,
+                    "maxWidth": 120,
+                    "align": 'center',
+                }, {
+                    "title": this.$L("创建日期"),
+                    "minWidth": 160,
+                    "maxWidth": 200,
+                    "align": 'center',
+                    "sortable": true,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                    }
+                }, {
+                    "title": " ",
+                    "key": 'action',
+                    "width": 70,
+                    "align": 'center',
+                    render: (h, params) => {
+                        return h('div', [
+                            h('Tooltip', {
+                                props: { content: this.$L('查看'), transfer: true, delay: 600 },
+                                style: { position: 'relative' },
+                            }, [h('Icon', {
+                                props: { type: 'md-eye', size: 16 },
+                                style: { margin: '0 3px', cursor: 'pointer' },
+                                on: {
+                                    click: () => {
+                                        this.reportDetail(params.row.id, params.row.title);
+                                    }
+                                }
+                            })]),
+                        ]);
+                    }
+                }];
+            },
+
             sreachTab(clear) {
                 if (clear === true) {
                     this.keys = {};

+ 27 - 27
resources/assets/js/main/pages/docs.vue

@@ -272,33 +272,6 @@
             }
         },
 
-        created() {
-            this.bookNoDataText = this.$L("数据加载中.....");
-            this.sectionNoDataText = this.$L("数据加载中.....");
-            this.sectionTypeLists = [
-                {value: 'document', text: this.$L("文本")},
-                {value: 'mind', text: this.$L("脑图")},
-                {value: 'sheet', text: this.$L("表格")},
-                {value: 'flow', text: this.$L("流程图")},
-                {value: 'folder', text: this.$L("目录")},
-            ];
-            this.ruleBookAdd = {
-                title: [
-                    { required: true, message: this.$L('请填写知识库名称!'), trigger: 'change' },
-                    { type: 'string', min: 2, message: this.$L('知识库名称长度至少2位!'), trigger: 'change' }
-                ],
-            };
-            this.ruleSectionAdd = {
-                title: [
-                    { required: true, message: this.$L('请填写文档标题!'), trigger: 'change' },
-                    { type: 'string', min: 2, message: this.$L('文档标题长度至少2位!'), trigger: 'change' }
-                ],
-                type: [
-                    { required: true },
-                ],
-            };
-        },
-
         mounted() {
             this.getBookLists(true);
         },
@@ -340,6 +313,33 @@
         },
 
         methods: {
+            initLanguage() {
+                this.bookNoDataText = this.$L("数据加载中.....");
+                this.sectionNoDataText = this.$L("数据加载中.....");
+                this.sectionTypeLists = [
+                    {value: 'document', text: this.$L("文本")},
+                    {value: 'mind', text: this.$L("脑图")},
+                    {value: 'sheet', text: this.$L("表格")},
+                    {value: 'flow', text: this.$L("流程图")},
+                    {value: 'folder', text: this.$L("目录")},
+                ];
+                this.ruleBookAdd = {
+                    title: [
+                        { required: true, message: this.$L('请填写知识库名称!'), trigger: 'change' },
+                        { type: 'string', min: 2, message: this.$L('知识库名称长度至少2位!'), trigger: 'change' }
+                    ],
+                };
+                this.ruleSectionAdd = {
+                    title: [
+                        { required: true, message: this.$L('请填写文档标题!'), trigger: 'change' },
+                        { type: 'string', min: 2, message: this.$L('文档标题长度至少2位!'), trigger: 'change' }
+                    ],
+                    type: [
+                        { required: true },
+                    ],
+                };
+            },
+
             children2lists(lists) {
                 let array = [];
                 lists.forEach((item) => {

+ 54 - 53
resources/assets/js/main/pages/docs/edit.vue

@@ -363,59 +363,6 @@
                 timeValue: Math.round(new Date().getTime() / 1000),
             }
         },
-        created() {
-            this.historyColumns = [{
-                "title": this.$L("存档日期"),
-                "minWidth": 160,
-                "maxWidth": 200,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
-                }
-            }, {
-                "title": this.$L("操作员"),
-                "key": 'username',
-                "minWidth": 80,
-                "maxWidth": 130,
-                render: (h, params) => {
-                    return h('UserView', {
-                        props: {
-                            username: params.row.username
-                        }
-                    });
-                }
-            }, {
-                "title": " ",
-                "key": 'action',
-                "width": 80,
-                "align": 'center',
-                render: (h, params) => {
-                    if (this.hid == params.row.id || (this.hid == 0 && params.index == 0)) {
-                        return h('Icon', {
-                            props: { type: 'md-checkmark' },
-                            style: { marginRight: '6px', fontSize: '16px', color: '#FF5722' },
-                        });
-                    }
-                    return h('Button', {
-                        props: {
-                            type: 'text',
-                            size: 'small'
-                        },
-                        style: {
-                            fontSize: '12px'
-                        },
-                        on: {
-                            click: () => {
-                                let data = {sid: this.getSid() + "-" + params.row.id, other: this.$route.params.other}
-                                if (params.index == 0) {
-                                    data.sid = this.getSid();
-                                }
-                                this.handleSection('openBefore', data);
-                            }
-                        }
-                    }, this.$L('还原'));
-                }
-            }];
-        },
         mounted() {
             this.routeName = this.$route.name;
             //
@@ -618,6 +565,60 @@
             }
         },
         methods: {
+            initLanguage() {
+                this.historyColumns = [{
+                    "title": this.$L("存档日期"),
+                    "minWidth": 160,
+                    "maxWidth": 200,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.indate));
+                    }
+                }, {
+                    "title": this.$L("操作员"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    "maxWidth": 130,
+                    render: (h, params) => {
+                        return h('UserView', {
+                            props: {
+                                username: params.row.username
+                            }
+                        });
+                    }
+                }, {
+                    "title": " ",
+                    "key": 'action',
+                    "width": 80,
+                    "align": 'center',
+                    render: (h, params) => {
+                        if (this.hid == params.row.id || (this.hid == 0 && params.index == 0)) {
+                            return h('Icon', {
+                                props: { type: 'md-checkmark' },
+                                style: { marginRight: '6px', fontSize: '16px', color: '#FF5722' },
+                            });
+                        }
+                        return h('Button', {
+                            props: {
+                                type: 'text',
+                                size: 'small'
+                            },
+                            style: {
+                                fontSize: '12px'
+                            },
+                            on: {
+                                click: () => {
+                                    let data = {sid: this.getSid() + "-" + params.row.id, other: this.$route.params.other}
+                                    if (params.index == 0) {
+                                        data.sid = this.getSid();
+                                    }
+                                    this.handleSection('openBefore', data);
+                                }
+                            }
+                        }, this.$L('还原'));
+                    }
+                }];
+            },
+
             keySave(e) {
                 if ((e.ctrlKey || e.metaKey) && e.keyCode === 83) {
                     this.handleClick('saveBefore');

+ 28 - 27
resources/assets/js/main/pages/index.vue

@@ -453,33 +453,6 @@
                 fromUrl: '',
             }
         },
-        created() {
-            this.ruleLogin = {
-                username: [
-                    { required: true, message: this.$L('请填写用户名!'), trigger: 'change' },
-                    { type: 'string', min: 2, message: this.$L('用户名长度至少2位!'), trigger: 'change' }
-                ],
-                userpass: [
-                    { required: true, message: this.$L('请填写登录密码!'), trigger: 'change' },
-                    { type: 'string', min: 6, message: this.$L('密码错长度至少6位!'), trigger: 'change' }
-                ],
-                userpass2: [
-                    { required: true, message: this.$L('请填写确认密码!'), trigger: 'change' },
-                    { type: 'string', min: 6, message: this.$L('确认密码错长度至少6位!'), trigger: 'change' },
-                    {
-                        validator: (rule, value, callback) => {
-                            if (value !== this.formLogin.userpass) {
-                                callback(new Error(this.$L('两次密码输入不一致!')));
-                            } else {
-                                callback();
-                            }
-                        },
-                        required: true,
-                        trigger: 'change'
-                    },
-                ]
-            };
-        },
         mounted() {
             this.getSetting();
             this.fromUrl = decodeURIComponent($A.getObject(this.$route.query, 'from'));
@@ -500,6 +473,34 @@
             }
         },
         methods: {
+            initLanguage() {
+                this.ruleLogin = {
+                    username: [
+                        { required: true, message: this.$L('请填写用户名!'), trigger: 'change' },
+                        { type: 'string', min: 2, message: this.$L('用户名长度至少2位!'), trigger: 'change' }
+                    ],
+                    userpass: [
+                        { required: true, message: this.$L('请填写登录密码!'), trigger: 'change' },
+                        { type: 'string', min: 6, message: this.$L('密码错长度至少6位!'), trigger: 'change' }
+                    ],
+                    userpass2: [
+                        { required: true, message: this.$L('请填写确认密码!'), trigger: 'change' },
+                        { type: 'string', min: 6, message: this.$L('确认密码错长度至少6位!'), trigger: 'change' },
+                        {
+                            validator: (rule, value, callback) => {
+                                if (value !== this.formLogin.userpass) {
+                                    callback(new Error(this.$L('两次密码输入不一致!')));
+                                } else {
+                                    callback();
+                                }
+                            },
+                            required: true,
+                            trigger: 'change'
+                        },
+                    ]
+                };
+            },
+
             getSetting() {
                 $A.apiAjax({
                     url: 'system/setting',

+ 19 - 18
resources/assets/js/main/pages/project.vue

@@ -335,24 +335,6 @@
                 handleProjectId: 0,
             }
         },
-        created() {
-            this.labelLists = [{
-                label: this.$L('空白模板'),
-                value: [],
-            }, {
-                label: this.$L('软件开发'),
-                value: [this.$L('产品规划'),this.$L('前端开发'),this.$L('后端开发'),this.$L('测试'),this.$L('发布'),this.$L('其它')],
-            }, {
-                label: this.$L('产品开发'),
-                value: [this.$L('产品计划'), this.$L('正在设计'), this.$L('正在研发'), this.$L('测试'), this.$L('准备发布'), this.$L('发布成功')],
-            }];
-            this.ruleAdd = {
-                title: [
-                    { required: true, message: this.$L('请填写项目名称!'), trigger: 'change' },
-                    { type: 'string', min: 2, message: this.$L('项目名称至少2个字!'), trigger: 'change' }
-                ]
-            };
-        },
         mounted() {
             this.getLists(true);
             //
@@ -406,6 +388,25 @@
             },
         },
         methods: {
+            initLanguage() {
+                this.labelLists = [{
+                    label: this.$L('空白模板'),
+                    value: [],
+                }, {
+                    label: this.$L('软件开发'),
+                    value: [this.$L('产品规划'),this.$L('前端开发'),this.$L('后端开发'),this.$L('测试'),this.$L('发布'),this.$L('其它')],
+                }, {
+                    label: this.$L('产品开发'),
+                    value: [this.$L('产品计划'), this.$L('正在设计'), this.$L('正在研发'), this.$L('测试'), this.$L('准备发布'), this.$L('发布成功')],
+                }];
+                this.ruleAdd = {
+                    title: [
+                        { required: true, message: this.$L('请填写项目名称!'), trigger: 'change' },
+                        { type: 'string', min: 2, message: this.$L('项目名称至少2个字!'), trigger: 'change' }
+                    ]
+                };
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();

+ 137 - 136
resources/assets/js/main/pages/team.vue

@@ -150,157 +150,158 @@
                 },
             }
         },
-        created() {
-            this.isAdmin = $A.identity('admin');
-            this.noDataText = this.$L("数据加载中.....");
-            this.columns = [{
-                "title": this.$L("头像"),
-                "minWidth": 60,
-                "maxWidth": 100,
-                render: (h, params) => {
-                    return h('UserImg', {
-                        props: {
-                            info: params.row,
-                        },
-                        style: {
-                            width: "30px",
-                            height: "30px",
-                            fontSize: "16px",
-                            lineHeight: "30px",
-                            borderRadius: "15px",
-                            verticalAlign: "middle"
-                        },
-                    });
-                }
-            }, {
-                "title": this.$L("用户名"),
-                "key": 'username',
-                "minWidth": 80,
-                "ellipsis": true,
-                render: (h, params) => {
-                    let arr = [];
-                    if (params.row.username == this.usrName) {
-                        arr.push(h('span', {
-                            style: {
-                                color: '#ff0000',
-                                paddingRight: '4px'
-                            }
-                        }, '[自己]'))
-                    }
-                    if ($A.identityRaw('admin', params.row.identity)) {
-                        arr.push(h('span', {
+        mounted() {
+            this.getLists(true);
+        },
+        deactivated() {
+            this.addShow = false;
+        },
+        watch: {
+            usrName() {
+                this.usrLogin && this.getLists(true);
+            }
+        },
+        methods: {
+            initLanguage() {
+                this.isAdmin = $A.identity('admin');
+                this.noDataText = this.$L("数据加载中.....");
+                this.columns = [{
+                    "title": this.$L("头像"),
+                    "minWidth": 60,
+                    "maxWidth": 100,
+                    render: (h, params) => {
+                        return h('UserImg', {
+                            props: {
+                                info: params.row,
+                            },
                             style: {
-                                color: '#ff0000',
-                                paddingRight: '4px'
-                            }
-                        }, '[管理员]'))
+                                width: "30px",
+                                height: "30px",
+                                fontSize: "16px",
+                                lineHeight: "30px",
+                                borderRadius: "15px",
+                                verticalAlign: "middle"
+                            },
+                        });
                     }
-                    arr.push(h('span', params.row.username))
-                    return h('span', arr);
-                }
-            }, {
-                "title": this.$L("昵称"),
-                "minWidth": 80,
-                "ellipsis": true,
-                render: (h, params) => {
-                    return h('span', params.row.nickname || '-');
-                }
-            }, {
-                "title": this.$L("职位/职称"),
-                "minWidth": 100,
-                "ellipsis": true,
-                render: (h, params) => {
-                    return h('span', params.row.profession || '-');
-                }
-            }, {
-                "title": this.$L("加入时间"),
-                "width": 160,
-                render: (h, params) => {
-                    return h('span', $A.formatDate("Y-m-d H:i:s", params.row.regdate));
-                }
-            }, {
-                "title": this.$L("操作"),
-                "key": 'action',
-                "width": this.isAdmin ? 160 : 80,
-                "align": 'center',
-                render: (h, params) => {
-                    let array = [];
-                    array.push(h('Button', {
-                        props: {
-                            type: 'primary',
-                            size: 'small'
-                        },
-                        style: {
-                            fontSize: '12px'
-                        },
-                        on: {
-                            click: () => {
-                                this.$Modal.info({
-                                    title: this.$L('会员信息'),
-                                    content: `<p>${this.$L('昵称')}: ${params.row.nickname || '-'}</p><p>${this.$L('职位/职称')}: ${params.row.profession || '-'}</p>`
-                                });
-                            }
+                }, {
+                    "title": this.$L("用户名"),
+                    "key": 'username',
+                    "minWidth": 80,
+                    "ellipsis": true,
+                    render: (h, params) => {
+                        let arr = [];
+                        if (params.row.username == this.usrName) {
+                            arr.push(h('span', {
+                                style: {
+                                    color: '#ff0000',
+                                    paddingRight: '4px'
+                                }
+                            }, '[自己]'))
                         }
-                    }, this.$L('查看')));
-                    if (this.isAdmin) {
-                        array.push(h('Dropdown', {
+                        if ($A.identityRaw('admin', params.row.identity)) {
+                            arr.push(h('span', {
+                                style: {
+                                    color: '#ff0000',
+                                    paddingRight: '4px'
+                                }
+                            }, '[管理员]'))
+                        }
+                        arr.push(h('span', params.row.username))
+                        return h('span', arr);
+                    }
+                }, {
+                    "title": this.$L("昵称"),
+                    "minWidth": 80,
+                    "ellipsis": true,
+                    render: (h, params) => {
+                        return h('span', params.row.nickname || '-');
+                    }
+                }, {
+                    "title": this.$L("职位/职称"),
+                    "minWidth": 100,
+                    "ellipsis": true,
+                    render: (h, params) => {
+                        return h('span', params.row.profession || '-');
+                    }
+                }, {
+                    "title": this.$L("加入时间"),
+                    "width": 160,
+                    render: (h, params) => {
+                        return h('span', $A.formatDate("Y-m-d H:i:s", params.row.regdate));
+                    }
+                }, {
+                    "title": this.$L("操作"),
+                    "key": 'action',
+                    "width": this.isAdmin ? 160 : 80,
+                    "align": 'center',
+                    render: (h, params) => {
+                        let array = [];
+                        array.push(h('Button', {
                             props: {
-                                trigger: 'click',
-                                transfer: true
+                                type: 'primary',
+                                size: 'small'
+                            },
+                            style: {
+                                fontSize: '12px'
                             },
                             on: {
-                                'on-click': (name) => {
-                                    this.handleUser(name, params.row)
+                                click: () => {
+                                    this.$Modal.info({
+                                        title: this.$L('会员信息'),
+                                        content: `<p>${this.$L('昵称')}: ${params.row.nickname || '-'}</p><p>${this.$L('职位/职称')}: ${params.row.profession || '-'}</p>`
+                                    });
                                 }
                             }
-                        }, [
-                            h('Button', {
+                        }, this.$L('查看')));
+                        if (this.isAdmin) {
+                            array.push(h('Dropdown', {
                                 props: {
-                                    type: 'warning',
-                                    size: 'small'
-                                },
-                                style: {
-                                    fontSize: '12px',
-                                    marginLeft: '5px'
+                                    trigger: 'click',
+                                    transfer: true
                                 },
-                            }, this.$L('操作')),
-                            h('DropdownMenu', {
-                                slot: 'list',
+                                on: {
+                                    'on-click': (name) => {
+                                        this.handleUser(name, params.row)
+                                    }
+                                }
                             }, [
-                                h('DropdownItem', {
-                                    props: {
-                                        name: 'edit',
-                                    },
-                                }, this.$L('修改成员信息')),
-                                h('DropdownItem', {
+                                h('Button', {
                                     props: {
-                                        name: $A.identityRaw('admin', params.row.identity) ? 'deladmin' : 'setadmin',
+                                        type: 'warning',
+                                        size: 'small'
                                     },
-                                }, this.$L($A.identityRaw('admin', params.row.identity) ? '取消管理员' : '设为管理员')),
-                                h('DropdownItem', {
-                                    props: {
-                                        name: 'delete',
+                                    style: {
+                                        fontSize: '12px',
+                                        marginLeft: '5px'
                                     },
-                                }, this.$L('删除'))
-                            ])
-                        ]))
+                                }, this.$L('操作')),
+                                h('DropdownMenu', {
+                                    slot: 'list',
+                                }, [
+                                    h('DropdownItem', {
+                                        props: {
+                                            name: 'edit',
+                                        },
+                                    }, this.$L('修改成员信息')),
+                                    h('DropdownItem', {
+                                        props: {
+                                            name: $A.identityRaw('admin', params.row.identity) ? 'deladmin' : 'setadmin',
+                                        },
+                                    }, this.$L($A.identityRaw('admin', params.row.identity) ? '取消管理员' : '设为管理员')),
+                                    h('DropdownItem', {
+                                        props: {
+                                            name: 'delete',
+                                        },
+                                    }, this.$L('删除'))
+                                ])
+                            ]))
+                        }
+                        return h('div', array);
                     }
-                    return h('div', array);
-                }
-            }];
-        },
-        mounted() {
-            this.getLists(true);
-        },
-        deactivated() {
-            this.addShow = false;
-        },
-        watch: {
-            usrName() {
-                this.usrLogin && this.getLists(true);
-            }
-        },
-        methods: {
+                }];
+            },
+
             setPage(page) {
                 this.listPage = page;
                 this.getLists();