vue2-client 1.13.13 → 1.13.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,107 +1,107 @@
1
- {
2
- "name": "vue2-client",
3
- "version": "1.13.13",
4
- "private": false,
5
- "scripts": {
6
- "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
7
- "serve:gaslink": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode gaslink",
8
- "serve:revenue": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode revenue",
9
- "serve:liuli": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode liuli",
10
- "serve:scada": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode scada",
11
- "serve:iot": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode iot",
12
- "serve:his": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode his",
13
- "mac-serve": "vue-cli-service serve --no-eslint --mode his",
14
- "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
15
- "test:unit": "vue-cli-service test:unit",
16
- "lint": "vue-cli-service lint",
17
- "build:preview": "vue-cli-service build --mode preview",
18
- "lint:nofix": "vue-cli-service lint --no-fix",
19
- "test": "jest"
20
- },
21
- "dependencies": {
22
- "@afwenming123/vue-easy-tree": "^1.0.1",
23
- "@afwenming123/vue-plugin-hiprint": "^0.0.70",
24
- "@amap/amap-jsapi-loader": "^1.0.1",
25
- "@antv/data-set": "^0.11.8",
26
- "@antv/g2plot": "^2.4.31",
27
- "@hufe921/canvas-editor": "^0.9.49",
28
- "@microsoft/fetch-event-source": "^2.0.1",
29
- "@vue/babel-preset-jsx": "^1.4.0",
30
- "animate.css": "^4.1.1",
31
- "ant-design-vue": "^1.7.8",
32
- "axios": "^0.27.2",
33
- "clipboard": "^2.0.11",
34
- "core-js": "^3.33.0",
35
- "crypto-js": "^4.1.1",
36
- "date-fns": "^2.29.3",
37
- "default-passive-events": "^2.0.0",
38
- "dotenv": "^16.3.1",
39
- "echarts": "^5.5.0",
40
- "enquire.js": "^2.1.6",
41
- "file-saver": "^2.0.5",
42
- "highlight.js": "^11.7.0",
43
- "html2canvas": "^1.4.1",
44
- "js-base64": "^3.7.5",
45
- "js-cookie": "^2.2.1",
46
- "jsencrypt": "^3.3.2",
47
- "jspdf": "^2.5.1",
48
- "lodash.clonedeep": "^4.5.0",
49
- "lodash.debounce": "^4",
50
- "lodash.get": "^4.4.2",
51
- "marked": "^4",
52
- "mockjs": "^1.1.0",
53
- "nprogress": "^0.2.0",
54
- "qs": "^6.11.2",
55
- "regenerator-runtime": "^0.14.0",
56
- "videojs-contrib-hls": "^5.15.0",
57
- "viser-vue": "^2.4.8",
58
- "vue": "^2.7.14",
59
- "vue-codemirror": "4.0.6",
60
- "vue-draggable-resizable": "^2",
61
- "vue-i18n": "^8.28.2",
62
- "vue-json-viewer": "^2.2.22",
63
- "vue-router": "^3.6.5",
64
- "vue-video-player": "^5.0.2",
65
- "vue-virtual-scroller": "^1.1.2",
66
- "vuedraggable": "^2.24.3",
67
- "vuex": "^3.6.2",
68
- "xlsx": "0.18.5"
69
- },
70
- "devDependencies": {
71
- "@ant-design/colors": "^7.0.0",
72
- "@babel/core": "^7.22.20",
73
- "@babel/eslint-parser": "^7.22.15",
74
- "@babel/preset-env": "^7.22.20",
75
- "@vue/cli-plugin-babel": "^5.0.8",
76
- "@vue/cli-plugin-eslint": "^5.0.8",
77
- "@vue/cli-service": "^5.0.8",
78
- "@vue/eslint-config-standard": "^8.0.1",
79
- "@vue/test-utils": "^1.3.6",
80
- "babel-plugin-transform-remove-console": "^6.9.4",
81
- "compression-webpack-plugin": "^10.0.0",
82
- "css-minimizer-webpack-plugin": "^5.0.1",
83
- "deepmerge": "^4.3.1",
84
- "eslint": "^8.51.0",
85
- "eslint-plugin-vue": "^9.17.0",
86
- "fast-deep-equal": "^3.1.3",
87
- "ignore-loader": "^0.1.2",
88
- "jest": "^29.7.0",
89
- "jest-environment-jsdom": "^29.7.0",
90
- "jest-transform-stub": "^2.0.0",
91
- "less-loader": "^6.2.0",
92
- "script-loader": "^0.7.2",
93
- "style-resources-loader": "^1.5.0",
94
- "vue-cli-plugin-style-resources-loader": "^0.1.5",
95
- "vue-jest": "^4.0.1",
96
- "vue-template-compiler": "^2.7.14",
97
- "webpack": "^5.88.2",
98
- "webpack-theme-color-replacer": "^1.4.7",
99
- "whatwg-fetch": "^3.6.19"
100
- },
101
- "browserslist": [
102
- "> 1%",
103
- "last 2 versions",
104
- "not dead",
105
- "not ie 11"
106
- ]
107
- }
1
+ {
2
+ "name": "vue2-client",
3
+ "version": "1.13.14",
4
+ "private": false,
5
+ "scripts": {
6
+ "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
7
+ "serve:gaslink": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode gaslink",
8
+ "serve:revenue": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode revenue",
9
+ "serve:liuli": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode liuli",
10
+ "serve:scada": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode scada",
11
+ "serve:iot": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode iot",
12
+ "serve:his": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode his",
13
+ "mac-serve": "vue-cli-service serve --no-eslint --mode his",
14
+ "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
15
+ "test:unit": "vue-cli-service test:unit",
16
+ "lint": "vue-cli-service lint",
17
+ "build:preview": "vue-cli-service build --mode preview",
18
+ "lint:nofix": "vue-cli-service lint --no-fix",
19
+ "test": "jest"
20
+ },
21
+ "dependencies": {
22
+ "@afwenming123/vue-easy-tree": "^1.0.1",
23
+ "@afwenming123/vue-plugin-hiprint": "^0.0.70",
24
+ "@amap/amap-jsapi-loader": "^1.0.1",
25
+ "@antv/data-set": "^0.11.8",
26
+ "@antv/g2plot": "^2.4.31",
27
+ "@hufe921/canvas-editor": "^0.9.49",
28
+ "@microsoft/fetch-event-source": "^2.0.1",
29
+ "@vue/babel-preset-jsx": "^1.4.0",
30
+ "animate.css": "^4.1.1",
31
+ "ant-design-vue": "^1.7.8",
32
+ "axios": "^0.27.2",
33
+ "clipboard": "^2.0.11",
34
+ "core-js": "^3.33.0",
35
+ "crypto-js": "^4.1.1",
36
+ "date-fns": "^2.29.3",
37
+ "default-passive-events": "^2.0.0",
38
+ "dotenv": "^16.3.1",
39
+ "echarts": "^5.5.0",
40
+ "enquire.js": "^2.1.6",
41
+ "file-saver": "^2.0.5",
42
+ "highlight.js": "^11.7.0",
43
+ "html2canvas": "^1.4.1",
44
+ "js-base64": "^3.7.5",
45
+ "js-cookie": "^2.2.1",
46
+ "jsencrypt": "^3.3.2",
47
+ "jspdf": "^2.5.1",
48
+ "lodash.clonedeep": "^4.5.0",
49
+ "lodash.debounce": "^4",
50
+ "lodash.get": "^4.4.2",
51
+ "marked": "^4",
52
+ "mockjs": "^1.1.0",
53
+ "nprogress": "^0.2.0",
54
+ "qs": "^6.11.2",
55
+ "regenerator-runtime": "^0.14.0",
56
+ "videojs-contrib-hls": "^5.15.0",
57
+ "viser-vue": "^2.4.8",
58
+ "vue": "^2.7.14",
59
+ "vue-codemirror": "4.0.6",
60
+ "vue-draggable-resizable": "^2",
61
+ "vue-i18n": "^8.28.2",
62
+ "vue-json-viewer": "^2.2.22",
63
+ "vue-router": "^3.6.5",
64
+ "vue-video-player": "^5.0.2",
65
+ "vue-virtual-scroller": "^1.1.2",
66
+ "vuedraggable": "^2.24.3",
67
+ "vuex": "^3.6.2",
68
+ "xlsx": "0.18.5"
69
+ },
70
+ "devDependencies": {
71
+ "@ant-design/colors": "^7.0.0",
72
+ "@babel/core": "^7.22.20",
73
+ "@babel/eslint-parser": "^7.22.15",
74
+ "@babel/preset-env": "^7.22.20",
75
+ "@vue/cli-plugin-babel": "^5.0.8",
76
+ "@vue/cli-plugin-eslint": "^5.0.8",
77
+ "@vue/cli-service": "^5.0.8",
78
+ "@vue/eslint-config-standard": "^8.0.1",
79
+ "@vue/test-utils": "^1.3.6",
80
+ "babel-plugin-transform-remove-console": "^6.9.4",
81
+ "compression-webpack-plugin": "^10.0.0",
82
+ "css-minimizer-webpack-plugin": "^5.0.1",
83
+ "deepmerge": "^4.3.1",
84
+ "eslint": "^8.51.0",
85
+ "eslint-plugin-vue": "^9.17.0",
86
+ "fast-deep-equal": "^3.1.3",
87
+ "ignore-loader": "^0.1.2",
88
+ "jest": "^29.7.0",
89
+ "jest-environment-jsdom": "^29.7.0",
90
+ "jest-transform-stub": "^2.0.0",
91
+ "less-loader": "^6.2.0",
92
+ "script-loader": "^0.7.2",
93
+ "style-resources-loader": "^1.5.0",
94
+ "vue-cli-plugin-style-resources-loader": "^0.1.5",
95
+ "vue-jest": "^4.0.1",
96
+ "vue-template-compiler": "^2.7.14",
97
+ "webpack": "^5.88.2",
98
+ "webpack-theme-color-replacer": "^1.4.7",
99
+ "whatwg-fetch": "^3.6.19"
100
+ },
101
+ "browserslist": [
102
+ "> 1%",
103
+ "last 2 versions",
104
+ "not dead",
105
+ "not ie 11"
106
+ ]
107
+ }
@@ -1,101 +1,116 @@
1
- <template>
2
- <div class="x-input-wrapper">
3
- <a-input
4
- v-model="innerValue"
5
- v-bind="$attrs"
6
- :placeholder="config?.placeholder"
7
- :size="config?.size"
8
- :maxLength="config?.maxLength"
9
- :disabled="config?.disabled"
10
- :allowClear="config?.allowClear"
11
- @change="handleInput"
12
- @pressEnter="handleSearch"
13
- >
14
- <template v-if="config?.prefix" #prefix>
15
- <a-icon :type="config.prefix" @click="handleSearch" class="clickable-icon" />
16
- </template>
17
- <template v-if="config?.suffix" #suffix>
18
- <a-icon :type="config.suffix" @click="handleSearch" class="clickable-icon" />
19
- </template>
20
- </a-input>
21
- </div>
22
- </template>
23
-
24
- <script>
25
- import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
26
-
27
- export default {
28
- name: 'XInput',
29
- inheritAttrs: false,
30
- props: {
31
- value: {
32
- type: [String, Number],
33
- default: ''
34
- },
35
- queryParamsName: {
36
- type: String,
37
- default: ''
38
- }
39
- },
40
- data () {
41
- return {
42
- innerValue: this.value || '',
43
- config: null
44
- }
45
- },
46
- created () {
47
- this.getData(this.queryParamsName)
48
- },
49
- emits: ['search'],
50
- methods: {
51
- runLogic,
52
- async getData (data) {
53
- getConfigByName(data, 'af-his', res => {
54
- this.config = res
55
- if (res.defaultValue !== undefined) {
56
- this.innerValue = res.defaultValue
57
- }
58
- })
59
- },
60
- handleInput (e) {
61
- const value = e.target.value
62
- this.innerValue = value
63
- this.$emit('search', value)
64
- },
65
- handleSearch () {
66
- // 统一的搜索事件:将当前输入值发送给父组件
67
- this.$emit('search', this.innerValue)
68
- }
69
- },
70
- watch: {
71
- value: {
72
- handler (newValue) {
73
- this.innerValue = newValue
74
- },
75
- immediate: true
76
- },
77
- queryParamsName: {
78
- handler (newValue) {
79
- this.getData(newValue)
80
- },
81
- deep: true
82
- }
83
- }
84
- }
85
- </script>
86
-
87
- <style scoped>
88
- .x-input-wrapper {
89
- position: relative;
90
- display: inline-block;
91
- width: 100%;
92
- }
93
-
94
- :deep(.clickable-icon) {
95
- cursor: pointer;
96
- }
97
-
98
- :deep(.clickable-icon:hover) {
99
- color: #1890ff;
100
- }
101
- </style>
1
+ <template>
2
+ <div class="x-input-wrapper">
3
+ <div class="input-container">
4
+ <span v-if="config?.label" class="input-label">{{ config.label }}</span>
5
+ <a-input
6
+ v-model="innerValue"
7
+ v-bind="$attrs"
8
+ :placeholder="config?.placeholder"
9
+ :size="config?.size"
10
+ :maxLength="config?.maxLength"
11
+ :disabled="config?.disabled"
12
+ :allowClear="config?.allowClear"
13
+ @change="handleInput"
14
+ @pressEnter="handleSearch"
15
+ >
16
+ <template v-if="config?.prefix" #prefix>
17
+ <a-icon :type="config.prefix" @click="handleSearch" class="clickable-icon" />
18
+ </template>
19
+ <template v-if="config?.suffix" #suffix>
20
+ <a-icon :type="config.suffix" @click="handleSearch" class="clickable-icon" />
21
+ </template>
22
+ </a-input>
23
+ </div>
24
+ </div>
25
+ </template>
26
+
27
+ <script>
28
+ import { getConfigByName, runLogic } from '@vue2-client/services/api/common'
29
+
30
+ export default {
31
+ name: 'XInput',
32
+ inheritAttrs: false,
33
+ props: {
34
+ value: {
35
+ type: [String, Number],
36
+ default: ''
37
+ },
38
+ queryParamsName: {
39
+ type: String,
40
+ default: ''
41
+ }
42
+ },
43
+ data () {
44
+ return {
45
+ innerValue: this.value || '',
46
+ config: null
47
+ }
48
+ },
49
+ created () {
50
+ this.getData(this.queryParamsName)
51
+ },
52
+ emits: ['search'],
53
+ methods: {
54
+ runLogic,
55
+ async getData (data) {
56
+ getConfigByName(data, 'af-his', res => {
57
+ this.config = res
58
+ if (res.defaultValue !== undefined) {
59
+ this.innerValue = res.defaultValue
60
+ }
61
+ })
62
+ },
63
+ handleInput (e) {
64
+ const value = e.target.value
65
+ this.innerValue = value
66
+ this.$emit('search', value)
67
+ },
68
+ handleSearch () {
69
+ // 统一的搜索事件:将当前输入值发送给父组件
70
+ this.$emit('search', this.innerValue)
71
+ }
72
+ },
73
+ watch: {
74
+ value: {
75
+ handler (newValue) {
76
+ this.innerValue = newValue
77
+ },
78
+ immediate: true
79
+ },
80
+ queryParamsName: {
81
+ handler (newValue) {
82
+ this.getData(newValue)
83
+ },
84
+ deep: true
85
+ }
86
+ }
87
+ }
88
+ </script>
89
+
90
+ <style scoped>
91
+ .x-input-wrapper {
92
+ position: relative;
93
+ display: inline-block;
94
+ width: 100%;
95
+ }
96
+
97
+ .input-container {
98
+ display: flex;
99
+ align-items: center;
100
+ gap: 5px;
101
+ }
102
+
103
+ .input-label {
104
+ white-space: nowrap;
105
+ color: rgba(0, 0, 0, 0.85);
106
+ min-width: 30px;
107
+ }
108
+
109
+ :deep(.clickable-icon) {
110
+ cursor: pointer;
111
+ }
112
+
113
+ :deep(.clickable-icon:hover) {
114
+ color: #1890ff;
115
+ }
116
+ </style>
@@ -1,99 +1,126 @@
1
- <template>
2
- <div class="x-time-select">
3
- <a-range-picker
4
- :value="dateRange"
5
- :placeholder="['开始日期', '结束日期']"
6
- separator=""
7
- :disabled="disabled"
8
- :allowClear="allowClear"
9
- :format="format"
10
- @change="handleDateChange"
11
- />
12
- </div>
13
- </template>
14
-
15
- <script>
16
- import moment from 'moment'
17
-
18
- export default {
19
- name: 'XTimeSelect',
20
- props: {
21
- value: {
22
- type: Array,
23
- default: () => []
24
- },
25
- disabled: {
26
- type: Boolean,
27
- default: false
28
- },
29
- allowClear: {
30
- type: Boolean,
31
- default: true
32
- },
33
- format: {
34
- type: String,
35
- default: 'YYYY/MM/DD'
36
- }
37
- },
38
- data () {
39
- return {
40
- dateRange: []
41
- }
42
- },
43
- watch: {
44
- value: {
45
- handler (newVal) {
46
- if (newVal && newVal.length === 2) {
47
- this.dateRange = [
48
- newVal[0] ? moment(newVal[0]) : null,
49
- newVal[1] ? moment(newVal[1]) : null
50
- ]
51
- } else {
52
- this.dateRange = []
53
- }
54
- },
55
- immediate: true,
56
- deep: true
57
- }
58
- },
59
- methods: {
60
- handleDateChange (dates, dateStrings) {
61
- this.dateRange = dates
62
- console.warn(dateStrings)
63
- this.$emit('change', dateStrings)
64
- }
65
- }
66
- }
67
- </script>
68
-
69
- <style scoped>
70
- .x-time-select {
71
- position: relative;
72
- width: 100%;
73
- box-sizing: border-box;
74
- display: block;
75
- }
76
- .x-time-select :deep(.ant-picker-range),
77
- .x-time-select :deep(.ant-picker) {
78
- width: 100%;
79
- height: 30px;
80
- border-radius: 7px;
81
- background: #FFFFFF;
82
- border: 1px solid #E5E9F0;
83
- }
84
- .x-time-select :deep(.ant-calendar-picker) {
85
- width: 100%;
86
- display: block;
87
- }
88
- .x-time-select :deep(.ant-calendar-picker-input) {
89
- width: 100%;
90
- height: 30px;
91
- border-radius: 7px;
92
- background: #FFFFFF;
93
- border: 1px solid #E5E9F0;
94
- }
95
-
96
- .x-time-select :deep(.ant-input) {
97
- width: 100%;
98
- }
99
- </style>
1
+ <template>
2
+ <div class="x-time-select">
3
+ <div class="time-select-container">
4
+ <span v-if="label" class="time-select-label">{{ label }}</span>
5
+ <a-range-picker
6
+ :value="dateRange"
7
+ :placeholder="['开始日期', '结束日期']"
8
+ separator=""
9
+ :disabled="disabled"
10
+ :allowClear="allowClear"
11
+ :format="format"
12
+ @change="handleDateChange"
13
+ />
14
+ </div>
15
+ </div>
16
+ </template>
17
+
18
+ <script>
19
+ import moment from 'moment'
20
+
21
+ export default {
22
+ name: 'XTimeSelect',
23
+ props: {
24
+ queryParamsName: {
25
+ type: String,
26
+ default: null
27
+ },
28
+ value: {
29
+ type: Array,
30
+ default: () => []
31
+ },
32
+ disabled: {
33
+ type: Boolean,
34
+ default: false
35
+ },
36
+ allowClear: {
37
+ type: Boolean,
38
+ default: true
39
+ },
40
+ format: {
41
+ type: String,
42
+ default: 'YYYY/MM/DD'
43
+ }
44
+ },
45
+ data () {
46
+ return {
47
+ dateRange: [],
48
+ label: ''
49
+ }
50
+ },
51
+ watch: {
52
+ value: {
53
+ handler (newVal) {
54
+ if (newVal && newVal.length === 2) {
55
+ this.dateRange = [
56
+ newVal[0] ? moment(newVal[0]) : null,
57
+ newVal[1] ? moment(newVal[1]) : null
58
+ ]
59
+ } else {
60
+ this.dateRange = []
61
+ }
62
+ },
63
+ immediate: true,
64
+ deep: true
65
+ }
66
+ },
67
+ created () {
68
+ this.getData(this.queryParamsName)
69
+ },
70
+ methods: {
71
+ handleDateChange (dates, dateStrings) {
72
+ this.dateRange = dates
73
+ console.warn(dateStrings)
74
+ this.$emit('change', dateStrings)
75
+ },
76
+ getData (data) {
77
+ this.label = data
78
+ }
79
+ }
80
+ }
81
+ </script>
82
+
83
+ <style scoped>
84
+ .x-time-select {
85
+ position: relative;
86
+ width: 100%;
87
+ box-sizing: border-box;
88
+ display: block;
89
+ }
90
+
91
+ .time-select-container {
92
+ display: flex;
93
+ align-items: center;
94
+ gap: 4px;
95
+ }
96
+
97
+ .time-select-label {
98
+ white-space: nowrap;
99
+ color: rgba(0, 0, 0, 0.85);
100
+ min-width: 30px;
101
+ }
102
+
103
+ .x-time-select :deep(.ant-picker-range),
104
+ .x-time-select :deep(.ant-picker) {
105
+ width: 100%;
106
+ height: 30px;
107
+ border-radius: 7px;
108
+ background: #FFFFFF;
109
+ border: 1px solid #E5E9F0;
110
+ }
111
+ .x-time-select :deep(.ant-calendar-picker) {
112
+ width: 100%;
113
+ display: block;
114
+ }
115
+ .x-time-select :deep(.ant-calendar-picker-input) {
116
+ width: 100%;
117
+ height: 30px;
118
+ border-radius: 7px;
119
+ background: #FFFFFF;
120
+ border: 1px solid #E5E9F0;
121
+ }
122
+
123
+ .x-time-select :deep(.ant-input) {
124
+ width: 100%;
125
+ }
126
+ </style>
@@ -53,6 +53,7 @@ routerResource.example = {
53
53
  path: 'example',
54
54
  name: '示例主页面',
55
55
  // component: () => import('@vue2-client/base-client/components/his/XTimeSelect/XTimeSelect.vue'),
56
+ component: () => import('@vue2-client/base-client/components/common/XInput/XInput.vue'),
56
57
  // component: () => import('@vue2-client/base-client/components/his/XTitle/XTitle.vue'),
57
58
  // component: () => import('@vue2-client/base-client/components/his/XSelect/XSelect.vue'),
58
59
  // component: () => import('@vue2-client/base-client/components/his/XRadio/XRadio.vue'),
@@ -78,7 +79,7 @@ routerResource.example = {
78
79
  // component: () => import('@vue2-client/components/g2Charts/demo.vue'),
79
80
  // component: () => import('@vue2-client/pages/LogicCallExample/index.vue'),
80
81
  // component: () => import('@vue2-client/components/FilePreview/FilePreviewDemo.vue'),
81
- component: () => import('@vue2-client/pages/ReportGrid/index.vue')
82
+ // component: () => import('@vue2-client/pages/ReportGrid/index.vue')
82
83
  }
83
84
  // routerResource.example = () =>
84
85
  // import('@vue2-client/pages/Example')