vue2-client 1.20.76 → 1.20.78

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.
Files changed (95) hide show
  1. package/.claude/settings.local.json +30 -30
  2. package/.eslintrc.js +74 -74
  3. package/.idea/git_toolbox_blame.xml +6 -0
  4. package/.idea/git_toolbox_prj.xml +15 -0
  5. package/.idea/inspectionProfiles/Project_Default.xml +0 -18
  6. package/.idea/modules.xml +1 -1
  7. package/Components.md +60 -60
  8. package/index.js +31 -31
  9. package/jest-transform-stub.js +8 -8
  10. package/jest.setup.js +7 -7
  11. package/package.json +1 -1
  12. package/src/assets/img/querySlotDemo.svg +15 -15
  13. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  14. package/src/base-client/components/common/CitySelect/index.js +3 -3
  15. package/src/base-client/components/common/CitySelect/index.md +109 -109
  16. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  17. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  18. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  19. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  20. package/src/base-client/components/common/Tree/index.js +2 -2
  21. package/src/base-client/components/common/Upload/index.js +3 -3
  22. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  23. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  24. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  25. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  26. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  27. package/src/base-client/components/common/XDescriptions/XDescriptionsGroup.vue +673 -673
  28. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  29. package/src/base-client/components/common/XDescriptions/index.md +382 -382
  30. package/src/base-client/components/common/XForm/XFormItem.vue +6 -0
  31. package/src/base-client/components/common/XForm/index.md +178 -178
  32. package/src/base-client/components/common/XFormTable/demo.vue +17 -1
  33. package/src/base-client/components/common/XReportGrid/XReport.vue +1288 -1286
  34. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  35. package/src/base-client/components/common/XStepView/index.js +3 -3
  36. package/src/base-client/components/common/XStepView/index.md +31 -31
  37. package/src/base-client/components/common/XTable/XTableWrapper.vue +1 -1
  38. package/src/base-client/components/common/XTable/index.md +255 -255
  39. package/src/base-client/components/his/XTitle/README.md +110 -113
  40. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  41. package/src/base-client/plugins/Config.js +19 -19
  42. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  43. package/src/components/Charts/Bar.vue +62 -62
  44. package/src/components/Charts/ChartCard.vue +134 -134
  45. package/src/components/Charts/Liquid.vue +67 -67
  46. package/src/components/Charts/MiniArea.vue +39 -39
  47. package/src/components/Charts/MiniBar.vue +39 -39
  48. package/src/components/Charts/MiniProgress.vue +75 -75
  49. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  50. package/src/components/Charts/Radar.vue +68 -68
  51. package/src/components/Charts/RankList.vue +77 -77
  52. package/src/components/Charts/TagCloud.vue +113 -113
  53. package/src/components/Charts/TransferBar.vue +64 -64
  54. package/src/components/Charts/Trend.vue +82 -82
  55. package/src/components/Charts/chart.less +12 -12
  56. package/src/components/Charts/smooth.area.less +13 -13
  57. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  58. package/src/components/NumberInfo/index.js +3 -3
  59. package/src/components/NumberInfo/index.less +54 -54
  60. package/src/components/NumberInfo/index.md +43 -43
  61. package/src/components/STable/index.js +3 -3
  62. package/src/components/card/ChartCard.vue +79 -79
  63. package/src/components/chart/Bar.vue +60 -60
  64. package/src/components/chart/MiniArea.vue +67 -67
  65. package/src/components/chart/MiniBar.vue +59 -59
  66. package/src/components/chart/MiniProgress.vue +57 -57
  67. package/src/components/chart/Radar.vue +80 -80
  68. package/src/components/chart/RankingList.vue +60 -60
  69. package/src/components/chart/Trend.vue +79 -79
  70. package/src/components/chart/index.less +9 -9
  71. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  72. package/src/components/input/IInput.vue +66 -66
  73. package/src/components/menu/SideMenu.vue +75 -75
  74. package/src/components/menu/menu.js +273 -273
  75. package/src/components/tool/AStepItem.vue +60 -60
  76. package/src/layouts/CommonLayout.vue +56 -56
  77. package/src/lib.js +1 -1
  78. package/src/mock/extend/index.js +84 -84
  79. package/src/mock/goods/index.js +108 -108
  80. package/src/pages/ReportGrid/index.vue +80 -76
  81. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  82. package/src/pages/system/dictionary/index.vue +44 -44
  83. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  84. package/src/pages/system/monitor/operLog/index.vue +37 -37
  85. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +1 -2
  86. package/src/router/async/router.map.js +140 -140
  87. package/src/services/api/cas.js +79 -79
  88. package/src/store/modules/setting.js +119 -119
  89. package/src/utils/errorCode.js +6 -6
  90. package/vue.config.js +4 -4
  91. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
  92. package/.idea/MarsCodeWorkspaceAppSettings.xml +0 -7
  93. package/.idea/google-java-format.xml +0 -6
  94. package/.vscode/settings.json +0 -28
  95. /package/.idea/{vue2-client.iml → af-vue2-client.iml} +0 -0
