From b8509c593a7ab3a04c5ed926e2ad825fd4c4f311 Mon Sep 17 00:00:00 2001
From: 梁灏 <admin@aresn.com>
Date: Thu, 17 May 2018 18:06:42 +0800
Subject: [PATCH] update Time

---
 src/components/time/time.vue | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 56 insertions(+), 2 deletions(-)

diff --git a/src/components/time/time.vue b/src/components/time/time.vue
index c22ef35..92d6f60 100644
--- a/src/components/time/time.vue
+++ b/src/components/time/time.vue
@@ -1,8 +1,62 @@
 <template>
-    <span>time</span>
+    <span :class="classes" @click="handleClick">time</span>
 </template>
 <script>
-    export default {
+    import { oneOf } from '../../utils/assist';
+
+    const prefixCls = 'ivu-time';
 
+    export default {
+        name: 'Time',
+        props: {
+            time: {
+                type: [String, Number, Date],
+                required: true
+            },
+            type: {
+                type: String,
+                validator (value) {
+                    return oneOf(value, ['relative', 'date', 'datetime']);
+                },
+                default: 'relative'
+            },
+            hash: {
+                type: String,
+                default: ''
+            },
+            interval: {
+                type: Number,
+                default: 60
+            }
+        },
+        data () {
+            return {
+                date: ''
+            };
+        },
+        computed: {
+            classes () {
+                return [
+                    `${prefixCls}`,
+                    {
+                        [`${prefixCls}-with-hash`]: this.hash
+                    }
+                ];
+            }
+        },
+        methods: {
+            handleClick () {
+                if (this.hash !== '') window.location.hash = this.hash;
+            }
+        },
+        mounted () {
+            this.setTime();
+            this.timer = setInterval(() => {
+                this.setTime();
+            }, 1000 * this.interval);
+        },
+        beforeDestroy () {
+            if (this.timer) clearInterval(this.timer);
+        }
     };
 </script>
\ No newline at end of file
--
libgit2 0.21.4