diff --git a/src/components/BackToTop/index.vue b/src/components/BackToTop/index.vue
index 39977178d720b7dc8d445e7671575fb78781c043..12ea3ea86ee035a465de1f8417736d604be8a8d5 100644
--- a/src/components/BackToTop/index.vue
+++ b/src/components/BackToTop/index.vue
@@ -42,7 +42,7 @@ export default {
       default: 'fade'
     }
   },
-  data() {
+  data: function() {
     return {
       visible: false,
       interval: null,
diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue
index 5f4d054f946b0489ce77bfd73b040a6189c2b03c..a4e171df5582d9066df3541000ceeb68feafcaec 100644
--- a/src/components/Breadcrumb/index.vue
+++ b/src/components/Breadcrumb/index.vue
@@ -15,7 +15,7 @@ import { generateTitle } from '@/utils/i18n'
 import pathToRegexp from 'path-to-regexp'
 
 export default {
-  data() {
+  data: function() {
     return {
       levelList: null
     }
diff --git a/src/components/Charts/keyboard.vue b/src/components/Charts/keyboard.vue
index 857b26ae9c710c85ed1caa0787c7eb8ae380c196..fd116904441a240b8fd21a68ed61fced95e8bfa8 100644
--- a/src/components/Charts/keyboard.vue
+++ b/src/components/Charts/keyboard.vue
@@ -26,7 +26,7 @@ export default {
       default: '200px'
     }
   },
-  data() {
+  data: function() {
     return {
       chart: null
     }
diff --git a/src/components/Charts/lineMarker.vue b/src/components/Charts/lineMarker.vue
index 5d41b0220344127de2d34a13e84fdb9ef9d46ef9..fb6f7ec55616b40fd17324c6a8111f6e8d126ef9 100644
--- a/src/components/Charts/lineMarker.vue
+++ b/src/components/Charts/lineMarker.vue
@@ -26,7 +26,7 @@ export default {
       default: '200px'
     }
   },
-  data() {
+  data: function() {
     return {
       chart: null
     }
diff --git a/src/components/Charts/mixChart.vue b/src/components/Charts/mixChart.vue
index a8e271ca62d2bad6c037623986802e619e5a9cf0..b739703200d0a71feadbd25fe279bf9623e988e3 100644
--- a/src/components/Charts/mixChart.vue
+++ b/src/components/Charts/mixChart.vue
@@ -26,7 +26,7 @@ export default {
       default: '200px'
     }
   },
-  data() {
+  data: function() {
     return {
       chart: null
     }
diff --git a/src/components/Charts/mixins/resize.js b/src/components/Charts/mixins/resize.js
index c4c432f4ff93ed58f12ccd5bb3b4a6ee0be36f92..cc7b8399be5beb8bf1a1b759de4e962c041cf102 100644
--- a/src/components/Charts/mixins/resize.js
+++ b/src/components/Charts/mixins/resize.js
@@ -1,7 +1,7 @@
 import { debounce } from '@/utils'
 
 export default {
-  data() {
+  data: function() {
     return {
       sidebarElm: null
     }
diff --git a/src/components/Dropzone/index.vue b/src/components/Dropzone/index.vue
index 15d811d93fcfc027b96e760474cd88ab2d8c6c69..187f7f70d3d698256bb9a3118cc7cb2502c810e1 100644
--- a/src/components/Dropzone/index.vue
+++ b/src/components/Dropzone/index.vue
@@ -70,7 +70,7 @@ export default {
       default: false
     }
   },
-  data() {
+  data: function() {
     return {
       dropzone: '',
       initOnce: true
diff --git a/src/components/ErrorLog/index.vue b/src/components/ErrorLog/index.vue
index c46cf110a6c92f638dcf890c4b8e23b070a4add7..793d4e244a42784f29a9d65cba1e918dcf1ba3e4 100644
--- a/src/components/ErrorLog/index.vue
+++ b/src/components/ErrorLog/index.vue
@@ -40,7 +40,7 @@
 <script>
 export default {
   name: 'ErrorLog',
-  data() {
+  data: function() {
     return {
       dialogTableVisible: false
     }
diff --git a/src/components/HeaderSearch/index.vue b/src/components/HeaderSearch/index.vue
index ab0d556a71b77a425e509f9ce15f32bf622bd87e..fdee688a8d2dadedaf10d4e097e5448d0937b5a2 100644
--- a/src/components/HeaderSearch/index.vue
+++ b/src/components/HeaderSearch/index.vue
@@ -23,7 +23,7 @@ import i18n from '@/lang'
 
 export default {
   name: 'HeaderSearch',
-  data() {
+  data: function() {
     return {
       search: '',
       options: [],
diff --git a/src/components/ImageCropper/index.vue b/src/components/ImageCropper/index.vue
index 04b1ede91d285d19acd169ad2853422b7e48359e..007c12aaa512eb1e2405c18a904c60433b780ddc 100644
--- a/src/components/ImageCropper/index.vue
+++ b/src/components/ImageCropper/index.vue
@@ -195,7 +195,7 @@ export default {
       'default': false
     }
   },
-  data() {
+  data: function() {
     const that = this
     const {
       imgFormat,
diff --git a/src/components/JsonEditor/index.vue b/src/components/JsonEditor/index.vue
index d68b8c05b2a8a4e95dc4f6a683ce9ec02b637ba3..b44a4a2c17d61a91ea2ff9dfbb768ae29727435c 100644
--- a/src/components/JsonEditor/index.vue
+++ b/src/components/JsonEditor/index.vue
@@ -18,7 +18,7 @@ export default {
   name: 'JsonEditor',
   /* eslint-disable vue/require-prop-types */
   props: ['value'],
-  data() {
+  data: function() {
     return {
       jsonEditor: false
     }
diff --git a/src/components/MDinput/index.vue b/src/components/MDinput/index.vue
index 7ede73db0eacc849def2d06bbe8d4324cd779620..3db8cfc3efe5c0f9068458e434ba3af7c8ad824c 100644
--- a/src/components/MDinput/index.vue
+++ b/src/components/MDinput/index.vue
@@ -138,7 +138,7 @@ export default {
       default: true
     }
   },
-  data() {
+  data: function() {
     return {
       currentValue: this.value,
       focus: false,
diff --git a/src/components/MarkdownEditor/index.vue b/src/components/MarkdownEditor/index.vue
index 4a6d8b0f7d51f86d4af1e49657948cec96a3ebdd..7ae9fd40ec7d2536e3d20ad388251a7fc6616359 100644
--- a/src/components/MarkdownEditor/index.vue
+++ b/src/components/MarkdownEditor/index.vue
@@ -46,7 +46,7 @@ export default {
       default: 'en_US' // https://github.com/nhnent/tui.editor/tree/master/src/js/langs
     }
   },
-  data() {
+  data: function() {
     return {
       editor: null
     }
diff --git a/src/components/Screenfull/index.vue b/src/components/Screenfull/index.vue
index 479bf3e3d451a3f40cb1691d761e41b46146be43..f395122967ab3bec3e98b9e33a2dbed704a790ae 100644
--- a/src/components/Screenfull/index.vue
+++ b/src/components/Screenfull/index.vue
@@ -9,7 +9,7 @@ import screenfull from 'screenfull'
 
 export default {
   name: 'Screenfull',
-  data() {
+  data: function() {
     return {
       isFullscreen: false
     }
diff --git a/src/components/ScrollPane/index.vue b/src/components/ScrollPane/index.vue
index 172afcccc5039d1f8576b9bdf0a08b9a33609f54..3e8375e3b79d6f9e7baee673ebf0d4462f9acd1b 100644
--- a/src/components/ScrollPane/index.vue
+++ b/src/components/ScrollPane/index.vue
@@ -9,7 +9,7 @@ const tagAndTagSpacing = 4 // tagAndTagSpacing
 
 export default {
   name: 'ScrollPane',
-  data() {
+  data: function() {
     return {
       left: 0
     }
diff --git a/src/components/Share/dropdownMenu.vue b/src/components/Share/dropdownMenu.vue
index f7b1dd2c3b8f81657264237e2b4ada6549d5c476..8b78e7bdcbef5f40a535631e7938fe0ab9eb3a97 100644
--- a/src/components/Share/dropdownMenu.vue
+++ b/src/components/Share/dropdownMenu.vue
@@ -24,7 +24,7 @@ export default {
       default: 'vue'
     }
   },
-  data() {
+  data: function() {
     return {
       isActive: false
     }
diff --git a/src/components/SizeSelect/index.vue b/src/components/SizeSelect/index.vue
index 6d3cd43a4f094b62df698abefd7bf2519ada1634..3527a7684f0e1d4bc0c1dd6cd89816f94029856a 100644
--- a/src/components/SizeSelect/index.vue
+++ b/src/components/SizeSelect/index.vue
@@ -12,7 +12,7 @@
 
 <script>
 export default {
-  data() {
+  data: function() {
     return {
       sizeOptions: [
         { label: 'Default', value: 'default' },
diff --git a/src/components/Sticky/index.vue b/src/components/Sticky/index.vue
index 5624a989a52eba4fc7c906397d4f3e64a3c0ce6a..3e4ce8e4acd8ed226768688a6ec65bd5ccbb668b 100644
--- a/src/components/Sticky/index.vue
+++ b/src/components/Sticky/index.vue
@@ -25,7 +25,7 @@ export default {
       default: ''
     }
   },
-  data() {
+  data: function() {
     return {
       active: false,
       position: '',
diff --git a/src/components/ThemePicker/index.vue b/src/components/ThemePicker/index.vue
index 332b07e740874ee33ec737a5a8e12d9bbe80eab1..ff6fbf2112a5d23adb8cc1ce7f8987e8f18bc6bf 100644
--- a/src/components/ThemePicker/index.vue
+++ b/src/components/ThemePicker/index.vue
@@ -11,7 +11,7 @@ const version = require('element-ui/package.json').version // element-ui version
 const ORIGINAL_THEME = '#409EFF' // default color
 
 export default {
-  data() {
+  data: function() {
     return {
       chalk: '', // content of theme-chalk css
       theme: ORIGINAL_THEME
diff --git a/src/components/Tinymce/components/editorImage.vue b/src/components/Tinymce/components/editorImage.vue
index bcd82099ff4507403b1ba38f495b756628dd53d9..93b211d0148f76f4a3d5cea333d87df6243c710d 100644
--- a/src/components/Tinymce/components/editorImage.vue
+++ b/src/components/Tinymce/components/editorImage.vue
@@ -32,7 +32,7 @@ export default {
       default: '#1890ff'
     }
   },
-  data() {
+  data: function() {
     return {
       dialogVisible: false,
       listObj: {},
diff --git a/src/components/Tinymce/index.vue b/src/components/Tinymce/index.vue
index ce0fe6a9774793b7d132167d8c5dd98fe1f2eba4..d9f81acceb7678c9c27a27940197e6853512890a 100644
--- a/src/components/Tinymce/index.vue
+++ b/src/components/Tinymce/index.vue
@@ -43,7 +43,7 @@ export default {
       default: 360
     }
   },
-  data() {
+  data: function() {
     return {
       hasChange: false,
       hasInit: false,
diff --git a/src/components/Upload/singleImage.vue b/src/components/Upload/singleImage.vue
index 291e4cf15550c66ad503ee97dc048c5c79928310..89a1bfa46b542e2792d038ba20db5bb1e2d60f4f 100644
--- a/src/components/Upload/singleImage.vue
+++ b/src/components/Upload/singleImage.vue
@@ -34,7 +34,7 @@ export default {
       default: ''
     }
   },
-  data() {
+  data: function() {
     return {
       tempUrl: '',
       dataObj: { token: '', key: '' }
diff --git a/src/components/Upload/singleImage2.vue b/src/components/Upload/singleImage2.vue
index cf4dc0b7427d8ead7e708f5af5f0f7f4322439a5..96c4402be9044e716da1f6d734756928387bdf53 100644
--- a/src/components/Upload/singleImage2.vue
+++ b/src/components/Upload/singleImage2.vue
@@ -33,7 +33,7 @@ export default {
       default: ''
     }
   },
-  data() {
+  data: function() {
     return {
       tempUrl: '',
       dataObj: { token: '', key: '' }
diff --git a/src/components/Upload/singleImage3.vue b/src/components/Upload/singleImage3.vue
index 2cce98da50e3dfe2434044885d8cf08d8a5eee8f..efa5b2d2e00528739fd490a93d1da7ab1e1a8013 100644
--- a/src/components/Upload/singleImage3.vue
+++ b/src/components/Upload/singleImage3.vue
@@ -41,7 +41,7 @@ export default {
       default: ''
     }
   },
-  data() {
+  data: function() {
     return {
       tempUrl: '',
       dataObj: { token: '', key: '' }
diff --git a/src/components/UploadExcel/index.vue b/src/components/UploadExcel/index.vue
index a6b8dbce8da46bf15f0475f62ce85d8bf565f26f..1d07ebf3c5dcd355db4283f61b509ac000a6e713 100644
--- a/src/components/UploadExcel/index.vue
+++ b/src/components/UploadExcel/index.vue
@@ -16,7 +16,7 @@ export default {
     beforeUpload: Function, // eslint-disable-line
     onSuccess: Function// eslint-disable-line
   },
-  data() {
+  data: function() {
     return {
       loading: false,
       excelData: {
diff --git a/src/views/clipboard/index.vue b/src/views/clipboard/index.vue
index 607dfb6610f91a11c932cd675e5ba49ece974012..0801e345afffdfaed06a77c48f6c73d5e034e162 100644
--- a/src/views/clipboard/index.vue
+++ b/src/views/clipboard/index.vue
@@ -22,7 +22,7 @@ export default {
   directives: {
     clipboard
   },
-  data() {
+  data: function() {
     return {
       activeName: 'directly',
       inputData: 'https://github.com/PanJiaChen/vue-element-admin'
diff --git a/src/views/components-demo/avatarUpload.vue b/src/views/components-demo/avatarUpload.vue
index 144448cea494c468a40a8f0dbfa6a229a98bc427..3b66b7ba56ac02f8d1599a1bb2b2ba7863719433 100644
--- a/src/views/components-demo/avatarUpload.vue
+++ b/src/views/components-demo/avatarUpload.vue
@@ -29,7 +29,7 @@ import PanThumb from '@/components/PanThumb'
 export default {
   name: 'AvatarUploadDemo',
   components: { ImageCropper, PanThumb },
-  data() {
+  data: function() {
     return {
       imagecropperShow: false,
       imagecropperKey: 0,
diff --git a/src/views/components-demo/backToTop.vue b/src/views/components-demo/backToTop.vue
index 83a5529b1a48f6decaaa259a3e31aa19522963bd..a3aba9b4de380afcbb688797e79a5f4dc7f0010a 100644
--- a/src/views/components-demo/backToTop.vue
+++ b/src/views/components-demo/backToTop.vue
@@ -127,7 +127,7 @@ import BackToTop from '@/components/BackToTop'
 export default {
   name: 'BackToTopDemo',
   components: { BackToTop },
-  data() {
+  data: function() {
     return {
       myBackToTopStyle: {
         right: '50px',
diff --git a/src/views/components-demo/countTo.vue b/src/views/components-demo/countTo.vue
index 7044a5d206cb14d34c02e6111fd83cef300c9ca6..f547297c8487c141306d2d6de37bb2b5bf01a985 100644
--- a/src/views/components-demo/countTo.vue
+++ b/src/views/components-demo/countTo.vue
@@ -52,7 +52,7 @@ import countTo from 'vue-count-to'
 export default {
   name: 'CountToDemo',
   components: { countTo },
-  data() {
+  data: function() {
     return {
       setStartVal: 0,
       setEndVal: 2017,
diff --git a/src/views/components-demo/dndList.vue b/src/views/components-demo/dndList.vue
index 9c8847a9e2fc3b5ee43e02426d1df055f8bcb2be..61bc102f6f7174ab7110d5138654de322201e79f 100644
--- a/src/views/components-demo/dndList.vue
+++ b/src/views/components-demo/dndList.vue
@@ -16,7 +16,7 @@ import { fetchList } from '@/api/article'
 export default {
   name: 'DndListDemo',
   components: { DndList },
-  data() {
+  data: function() {
     return {
       list1: [],
       list2: []
diff --git a/src/views/components-demo/dragDialog.vue b/src/views/components-demo/dragDialog.vue
index 0a023f90f2d180833f88b0e703284cf876831323..9d9c678e10469d0ff921c66f4c351e315820a7ca 100644
--- a/src/views/components-demo/dragDialog.vue
+++ b/src/views/components-demo/dragDialog.vue
@@ -20,7 +20,7 @@ import elDragDialog from '@/directive/el-dragDialog' // base on element-ui
 export default {
   name: 'DragDialogDemo',
   directives: { elDragDialog },
-  data() {
+  data: function() {
     return {
       dialogTableVisible: false,
       options: [
diff --git a/src/views/components-demo/dragKanban.vue b/src/views/components-demo/dragKanban.vue
index 4353fb1ee98f447724bf6b89fdc0e43f59fcdd0e..a68096c6fc4854bfd36f30fa9b65652506a46192 100644
--- a/src/views/components-demo/dragKanban.vue
+++ b/src/views/components-demo/dragKanban.vue
@@ -13,7 +13,7 @@ export default {
   components: {
     Kanban
   },
-  data() {
+  data: function() {
     return {
       options: {
         group: 'mission'
diff --git a/src/views/components-demo/dragSelect.vue b/src/views/components-demo/dragSelect.vue
index 559e8a578805325be08ea0d336bd148c83561ed6..c8ebd13cd1fe6a602eed356cd468b5fb0f5fc3d4 100644
--- a/src/views/components-demo/dragSelect.vue
+++ b/src/views/components-demo/dragSelect.vue
@@ -18,7 +18,7 @@ import ElDragSelect from '@/components/DragSelect' // base on element-ui
 export default {
   name: 'DragSelectDemo',
   components: { ElDragSelect },
-  data() {
+  data: function() {
     return {
       value: ['Apple', 'Banana', 'Orange'],
       options: [{
diff --git a/src/views/components-demo/jsonEditor.vue b/src/views/components-demo/jsonEditor.vue
index cff3780c17058557b13f8cfccead6a47da73126b..8d300401790e5397cb3c25c4588896016fe4ef2c 100644
--- a/src/views/components-demo/jsonEditor.vue
+++ b/src/views/components-demo/jsonEditor.vue
@@ -15,7 +15,7 @@ const jsonData = '[{"items":[{"market_type":"forexdata","symbol":"XAUUSD"},{"mar
 export default {
   name: 'JsonEditorDemo',
   components: { JsonEditor },
-  data() {
+  data: function() {
     return {
       value: JSON.parse(jsonData)
     }
diff --git a/src/views/components-demo/markdown.vue b/src/views/components-demo/markdown.vue
index de2e817e433ebf234b0c5dd97d0b2f81a3122668..7217ba2d702621075706e5eba4ec110597ec03db 100644
--- a/src/views/components-demo/markdown.vue
+++ b/src/views/components-demo/markdown.vue
@@ -52,7 +52,7 @@ const content = `
 export default {
   name: 'MarkdownDemo',
   components: { MarkdownEditor },
-  data() {
+  data: function() {
     return {
       content: content,
       html: '',
diff --git a/src/views/components-demo/mixin.vue b/src/views/components-demo/mixin.vue
index 99b62468bc5bc36a2d30e9bb77fd245108ee1764..63a0f5e28bc46ac1ba42286d2ea5486c259fe553 100644
--- a/src/views/components-demo/mixin.vue
+++ b/src/views/components-demo/mixin.vue
@@ -114,7 +114,7 @@ export default {
   directives: {
     waves
   },
-  data() {
+  data: function() {
     const validate = (rule, value, callback) => {
       if (value.length !== 6) {
         callback(new Error('请输入六个字符'))
diff --git a/src/views/components-demo/sticky.vue b/src/views/components-demo/sticky.vue
index 65cfb0912e9b3990ed19545f494414187e5fb1be..0fa471269bfa403180c30c2c93197bf7d16b17af 100644
--- a/src/views/components-demo/sticky.vue
+++ b/src/views/components-demo/sticky.vue
@@ -97,7 +97,7 @@ import Sticky from '@/components/Sticky'
 export default {
   name: 'StickyDemo',
   components: { Sticky },
-  data() {
+  data: function() {
     return {
       time: '',
       url: '',
diff --git a/src/views/components-demo/tinymce.vue b/src/views/components-demo/tinymce.vue
index c7a94694dbfaca9c9c031e4637f46dd9e4ad92e5..7612e1168d1fbd9976bbbe955ede23199e2cc44f 100644
--- a/src/views/components-demo/tinymce.vue
+++ b/src/views/components-demo/tinymce.vue
@@ -17,7 +17,7 @@ import Tinymce from '@/components/Tinymce'
 export default {
   name: 'TinymceDemo',
   components: { Tinymce },
-  data() {
+  data: function() {
     return {
       content:
       `<h1 style="text-align: center;">Welcome to the TinyMCE demo!</h1><p style="text-align: center; font-size: 15px;"><img title="TinyMCE Logo" src="//www.tinymce.com/images/glyph-tinymce@2x.png" alt="TinyMCE Logo" width="110" height="97" /><ul>
diff --git a/src/views/dashboard/admin/components/BarChart.vue b/src/views/dashboard/admin/components/BarChart.vue
index 28e0aef9f1d4b6e42158e4ca82d6ae82519a3646..cf75dfb27d08aee6265d837f5875ab4384f35325 100644
--- a/src/views/dashboard/admin/components/BarChart.vue
+++ b/src/views/dashboard/admin/components/BarChart.vue
@@ -24,7 +24,7 @@ export default {
       default: '300px'
     }
   },
-  data() {
+  data: function() {
     return {
       chart: null
     }
diff --git a/src/views/dashboard/admin/components/BoxCard.vue b/src/views/dashboard/admin/components/BoxCard.vue
index 0e4d1e2769ac70f8e013e417958dfd6851d0af34..76c7f452a111e2726a819012944531e29760d263 100644
--- a/src/views/dashboard/admin/components/BoxCard.vue
+++ b/src/views/dashboard/admin/components/BoxCard.vue
@@ -43,7 +43,7 @@ export default {
       return statusMap[status]
     }
   },
-  data() {
+  data: function() {
     return {
       statisticsData: {
         article_count: 1024,
diff --git a/src/views/dashboard/admin/components/LineChart.vue b/src/views/dashboard/admin/components/LineChart.vue
index dfd121e5ee95cc0fd97167050a8d47d32f763bbc..0043d21bd486cb4f2193b67053af4c79c425d963 100644
--- a/src/views/dashboard/admin/components/LineChart.vue
+++ b/src/views/dashboard/admin/components/LineChart.vue
@@ -30,7 +30,7 @@ export default {
       required: true
     }
   },
-  data() {
+  data: function() {
     return {
       chart: null,
       sidebarElm: null
diff --git a/src/views/dashboard/admin/components/PieChart.vue b/src/views/dashboard/admin/components/PieChart.vue
index edb17d54a3e201339595007f44f5e77996c340c0..f0c8e6f36631785894dab4c8f85587cc6f7a1025 100644
--- a/src/views/dashboard/admin/components/PieChart.vue
+++ b/src/views/dashboard/admin/components/PieChart.vue
@@ -22,7 +22,7 @@ export default {
       default: '300px'
     }
   },
-  data() {
+  data: function() {
     return {
       chart: null
     }
diff --git a/src/views/dashboard/admin/components/RaddarChart.vue b/src/views/dashboard/admin/components/RaddarChart.vue
index 11fde329d3a180ca035a9f09001096244ba11871..40fc706700028a206c88314d9168961df4c014fc 100644
--- a/src/views/dashboard/admin/components/RaddarChart.vue
+++ b/src/views/dashboard/admin/components/RaddarChart.vue
@@ -24,7 +24,7 @@ export default {
       default: '300px'
     }
   },
-  data() {
+  data: function() {
     return {
       chart: null
     }
diff --git a/src/views/dashboard/admin/components/TodoList/Todo.vue b/src/views/dashboard/admin/components/TodoList/Todo.vue
index 9f5a6bb252b1cb40ef5ed548be4e21cc8c5d7dec..bfc98339c355a5747e521e5a0e0a9317ab446304 100644
--- a/src/views/dashboard/admin/components/TodoList/Todo.vue
+++ b/src/views/dashboard/admin/components/TodoList/Todo.vue
@@ -40,7 +40,7 @@ export default {
       }
     }
   },
-  data() {
+  data: function() {
     return {
       editing: false
     }
diff --git a/src/views/dashboard/admin/components/TodoList/index.vue b/src/views/dashboard/admin/components/TodoList/index.vue
index 5b840c650c92ab3cb4bdce32e746f42567599886..1f59b2dca4ce276de84e68c862bde764fc47988d 100644
--- a/src/views/dashboard/admin/components/TodoList/index.vue
+++ b/src/views/dashboard/admin/components/TodoList/index.vue
@@ -61,7 +61,7 @@ export default {
     pluralize: (n, w) => n === 1 ? w : w + 's',
     capitalize: s => s.charAt(0).toUpperCase() + s.slice(1)
   },
-  data() {
+  data: function() {
     return {
       visibility: 'all',
       filters,
diff --git a/src/views/dashboard/admin/components/TransactionTable.vue b/src/views/dashboard/admin/components/TransactionTable.vue
index 0741752387c4a1ec3954a3363996a10d34431dde..459a98c1ae9696a962ddeafcc3cfe29e7e187df8 100644
--- a/src/views/dashboard/admin/components/TransactionTable.vue
+++ b/src/views/dashboard/admin/components/TransactionTable.vue
@@ -34,7 +34,7 @@ export default {
       return str.substring(0, 30)
     }
   },
-  data() {
+  data: function() {
     return {
       list: null
     }
diff --git a/src/views/dashboard/admin/index.vue b/src/views/dashboard/admin/index.vue
index 1a79637a518ec92fd5b5be558036230423835e46..2548bb3b934d0fe6b2b948e14696c396dcf2cd14 100644
--- a/src/views/dashboard/admin/index.vue
+++ b/src/views/dashboard/admin/index.vue
@@ -85,7 +85,7 @@ export default {
     TodoList,
     BoxCard
   },
-  data() {
+  data: function() {
     return {
       lineChartData: lineChartData.newVisitis
     }
diff --git a/src/views/dashboard/editor/index.vue b/src/views/dashboard/editor/index.vue
index ace11426741207f3b88b403552239591e37c27d1..8ab258928e6f679e786bf1c296cb5ad207fe1fad 100644
--- a/src/views/dashboard/editor/index.vue
+++ b/src/views/dashboard/editor/index.vue
@@ -24,7 +24,7 @@ import GithubCorner from '@/components/GithubCorner'
 export default {
   name: 'DashboardEditor',
   components: { PanThumb, GithubCorner },
-  data() {
+  data: function() {
     return {
       emptyGif: 'https://wpimg.wallstcn.com/0e03b7da-db9e-4819-ba10-9016ddfdaed3'
     }
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index 7011f6ad00b203f564f2e2557d5c6b106f2ef10d..ed83a01c35ce32e26b94c588f31fd1511023a2cd 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -12,7 +12,7 @@ import editorDashboard from './editor'
 export default {
   name: 'Dashboard',
   components: { adminDashboard, editorDashboard },
-  data() {
+  data: function() {
     return {
       currentRole: 'adminDashboard'
     }
diff --git a/src/views/documentation/index.vue b/src/views/documentation/index.vue
index 4c7afc9d4cced74478da80e04010b8b57736b923..107929ebbdc672d3f8ba61b37a3df08e1cfe52b8 100644
--- a/src/views/documentation/index.vue
+++ b/src/views/documentation/index.vue
@@ -12,7 +12,7 @@ import DropdownMenu from '@/components/Share/dropdownMenu'
 export default {
   name: 'Documentation',
   components: { DropdownMenu },
-  data() {
+  data: function() {
     return {
       articleList: [
         { title: '基础篇', href: 'https://juejin.im/post/59097cd7a22b9d0065fb61d2' },
diff --git a/src/views/errorPage/401.vue b/src/views/errorPage/401.vue
index 24420126eaa74dd11e981a383220103086986c9c..2901c9421b3f8def0d5aaabf46d7a3c3891417f5 100644
--- a/src/views/errorPage/401.vue
+++ b/src/views/errorPage/401.vue
@@ -31,7 +31,7 @@ import errGif from '@/assets/401_images/401.gif'
 
 export default {
   name: 'Page401',
-  data() {
+  data: function() {
     return {
       errGif: errGif + '?' + +new Date(),
       ewizardClap: 'https://wpimg.wallstcn.com/007ef517-bafd-4066-aae4-6883632d9646',
diff --git a/src/views/example/components/ArticleDetail.vue b/src/views/example/components/ArticleDetail.vue
index 129016d74c33f4e8ece8c30574f2b59735436923..658dc16d6b5c2708a5928231a5e5e390b3722a12 100644
--- a/src/views/example/components/ArticleDetail.vue
+++ b/src/views/example/components/ArticleDetail.vue
@@ -107,7 +107,7 @@ export default {
       default: false
     }
   },
-  data() {
+  data: function() {
     const validateRequire = (rule, value, callback) => {
       if (value === '') {
         this.$message({
diff --git a/src/views/example/components/Dropdown/Platform.vue b/src/views/example/components/Dropdown/Platform.vue
index fce5e4b39e1ec07cbfbfcfbb71896598a6b3559c..4b18fa7cc6a15602a92c92e73c49a7552ac3216d 100644
--- a/src/views/example/components/Dropdown/Platform.vue
+++ b/src/views/example/components/Dropdown/Platform.vue
@@ -23,7 +23,7 @@ export default {
       type: Array
     }
   },
-  data() {
+  data: function() {
     return {
       platformsOptions: [
         { key: 'a-platform', name: 'a-platform' },
diff --git a/src/views/example/list.vue b/src/views/example/list.vue
index 85ae4e43822b34fc5ab72d1c940b2aed932d066b..4e41e065ed106573be95338a2d443d9a47a6eb2d 100644
--- a/src/views/example/list.vue
+++ b/src/views/example/list.vue
@@ -72,7 +72,7 @@ export default {
       return statusMap[status]
     }
   },
-  data() {
+  data: function() {
     return {
       list: null,
       total: 0,
diff --git a/src/views/excel/components/BookTypeOption.vue b/src/views/excel/components/BookTypeOption.vue
index 9970b0e4e1bf95c14fc7b68e528942e6f580b2e1..b3a54dde62937945665ce72994117b10f3297655 100644
--- a/src/views/excel/components/BookTypeOption.vue
+++ b/src/views/excel/components/BookTypeOption.vue
@@ -19,7 +19,7 @@ export default {
       default: 'xlsx'
     }
   },
-  data() {
+  data: function() {
     return {
       options: ['xlsx', 'csv', 'txt']
     }
diff --git a/src/views/excel/exportExcel.vue b/src/views/excel/exportExcel.vue
index 551b89f85e7952f54daa30e7bcb241fb0e161cb6..af76ef2554a4f29ea1f406a80cf8cab50d38592c 100644
--- a/src/views/excel/exportExcel.vue
+++ b/src/views/excel/exportExcel.vue
@@ -55,7 +55,7 @@ import BookTypeOption from './components/BookTypeOption'
 export default {
   name: 'ExportExcel',
   components: { FilenameOption, AutoWidthOption, BookTypeOption },
-  data() {
+  data: function() {
     return {
       list: null,
       listLoading: true,
diff --git a/src/views/excel/selectExcel.vue b/src/views/excel/selectExcel.vue
index 2695bfb4e4404c25491b76236a3a47f483f2f548..966391a9a907b4c489db6511c5050f9b558b9a0a 100644
--- a/src/views/excel/selectExcel.vue
+++ b/src/views/excel/selectExcel.vue
@@ -51,7 +51,7 @@ import { fetchList } from '@/api/article'
 
 export default {
   name: 'SelectExcel',
-  data() {
+  data: function() {
     return {
       list: null,
       listLoading: true,
diff --git a/src/views/excel/uploadExcel.vue b/src/views/excel/uploadExcel.vue
index 4095e9104cc274ac25c8b71ad0b90d4656839de0..377a7fcee42fc676fff1e928a72446ff968d3464 100644
--- a/src/views/excel/uploadExcel.vue
+++ b/src/views/excel/uploadExcel.vue
@@ -13,7 +13,7 @@ import UploadExcelComponent from '@/components/UploadExcel/index.vue'
 export default {
   name: 'UploadExcel',
   components: { UploadExcelComponent },
-  data() {
+  data: function() {
     return {
       tableData: [],
       tableHeader: []
diff --git a/src/views/guide/index.vue b/src/views/guide/index.vue
index 49502aeff808cfdfd245c3e32bceab2038e219c9..9fc1eeb7bd465f021f6d513f82f339ea1ff314a7 100644
--- a/src/views/guide/index.vue
+++ b/src/views/guide/index.vue
@@ -16,7 +16,7 @@ import steps from './defineSteps'
 
 export default {
   name: 'Guide',
-  data() {
+  data: function() {
     return {
       driver: null
     }
diff --git a/src/views/i18n-demo/index.vue b/src/views/i18n-demo/index.vue
index b5344c678df1ad0e94039c42b75a5c6b382c8438..08861bca278112b66a28cb163055180e992a31df 100644
--- a/src/views/i18n-demo/index.vue
+++ b/src/views/i18n-demo/index.vue
@@ -55,7 +55,7 @@ const viewName = 'i18nView'
 
 export default {
   name: 'I18n',
-  data() {
+  data: function() {
     return {
       date: '',
       tableData: [{
diff --git a/src/views/layout/components/Sidebar/SidebarItem.vue b/src/views/layout/components/Sidebar/SidebarItem.vue
index f0381a90ba339c925085c45e073c2eff3a60c2ab..52943ff0ac06b63a899803baf57fad3f6c89b009 100644
--- a/src/views/layout/components/Sidebar/SidebarItem.vue
+++ b/src/views/layout/components/Sidebar/SidebarItem.vue
@@ -63,7 +63,7 @@ export default {
       default: ''
     }
   },
-  data() {
+  data: function() {
     return {
       onlyOneChild: null
     }
diff --git a/src/views/layout/components/TagsView.vue b/src/views/layout/components/TagsView.vue
index cfac9c7db1a86da09fc73bff2fba9a09f48cb269..8563e3369de7d542fc8ab03a45567c04043f4d2f 100644
--- a/src/views/layout/components/TagsView.vue
+++ b/src/views/layout/components/TagsView.vue
@@ -32,7 +32,7 @@ import path from 'path'
 
 export default {
   components: { ScrollPane },
-  data() {
+  data: function() {
     return {
       visible: false,
       top: 0,
diff --git a/src/views/pdf/download.vue b/src/views/pdf/download.vue
index b0f30f6f781935d09de0c43db69f33e913dfeb9a..61d5ebf4167407b01d9a098b22a5f1b10f733582 100644
--- a/src/views/pdf/download.vue
+++ b/src/views/pdf/download.vue
@@ -13,7 +13,7 @@
 <script>
 
 export default {
-  data() {
+  data: function() {
     return {
       article: '',
       fullscreenLoading: true
diff --git a/src/views/permission/directive.vue b/src/views/permission/directive.vue
index df277ddcffdf23c8351e6a5fb73faecea246dd88..c12ba6f13d861fec20a507d9809c092f445382f8 100644
--- a/src/views/permission/directive.vue
+++ b/src/views/permission/directive.vue
@@ -63,7 +63,7 @@ export default{
   name: 'DirectivePermission',
   components: { SwitchRoles },
   directives: { permission },
-  data() {
+  data: function() {
     return {
       key: 1 // 为了能每次切换权限的时候重新初始化指令
     }
diff --git a/src/views/qiniu/upload.vue b/src/views/qiniu/upload.vue
index 9cb5eb0949dd91b6aced0b488bde371c33a9fa2f..bd37992eb71d5c0dbd2056cc8f4821500c71e2aa 100644
--- a/src/views/qiniu/upload.vue
+++ b/src/views/qiniu/upload.vue
@@ -11,7 +11,7 @@ import { getToken } from '@/api/qiniu'
 // 七牛官方sdk https://developer.qiniu.com/sdk#official-sdk
 
 export default{
-  data() {
+  data: function() {
     return {
       dataObj: { token: '', key: '' },
       image_uri: [],
diff --git a/src/views/svg-icons/index.vue b/src/views/svg-icons/index.vue
index 89037e1318afd5a9db211bbd9873f29b3da2506f..c0a922a235515baa04e021d813907bb486fa00dd 100644
--- a/src/views/svg-icons/index.vue
+++ b/src/views/svg-icons/index.vue
@@ -26,7 +26,7 @@ import clipboard from '@/utils/clipboard'
 
 export default {
   name: 'Icons',
-  data() {
+  data: function() {
     return {
       iconsMap: icons
     }
diff --git a/src/views/tab/components/tabPane.vue b/src/views/tab/components/tabPane.vue
index e9ac20aca13648c6560662797ed31d45824311ae..c8399a7c2a71aa72aade75239e36351099ac3fa4 100644
--- a/src/views/tab/components/tabPane.vue
+++ b/src/views/tab/components/tabPane.vue
@@ -72,7 +72,7 @@ export default {
       default: 'CN'
     }
   },
-  data() {
+  data: function() {
     return {
       list: null,
       listQuery: {
diff --git a/src/views/tab/index.vue b/src/views/tab/index.vue
index 67936c0c2ba1406c5ff3ef174c2e865844389b67..f7702c5b7cccbae06ff315a6cc3a5a049eac8e11 100644
--- a/src/views/tab/index.vue
+++ b/src/views/tab/index.vue
@@ -18,7 +18,7 @@ import tabPane from './components/tabPane'
 export default {
   name: 'Tab',
   components: { tabPane },
-  data() {
+  data: function() {
     return {
       tabMapOptions: [
         { label: 'China', key: 'CN' },
diff --git a/src/views/table/complexTable.vue b/src/views/table/complexTable.vue
index eb355e3b9c6ac223981ef8d29f10481ad3828eeb..e72440fc1081039f45a4b874e4da3edd3273dac4 100644
--- a/src/views/table/complexTable.vue
+++ b/src/views/table/complexTable.vue
@@ -163,7 +163,7 @@ export default {
       return calendarTypeKeyValue[type]
     }
   },
-  data() {
+  data: function() {
     return {
       tableKey: 0,
       list: null,
diff --git a/src/views/table/dragTable.vue b/src/views/table/dragTable.vue
index 3f3fb9418252a229bcf27cb07e0ced5585d61655..9a3b20aba60d12f4fba25edf0972274d994687eb 100644
--- a/src/views/table/dragTable.vue
+++ b/src/views/table/dragTable.vue
@@ -75,7 +75,7 @@ export default {
       return statusMap[status]
     }
   },
-  data() {
+  data: function() {
     return {
       list: null,
       total: null,
diff --git a/src/views/table/dynamicTable/fixedThead.vue b/src/views/table/dynamicTable/fixedThead.vue
index 30dcee00cc9695d1f4cdb1ea9580304a0b24269d..ca1bac675514b925e404689df0336488dda750e2 100644
--- a/src/views/table/dynamicTable/fixedThead.vue
+++ b/src/views/table/dynamicTable/fixedThead.vue
@@ -25,7 +25,7 @@
 const defaultFormThead = ['apple', 'banana']
 
 export default {
-  data() {
+  data: function() {
     return {
       tableData: [
         {
diff --git a/src/views/table/dynamicTable/unfixedThead.vue b/src/views/table/dynamicTable/unfixedThead.vue
index caa97506623ad99f487b0a209d2b8f191fe466a6..f49369d9b50dc68d373fb1e2a1907231dda1daf0 100644
--- a/src/views/table/dynamicTable/unfixedThead.vue
+++ b/src/views/table/dynamicTable/unfixedThead.vue
@@ -23,7 +23,7 @@
 
 <script>
 export default {
-  data() {
+  data: function() {
     return {
       tableData: [
         {
diff --git a/src/views/table/inlineEditTable.vue b/src/views/table/inlineEditTable.vue
index 78800ce53d4fe0d10501818a186160e5dd6e9bab..e86e40ae4deb835f459fb986ec89ee31beadf8dc 100644
--- a/src/views/table/inlineEditTable.vue
+++ b/src/views/table/inlineEditTable.vue
@@ -69,7 +69,7 @@ export default {
       return statusMap[status]
     }
   },
-  data() {
+  data: function() {
     return {
       list: null,
       listLoading: true,
diff --git a/src/views/table/treeTable/customTreeTable.vue b/src/views/table/treeTable/customTreeTable.vue
index 2a21617195f0776e6cb290def2b734caeb9bc7d4..ae447b2d3f5cde756c55f039d24c9605c6f27f57 100644
--- a/src/views/table/treeTable/customTreeTable.vue
+++ b/src/views/table/treeTable/customTreeTable.vue
@@ -47,7 +47,7 @@ import treeToArray from './customEval'
 export default {
   name: 'CustomTreeTableDemo',
   components: { treeTable },
-  data() {
+  data: function() {
     return {
       func: treeToArray,
       expandAll: false,
diff --git a/src/views/table/treeTable/treeTable.vue b/src/views/table/treeTable/treeTable.vue
index d2ecf14d2f915c81ff12053c65e9353960f87ee6..e9e2e32b8d5635260f808731e23afbe9a1d12184 100644
--- a/src/views/table/treeTable/treeTable.vue
+++ b/src/views/table/treeTable/treeTable.vue
@@ -20,7 +20,7 @@ import treeTable from '@/components/TreeTable'
 export default {
   name: 'TreeTableDemo',
   components: { treeTable },
-  data() {
+  data: function() {
     return {
       columns: [
         {
diff --git a/src/views/theme/index.vue b/src/views/theme/index.vue
index 9eec5f016e3c5eef3fcaa10284c1dcc125a6beb1..751f747fcfe8fd04d288a61821c816c12d9eef62 100644
--- a/src/views/theme/index.vue
+++ b/src/views/theme/index.vue
@@ -59,7 +59,7 @@ import '@/assets/custom-theme/index.css' // the theme changed version element-ui
 
 export default {
   name: 'Theme',
-  data() {
+  data: function() {
     return {
       theme: false,
       tags: [
diff --git a/src/views/users/index.vue b/src/views/users/index.vue
new file mode 100644
index 0000000000000000000000000000000000000000..dce75925f2ed4fd32bf6a336bb089596f6ed8e3b
--- /dev/null
+++ b/src/views/users/index.vue
@@ -0,0 +1,17 @@
+<template>
+  <div class="users-container">
+    123
+  </div>
+</template>
+
+<script>
+export default {
+  name: 'Users',
+  data: function() {
+    return {
+      users: []
+    }
+  }
+}
+</script>
+
diff --git a/src/views/zip/index.vue b/src/views/zip/index.vue
index 42f0efe6ed2f309995132bc622141a301d66bbae..9e2ff6bd5af489b2f4c24280c085078dd3df57da 100644
--- a/src/views/zip/index.vue
+++ b/src/views/zip/index.vue
@@ -39,7 +39,7 @@ import { fetchList } from '@/api/article'
 
 export default {
   name: 'ExportZip',
-  data() {
+  data: function() {
     return {
       list: null,
       listLoading: true,