@@ -1,56 +1,56 @@
1
- <template>
2
- <div class="common-layout">
3
- <div class="top"><a class="clearCacheBtn" @click="clearCache">清除缓存</a></div>
4
- <div class="content"><slot></slot></div>
5
- <page-footer :link-list="footerLinks" :copyright="copyright" :copyrightStyle="copyrightStyle"></page-footer>
6
- </div>
7
- </template>
8
-
9
- <script>
10
- import PageFooter from '@vue2-client/layouts/footer/PageFooter'
11
- import { mapState } from 'vuex'
12
- import { indexedDB } from '@vue2-client/utils/indexedDB'
13
-
14
- export default {
15
- name: 'CommonLayout',
16
- components: { PageFooter },
17
- computed: {
18
- ...mapState('setting', ['footerLinks', 'copyright', 'copyrightStyle'])
19
- },
20
- methods: {
21
- clearCache () {
22
- indexedDB.clearCache()
23
- }
24
- }
25
- }
26
- </script>
27
-
28
- <style scoped lang="less">
29
- .common-layout{
30
- display: flex;
31
- flex-direction: column;
32
- height: 100vh;
33
- overflow: auto;
34
- background-color: @layout-body-background;
35
- background-image: url('https://gw.alipayobjects.com/zos/rmsportal/TVYTbAXWheQpRcWDaDMu.svg');
36
- background-repeat: no-repeat;
37
- background-position-x: center;
38
- background-position-y: 110px;
39
- background-size: 100%;
40
- .top {
41
- padding: 5px 10px;
42
- text-align: right;
43
- .clearCacheBtn {
44
- color: #fff !important;
45
- }
46
- }
47
- .content{
48
- padding: 32px 0;
49
- flex: 1;
50
- @media (min-width: 768px){
51
-
52
- padding: 112px 0 24px;
53
- }
54
- }
55
- }
56
- </style>
1
+ <template>
2
+ <div class="common-layout">
3
+ <div class="top"><a class="clearCacheBtn" @click="clearCache">清除缓存</a></div>
4
+ <div class="content"><slot></slot></div>
5
+ <page-footer :link-list="footerLinks" :copyright="copyright" :copyrightStyle="copyrightStyle"></page-footer>
6
+ </div>
7
+ </template>
8
+
9
+ <script>
10
+ import PageFooter from '@vue2-client/layouts/footer/PageFooter'
11
+ import { mapState } from 'vuex'
12
+ import { indexedDB } from '@vue2-client/utils/indexedDB'
13
+
14
+ export default {
15
+ name: 'CommonLayout',
16
+ components: { PageFooter },
17
+ computed: {
18
+ ...mapState('setting', ['footerLinks', 'copyright', 'copyrightStyle'])
19
+ },
20
+ methods: {
21
+ clearCache () {
22
+ indexedDB.clearCache()
23
+ }
24
+ }
25
+ }
26
+ </script>
27
+
28
+ <style scoped lang="less">
29
+ .common-layout{
30
+ display: flex;
31
+ flex-direction: column;
32
+ height: 100vh;
33
+ overflow: auto;
34
+ background-color: @layout-body-background;
35
+ background-image: url('https://gw.alipayobjects.com/zos/rmsportal/TVYTbAXWheQpRcWDaDMu.svg');
36
+ background-repeat: no-repeat;
37
+ background-position-x: center;
38
+ background-position-y: 110px;
39
+ background-size: 100%;
40
+ .top {
41
+ padding: 5px 10px;
42
+ text-align: right;
43
+ .clearCacheBtn {
44
+ color: #fff !important;
45
+ }
46
+ }
47
+ .content{
48
+ padding: 32px 0;
49
+ flex: 1;
50
+ @media (min-width: 768px){
51
+
52
+ padding: 112px 0 24px;
53
+ }
54
+ }
55
+ }
56
+ </style>
package/src/lib.js CHANGED
@@ -1 +1 @@
1
- console.log('进入模块')
1
+ console.log('进入模块')
@@ -1,84 +1,84 @@
1
- import Mock from 'mockjs'
2
- import { logos, sayings, positions, avatars, admins } from '../common'
3
-
4
- const Random = Mock.Random
5
-
6
- const timeList = [
7
- {
8
- CN: '早上好',
9
- HK: '早晨啊',
10
- US: 'Good morning'
11
- }, {
12
- CN: '上午好',
13
- HK: '上午好',
14
- US: 'Good morning'
15
- }, {
16
- CN: '中午好',
17
- HK: '中午好',
18
- US: 'Good afternoon'
19
- }, {
20
- CN: '下午好',
21
- HK: '下午好',
22
- US: 'Good afternoon'
23
- }, {
24
- CN: '晚上好',
25
- HK: '晚上好',
26
- US: 'Good evening'
27
- }
28
- ]
29
-
30
- const welcomeMessages = [
31
- {
32
- CN: '休息一会儿吧',
33
- HK: '休息一會兒吧',
34
- US: 'you may need a break'
35
- },
36
- {
37
- CN: '准备吃什么呢',
38
- HK: '準備吃什麼呢',
39
- US: 'what are you going to eat'
40
- },
41
- {
42
- CN: '要不要打一把 LOL',
43
- HK: '要不要打一把 LOL',
44
- US: 'how about a game of DOTA'
45
- },
46
- {
47
- CN: '我猜你可能累了',
48
- HK: '我猜你可能累了',
49
- US: 'i guess you might be tired'
50
- }
51
- ]
52
-
53
- const goods = ['运动鞋', '短裤', 'T恤', '七分裤', '风衣', '寸衫']
54
-
55
- Random.extend({
56
- admin () {
57
- return this.pick(admins)
58
- },
59
- welcome () {
60
- return this.pick(welcomeMessages)
61
- },
62
- timeFix () {
63
- const time = new Date()
64
- const hour = time.getHours()
65
- return hour < 9
66
- ? timeList[0]
67
- : (hour <= 11 ? timeList[1] : (hour <= 13 ? timeList[2] : (hour <= 20 ? timeList[3] : timeList[4])))
68
- },
69
- avatar () {
70
- return this.pick(avatars)
71
- },
72
- position () {
73
- return this.pick(positions)
74
- },
75
- goods () {
76
- return this.pick(goods)
77
- },
78
- saying () {
79
- return this.pick(sayings)
80
- },
81
- logo () {
82
- return this.pick(logos)
83
- }
84
- })
1
+ import Mock from 'mockjs'
2
+ import { logos, sayings, positions, avatars, admins } from '../common'
3
+
4
+ const Random = Mock.Random
5
+
6
+ const timeList = [
7
+ {
8
+ CN: '早上好',
9
+ HK: '早晨啊',
10
+ US: 'Good morning'
11
+ }, {
12
+ CN: '上午好',
13
+ HK: '上午好',
14
+ US: 'Good morning'
15
+ }, {
16
+ CN: '中午好',
17
+ HK: '中午好',
18
+ US: 'Good afternoon'
19
+ }, {
20
+ CN: '下午好',
21
+ HK: '下午好',
22
+ US: 'Good afternoon'
23
+ }, {
24
+ CN: '晚上好',
25
+ HK: '晚上好',
26
+ US: 'Good evening'
27
+ }
28
+ ]
29
+
30
+ const welcomeMessages = [
31
+ {
32
+ CN: '休息一会儿吧',
33
+ HK: '休息一會兒吧',
34
+ US: 'you may need a break'
35
+ },
36
+ {
37
+ CN: '准备吃什么呢',
38
+ HK: '準備吃什麼呢',
39
+ US: 'what are you going to eat'
40
+ },
41
+ {
42
+ CN: '要不要打一把 LOL',
43
+ HK: '要不要打一把 LOL',
44
+ US: 'how about a game of DOTA'
45
+ },
46
+ {
47
+ CN: '我猜你可能累了',
48
+ HK: '我猜你可能累了',
49
+ US: 'i guess you might be tired'
50
+ }
51
+ ]
52
+
53
+ const goods = ['运动鞋', '短裤', 'T恤', '七分裤', '风衣', '寸衫']
54
+
55
+ Random.extend({
56
+ admin () {
57
+ return this.pick(admins)
58
+ },
59
+ welcome () {
60
+ return this.pick(welcomeMessages)
61
+ },
62
+ timeFix () {
63
+ const time = new Date()
64
+ const hour = time.getHours()
65
+ return hour < 9
66
+ ? timeList[0]
67
+ : (hour <= 11 ? timeList[1] : (hour <= 13 ? timeList[2] : (hour <= 20 ? timeList[3] : timeList[4])))
68
+ },
69
+ avatar () {
70
+ return this.pick(avatars)
71
+ },
72
+ position () {
73
+ return this.pick(positions)
74
+ },
75
+ goods () {
76
+ return this.pick(goods)
77
+ },
78
+ saying () {
79
+ return this.pick(sayings)
80
+ },
81
+ logo () {
82
+ return this.pick(logos)
83
+ }
84
+ })
@@ -1,108 +1,108 @@
1
- import Mock from 'mockjs'
2
- import '@vue2-client/mock/extend'
3
- import { parseUrlParams } from '@vue2-client/utils/request'
4
-
5
- const current = new Date().getTime()
6
-
7
- const goodsList = Mock.mock({
8
- 'list|100': [{
9
- 'id|+1': 0,
10
- name: '@GOODS',
11
- orderId: `${current}-@integer(1,100)`,
12
- 'status|1-4': 1,
13
- send: '@BOOLEAN',
14
- sendTime: '@DATETIME',
15
- orderDate: '@DATE',
16
- auditTime: '@TIME'
17
- }]
18
- })
19
-
20
- Mock.mock(RegExp(`${process.env.VUE_APP_API_BASE_URL}/goods` + '.*'), 'get', ({ url }) => {
21
- const params = parseUrlParams(decodeURI(url))
22
- let { page, pageSize } = params
23
- // eslint-disable-next-line no-eval
24
- page = eval(page) - 1 || 0
25
- // eslint-disable-next-line no-eval
26
- pageSize = eval(pageSize) || 10
27
- delete params.page
28
- delete params.pageSize
29
- let result = goodsList.list.filter(item => {
30
- for (const [key, value] of Object.entries(params)) {
31
- if (item[key] !== value) {
32
- return false
33
- }
34
- }
35
- return true
36
- })
37
- const total = result.length
38
- if ((page) * pageSize > total) {
39
- result = []
40
- } else {
41
- result = result.slice(page * pageSize, (page + 1) * pageSize)
42
- }
43
- return {
44
- code: 0,
45
- message: 'success',
46
- data: {
47
- page: page + 1,
48
- pageSize,
49
- total,
50
- list: result
51
- }
52
- }
53
- })
54
-
55
- const columnsConfig = [
56
- {
57
- title: '商品名称',
58
- dataIndex: 'name',
59
- searchAble: true
60
- },
61
- {
62
- title: '订单号',
63
- dataIndex: 'orderId'
64
- },
65
- {
66
- searchAble: true,
67
- dataIndex: 'status',
68
- dataType: 'select',
69
- slots: { title: 'statusTitle' },
70
- scopedSlots: { customRender: 'status' },
71
- search: {
72
- selectOptions: [
73
- { title: '已下单', value: 1 },
74
- { title: '已付款', value: 2 },
75
- { title: '已审核', value: 3 }
76
- // {title: '已发货', value: 4}
77
- ]
78
- }
79
- },
80
- {
81
- title: '发货',
82
- searchAble: true,
83
- dataIndex: 'send',
84
- dataType: 'boolean',
85
- scopedSlots: { customRender: 'send' }
86
- },
87
- {
88
- title: '发货时间',
89
- dataIndex: 'sendTime',
90
- dataType: 'datetime'
91
- },
92
- {
93
- title: '下单日期',
94
- searchAble: true,
95
- dataIndex: 'orderDate',
96
- dataType: 'date',
97
- visible: false
98
- },
99
- {
100
- title: '审核时间',
101
- dataIndex: 'auditTime',
102
- dataType: 'time'
103
- }
104
- ]
105
-
106
- Mock.mock(`${process.env.VUE_APP_API_BASE_URL}/columns`, 'get', () => {
107
- return columnsConfig
108
- })
1
+ import Mock from 'mockjs'
2
+ import '@vue2-client/mock/extend'
3
+ import { parseUrlParams } from '@vue2-client/utils/request'
4
+
5
+ const current = new Date().getTime()
6
+
7
+ const goodsList = Mock.mock({
8
+ 'list|100': [{
9
+ 'id|+1': 0,
10
+ name: '@GOODS',
11
+ orderId: `${current}-@integer(1,100)`,
12
+ 'status|1-4': 1,
13
+ send: '@BOOLEAN',
14
+ sendTime: '@DATETIME',
15
+ orderDate: '@DATE',
16
+ auditTime: '@TIME'
17
+ }]
18
+ })
19
+
20
+ Mock.mock(RegExp(`${process.env.VUE_APP_API_BASE_URL}/goods` + '.*'), 'get', ({ url }) => {
21
+ const params = parseUrlParams(decodeURI(url))
22
+ let { page, pageSize } = params
23
+ // eslint-disable-next-line no-eval
24
+ page = eval(page) - 1 || 0
25
+ // eslint-disable-next-line no-eval
26
+ pageSize = eval(pageSize) || 10
27
+ delete params.page
28
+ delete params.pageSize
29
+ let result = goodsList.list.filter(item => {
30
+ for (const [key, value] of Object.entries(params)) {
31
+ if (item[key] !== value) {
32
+ return false
33
+ }
34
+ }
35
+ return true
36
+ })
37
+ const total = result.length
38
+ if ((page) * pageSize > total) {
39
+ result = []
40
+ } else {
41
+ result = result.slice(page * pageSize, (page + 1) * pageSize)
42
+ }
43
+ return {
44
+ code: 0,
45
+ message: 'success',
46
+ data: {
47
+ page: page + 1,
48
+ pageSize,
49
+ total,
50
+ list: result
51
+ }
52
+ }
53
+ })
54
+
55
+ const columnsConfig = [
56
+ {
57
+ title: '商品名称',
58
+ dataIndex: 'name',
59
+ searchAble: true
60
+ },
61
+ {
62
+ title: '订单号',
63
+ dataIndex: 'orderId'
64
+ },
65
+ {
66
+ searchAble: true,
67
+ dataIndex: 'status',
68
+ dataType: 'select',
69
+ slots: { title: 'statusTitle' },
70
+ scopedSlots: { customRender: 'status' },
71
+ search: {
72
+ selectOptions: [
73
+ { title: '已下单', value: 1 },
74
+ { title: '已付款', value: 2 },
75
+ { title: '已审核', value: 3 }
76
+ // {title: '已发货', value: 4}
77
+ ]
78
+ }
79
+ },
80
+ {
81
+ title: '发货',
82
+ searchAble: true,
83
+ dataIndex: 'send',
84
+ dataType: 'boolean',
85
+ scopedSlots: { customRender: 'send' }
86
+ },
87
+ {
88
+ title: '发货时间',
89
+ dataIndex: 'sendTime',
90
+ dataType: 'datetime'
91
+ },
92
+ {
93
+ title: '下单日期',
94
+ searchAble: true,
95
+ dataIndex: 'orderDate',
96
+ dataType: 'date',
97
+ visible: false
98
+ },
99
+ {
100
+ title: '审核时间',
101
+ dataIndex: 'auditTime',
102
+ dataType: 'time'
103
+ }
104
+ ]
105
+
106
+ Mock.mock(`${process.env.VUE_APP_API_BASE_URL}/columns`, 'get', () => {
107
+ return columnsConfig
108
+ })
@@ -1,76 +1,80 @@
1
- <template>
2
- <div id="test" v-if="showReport">
3
- <XReport
4
- @updateImg="updateImg"
5
- ref="main"
6
- :use-oss-for-img="false"
7
- config-name="outpatientWait"
8
- server-name="af-his"
9
- :show-img-in-cell="true"
10
- :display-only="displayOnly"
11
- :edit-mode="false"
12
- :show-save-button="false"
13
- :dont-format="true"/>
14
- </div>
15
- </template>
16
-
17
- <script>
18
- import XReport from '@vue2-client/base-client/components/common/XReportGrid/XReport'
19
- // eslint-disable-next-line no-unused-vars
20
- import { exportHTMLNodeToPDF } from '@vue2-client/utils/htmlToPDFApi'
21
-
22
- export default {
23
- name: 'Example',
24
- components: {
25
- XReport
26
- },
27
- mounted () {
28
- console.log(this.$route)
29
- },
30
- data () {
31
- return {
32
- test: {
33
- title: {
34
- type: 'titleKey',
35
- value: 'f_type'
36
- },
37
- designMode: 'json',
38
- },
39
- total: 1,
40
- registerMap: [],
41
- displayOnly: true,
42
- showReport: true
43
- }
44
- },
45
- methods: {
46
- updateImg (data) {
47
- console.warn('demo', data)
48
- },
49
- testExport () {
50
- this.showReport = false
51
- this.displayOnly = true
52
- this.$nextTick(() => {
53
- this.showReport = true
54
- setTimeout(() => {
55
- exportHTMLNodeToPDF('123', '#test')
56
- this.showReport = false
57
- this.displayOnly = false
58
- this.$nextTick(() => {
59
- this.showReport = true
60
- })
61
- }, 500)
62
- })
63
- },
64
- testSave () {
65
- const result = []
66
- this.registerMap.forEach(item => {
67
- result.push(item.exportData())
68
- })
69
- console.warn('save', result)
70
- }
71
- }
72
- }
73
- </script>
74
- <style scoped>
75
-
76
- </style>
1
+ <template>
2
+ <div id="test" v-if="showReport">
3
+ <XReport
4
+ @updateImg="updateImg"
5
+ ref="main"
6
+ :use-oss-for-img="false"
7
+ config-name="outpatientMedicationDispensingMainCover"
8
+ server-name="af-his"
9
+ :show-img-in-cell="true"
10
+ :display-only="displayOnly"
11
+ :edit-mode="false"
12
+ :show-save-button="false"
13
+ :dont-format="true"/>
14
+ <button @click="clickButton()"></button>
15
+ </div>
16
+ </template>
17
+
18
+ <script>
19
+ import XReport from '@vue2-client/base-client/components/common/XReportGrid/XReport'
20
+ // eslint-disable-next-line no-unused-vars
21
+ import { exportHTMLNodeToPDF } from '@vue2-client/utils/htmlToPDFApi'
22
+
23
+ export default {
24
+ name: 'Example',
25
+ components: {
26
+ XReport
27
+ },
28
+ mounted () {
29
+ console.log(this.$route)
30
+ },
31
+ data () {
32
+ return {
33
+ test: {
34
+ title: {
35
+ type: 'titleKey',
36
+ value: 'f_type'
37
+ },
38
+ designMode: 'json',
39
+ },
40
+ total: 1,
41
+ registerMap: [],
42
+ displayOnly: true,
43
+ showReport: true
44
+ }
45
+ },
46
+ methods: {
47
+ updateImg (data) {
48
+ console.warn('demo', data)
49
+ },
50
+ testExport () {
51
+ this.showReport = false
52
+ this.displayOnly = true
53
+ this.$nextTick(() => {
54
+ this.showReport = true
55
+ setTimeout(() => {
56
+ exportHTMLNodeToPDF('123', '#test')
57
+ this.showReport = false
58
+ this.displayOnly = false
59
+ this.$nextTick(() => {
60
+ this.showReport = true
61
+ })
62
+ }, 500)
63
+ })
64
+ },
65
+ testSave () {
66
+ const result = []
67
+ this.registerMap.forEach(item => {
68
+ result.push(item.exportData())
69
+ })
70
+ console.warn('save', result)
71
+ },
72
+ clickButton () {
73
+ this.findComponentByName(this, 'aaa', 10, 'parent')
74
+ }
75
+ }
76
+ }
77
+ </script>
78
+ <style scoped>
79
+
80
+ </style>