vue2-client 1.16.57 → 1.16.59

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,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.16.57",
3
+ "version": "1.16.59",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
@@ -409,7 +409,7 @@ defineExpose({
409
409
  &.t-tab-ant-tabs-bar-left0 {
410
410
  :deep(.ant-tabs-bar) {
411
411
  border-bottom: 2px solid #0057FE;
412
- margin: 20px 0px 0 4px;
412
+ margin: 20px 0px 0 0px;
413
413
  }
414
414
  }
415
415
  }
@@ -2,14 +2,8 @@
2
2
  <a-card :bordered="false">
3
3
  <x-form-table
4
4
  title="示例表单"
5
- :queryParamsName="queryParamsName"
6
- :fixedAddForm="fixedAddForm"
7
- :x-tree-config-name="xTreeConfigName"
8
- :externalSelectedRowKeys="selectedKeys"
9
- @action="action"
10
- @selectRow="selectRow"
11
- @columnClick="columnClick"
12
- serviceName="af-revenue"
5
+ queryParamsName="ceshiCRUD"
6
+ serviceName="af-linepatrol"
13
7
  ref="xFormTable">
14
8
  </x-form-table>
15
9
  </a-card>
@@ -17,7 +11,6 @@
17
11
 
18
12
  <script>
19
13
  import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable.vue'
20
- import { microDispatch } from '@vue2-client/utils/microAppUtils'
21
14
 
22
15
  export default {
23
16
  name: 'Demo',
@@ -27,9 +20,9 @@ export default {
27
20
  data () {
28
21
  return {
29
22
  // 查询配置文件名
30
- queryParamsName: 'address_management',
23
+ queryParamsName: 'ceshiCRUD',
31
24
  // 查询配置左侧tree
32
- xTreeConfigName: 'addressType',
25
+ xTreeConfigName: '',
33
26
  // 新增表单固定值
34
27
  fixedAddForm: {},
35
28
  // 是否显示详情抽屉
@@ -45,41 +38,6 @@ export default {
45
38
  }
46
39
  },
47
40
  methods: {
48
- test () {
49
- this.$refs.xFormTable.setTableData([])
50
- },
51
- defaultF () {
52
- this.$refs.xFormTable.setTableSize('default')
53
- },
54
- middleF () {
55
- this.$refs.xFormTable.setTableSize('middle')
56
- },
57
- smallF () {
58
- this.$refs.xFormTable.setTableSize('small')
59
- },
60
- columnClick (key, value, record) {
61
- microDispatch({
62
- type: 'v3route',
63
- path: '/bingliguanli/dianzibingliluru',
64
- props: { selected: arguments[0].his_f_admission_id }
65
- })
66
- },
67
- action (record, id, actionType) {
68
- this.detailVisible = true
69
- console.log('触发了详情操作', record, id, actionType)
70
- },
71
- onClose () {
72
- this.detailVisible = false
73
- // 关闭详情之后重新查询表单
74
- this.$refs.xFormTable.refreshTable(true)
75
- },
76
- selectRow (selectedRowKeys, selectedRows) {
77
- this.selected = {
78
- keys: selectedRowKeys,
79
- rows: selectedRows
80
- }
81
- console.log('selectedDemo', this.selected)
82
- },
83
41
  },
84
42
  computed: {},
85
43
  }
@@ -1,186 +1,186 @@
1
- // print.js
2
-
3
- export function printElement (elementToPrint) {
4
- // 创建一个新的浏览器窗口
5
- const printWindow = window.open('', '_blank', 'height=1024,width=768')
6
- // 设置新窗口的文档内容
7
- printWindow.document.write(`
8
- <html>
9
- <head>
10
- <title>Print</title>
11
- <style>
12
- @page {
13
- size: auto;
14
- margin: 0mm;
15
- }
16
- html, body {
17
- margin: 0;
18
- padding: 0;
19
- width: 100%;
20
- height: 100%;
21
- }
22
- #print-container {
23
- display: none
24
- }
25
- .img{
26
- width: 95%;
27
- height: 180px;
28
- object-fit: cover;
29
- }
30
- .reportMain {
31
- text-align: center;
32
- margin: 0 auto;
33
- font-size: 16px;
34
- color: #000;
35
- background-color: #fff;
36
- padding: 15px;
37
- border-radius: 8px;
38
-
39
- .reportTitle {
40
- font-weight: bold;
41
- }
42
-
43
- .subTitle {
44
- display: flex;
45
- justify-content: space-between;
46
- margin-bottom: 1%;
47
-
48
- .subTitleItems {
49
- max-width: 30%;
50
- }
51
- }
52
-
53
- .inputsDiv {
54
- display: flex;
55
- justify-content: space-between;
56
- .inputsDivItem {
57
- display: flex;
58
- align-items: center;
59
- padding: 0 4px;
60
- white-space: nowrap;
61
- .inputsDivItemLabel {
62
- padding: 0 4px;
63
- }
64
- }
65
- }
66
-
67
- .reportTable {
68
- width: 100%;
69
- border-collapse: collapse;
70
- table-layout:fixed;
71
- word-break:break-all;
72
- text-align: center;
73
- }
74
- }
75
- .reportMainForDisplay {
76
- text-align: center;
77
- margin: 10% auto;
78
- font-size: 16px;
79
- color: #000;
80
- background-color: #fff;
81
- padding: 15px;
82
- border-radius: 8px;
83
-
84
- .reportTitle {
85
- font-weight: bold;
86
- }
87
-
88
- .subTitle {
89
- display: flex;
90
- justify-content: space-between;
91
-
92
- .subTitleItems {
93
- max-width: 30%;
94
- }
95
- }
96
-
97
- .inputsDiv {
98
- display: flex;
99
- justify-content: space-around;
100
- .inputsDivItem {
101
- display: flex;
102
- align-items: center;
103
- padding: 0 4px;
104
- white-space: nowrap;
105
- .inputsDivItemLabel {
106
- padding: 0 4px;
107
- }
108
- }
109
- }
110
-
111
- .reportTable {
112
- width: 100%;
113
- border-collapse: collapse;
114
- table-layout:fixed;
115
- word-break:break-all;
116
- }
117
- }
118
- .reportMainNoPadding {
119
- text-align: center;
120
- margin: 0 auto;
121
- font-size: 16px;
122
- color: #000;
123
- background-color: #fff;
124
- border-radius: 8px;
125
-
126
- .reportTitle {
127
- font-weight: bold;
128
- }
129
-
130
- .subTitle {
131
- display: flex;
132
- justify-content: space-between;
133
-
134
- .subTitleItems {
135
- max-width: 30%;
136
- }
137
- }
138
-
139
- .inputsDiv {
140
- display: flex;
141
- justify-content: space-between;
142
- .inputsDivItem {
143
- display: flex;
144
- align-items: center;
145
- padding: 0 4px;
146
- white-space: nowrap;
147
- .inputsDivItemLabel {
148
- padding: 0 4px;
149
- }
150
- }
151
- }
152
-
153
- .reportTable {
154
- width: 100%;
155
- border-collapse: collapse;
156
- table-layout:fixed;
157
- word-break:break-all;
158
- }
159
- }
160
- .tools{
161
- position: fixed;
162
- right: 2%;
163
- text-align: right;
164
- width: 60%;
165
- cursor: pointer;
166
- .toolsItem{
167
- width: 15%;
168
- margin-right: 3%;
169
- display: inline-block;
170
- }
171
- }
172
- </style>
173
- </head>
174
- <body>
175
- <!-- 将需要打印的元素内容复制到新窗口中 -->
176
- ${elementToPrint.innerHTML}
177
- </body>
178
- </html>
179
- `)
180
- // 延迟执行打印,以确保新窗口的内容已加载完成
181
- printWindow.document.close() // 关闭文档流,确保内容完全加载
182
- setTimeout(() => {
183
- printWindow.print() // 调用打印方法
184
- printWindow.close()
185
- }, 500) // 延迟500毫秒后执行打印
186
- }
1
+ // print.js
2
+
3
+ export function printElement (elementToPrint) {
4
+ // 创建一个新的浏览器窗口
5
+ const printWindow = window.open('', '_blank', 'height=1024,width=768')
6
+ // 设置新窗口的文档内容
7
+ printWindow.document.write(`
8
+ <html>
9
+ <head>
10
+ <title>Print</title>
11
+ <style>
12
+ @page {
13
+ size: auto;
14
+ margin: 0mm;
15
+ }
16
+ html, body {
17
+ margin: 0;
18
+ padding: 0;
19
+ width: 100%;
20
+ height: 100%;
21
+ }
22
+ #print-container {
23
+ display: none
24
+ }
25
+ .img{
26
+ width: 95%;
27
+ height: 180px;
28
+ object-fit: cover;
29
+ }
30
+ .reportMain {
31
+ text-align: center;
32
+ margin: 0 auto;
33
+ font-size: 16px;
34
+ color: #000;
35
+ background-color: #fff;
36
+ padding: 15px;
37
+ border-radius: 8px;
38
+
39
+ .reportTitle {
40
+ font-weight: bold;
41
+ }
42
+
43
+ .subTitle {
44
+ display: flex;
45
+ justify-content: space-between;
46
+ margin-bottom: 1%;
47
+
48
+ .subTitleItems {
49
+ max-width: 30%;
50
+ }
51
+ }
52
+
53
+ .inputsDiv {
54
+ display: flex;
55
+ justify-content: space-between;
56
+ .inputsDivItem {
57
+ display: flex;
58
+ align-items: center;
59
+ padding: 0 4px;
60
+ white-space: nowrap;
61
+ .inputsDivItemLabel {
62
+ padding: 0 4px;
63
+ }
64
+ }
65
+ }
66
+
67
+ .reportTable {
68
+ width: 100%;
69
+ border-collapse: collapse;
70
+ table-layout:fixed;
71
+ word-break:break-all;
72
+ text-align: center;
73
+ }
74
+ }
75
+ .reportMainForDisplay {
76
+ text-align: center;
77
+ margin: 10% auto;
78
+ font-size: 16px;
79
+ color: #000;
80
+ background-color: #fff;
81
+ padding: 15px;
82
+ border-radius: 8px;
83
+
84
+ .reportTitle {
85
+ font-weight: bold;
86
+ }
87
+
88
+ .subTitle {
89
+ display: flex;
90
+ justify-content: space-between;
91
+
92
+ .subTitleItems {
93
+ max-width: 30%;
94
+ }
95
+ }
96
+
97
+ .inputsDiv {
98
+ display: flex;
99
+ justify-content: space-around;
100
+ .inputsDivItem {
101
+ display: flex;
102
+ align-items: center;
103
+ padding: 0 4px;
104
+ white-space: nowrap;
105
+ .inputsDivItemLabel {
106
+ padding: 0 4px;
107
+ }
108
+ }
109
+ }
110
+
111
+ .reportTable {
112
+ width: 100%;
113
+ border-collapse: collapse;
114
+ table-layout:fixed;
115
+ word-break:break-all;
116
+ }
117
+ }
118
+ .reportMainNoPadding {
119
+ text-align: center;
120
+ margin: 0 auto;
121
+ font-size: 16px;
122
+ color: #000;
123
+ background-color: #fff;
124
+ border-radius: 8px;
125
+
126
+ .reportTitle {
127
+ font-weight: bold;
128
+ }
129
+
130
+ .subTitle {
131
+ display: flex;
132
+ justify-content: space-between;
133
+
134
+ .subTitleItems {
135
+ max-width: 30%;
136
+ }
137
+ }
138
+
139
+ .inputsDiv {
140
+ display: flex;
141
+ justify-content: space-between;
142
+ .inputsDivItem {
143
+ display: flex;
144
+ align-items: center;
145
+ padding: 0 4px;
146
+ white-space: nowrap;
147
+ .inputsDivItemLabel {
148
+ padding: 0 4px;
149
+ }
150
+ }
151
+ }
152
+
153
+ .reportTable {
154
+ width: 100%;
155
+ border-collapse: collapse;
156
+ table-layout:fixed;
157
+ word-break:break-all;
158
+ }
159
+ }
160
+ .tools{
161
+ position: fixed;
162
+ right: 2%;
163
+ text-align: right;
164
+ width: 60%;
165
+ cursor: pointer;
166
+ .toolsItem{
167
+ width: 15%;
168
+ margin-right: 3%;
169
+ display: inline-block;
170
+ }
171
+ }
172
+ </style>
173
+ </head>
174
+ <body>
175
+ <!-- 将需要打印的元素内容复制到新窗口中 -->
176
+ ${elementToPrint.innerHTML}
177
+ </body>
178
+ </html>
179
+ `)
180
+ // 延迟执行打印,以确保新窗口的内容已加载完成
181
+ printWindow.document.close() // 关闭文档流,确保内容完全加载
182
+ setTimeout(() => {
183
+ printWindow.print() // 调用打印方法
184
+ printWindow.close()
185
+ }, 500) // 延迟500毫秒后执行打印
186
+ }
@@ -645,7 +645,17 @@ export default {
645
645
  // 应用根节点样式
646
646
  if (Object.keys(rootStyles).length > 0) {
647
647
  Object.entries(rootStyles).forEach(([property, value]) => {
648
- component.$el.style.setProperty(property, value, 'important')
648
+ // 兼容 Ant Row gutter 在列上写入的行内 padding-left/right,
649
+ // 这里同时写入四个方向的长属性,确保覆盖。
650
+ if (property === 'padding') {
651
+ component.$el.style.setProperty('padding', value, 'important')
652
+ component.$el.style.setProperty('padding-left', value, 'important')
653
+ component.$el.style.setProperty('padding-right', value, 'important')
654
+ component.$el.style.setProperty('padding-top', value, 'important')
655
+ component.$el.style.setProperty('padding-bottom', value, 'important')
656
+ } else {
657
+ component.$el.style.setProperty(property, value, 'important')
658
+ }
649
659
  })
650
660
  }
651
661
 
@@ -683,8 +693,25 @@ export default {
683
693
  const hasNewNodes = mutations.some(mutation =>
684
694
  mutation.type === 'childList' && mutation.addedNodes.length > 0
685
695
  )
696
+ const styleChanged = mutations.some(mutation =>
697
+ mutation.type === 'attributes' && mutation.attributeName === 'style'
698
+ )
686
699
 
687
- if (hasNewNodes) {
700
+ if (hasNewNodes || styleChanged) {
701
+ // 重新应用根样式(处理 gutter 改写列 padding 的情况)
702
+ if (Object.keys(rootStyles).length > 0) {
703
+ Object.entries(rootStyles).forEach(([property, value]) => {
704
+ if (property === 'padding') {
705
+ component.$el.style.setProperty('padding', value, 'important')
706
+ component.$el.style.setProperty('padding-left', value, 'important')
707
+ component.$el.style.setProperty('padding-right', value, 'important')
708
+ component.$el.style.setProperty('padding-top', value, 'important')
709
+ component.$el.style.setProperty('padding-bottom', value, 'important')
710
+ } else {
711
+ component.$el.style.setProperty(property, value, 'important')
712
+ }
713
+ })
714
+ }
688
715
  applyStyles()
689
716
  }
690
717
  })
@@ -693,7 +720,8 @@ export default {
693
720
  observer.observe(component.$el, {
694
721
  childList: true,
695
722
  subtree: true,
696
- attributes: false
723
+ attributes: true,
724
+ attributeFilter: ['style']
697
725
  })
698
726
 
699
727
  // 3秒后停止观察
@@ -17,6 +17,7 @@ export default {
17
17
  tipMsg: '正在获取汇总数据。。。',
18
18
  exportType: false,
19
19
  type: 'export',
20
+ modalTitle: '',
20
21
  selectedExportColumns: [],
21
22
  exportSelectedRows: false,
22
23
  allColumnsSelected: false,
@@ -29,12 +30,14 @@ export default {
29
30
  methods: {
30
31
  // 导出选中或本页数据
31
32
  handleExport (type, title) {
33
+ this.modalTitle = '选择导出列'
32
34
  this.exportFileName = title || '查询导出'
33
35
  this.type = 'export'
34
36
  this.handle(type)
35
37
  },
36
- // 导出选中或本页数据
38
+ // 打印选中或本页数据
37
39
  handlePrint (type, printData) {
40
+ this.modalTitle = '选择打印数据列'
38
41
  this.type = 'print'
39
42
  this.printData = printData
40
43
  this.handle(type)
@@ -224,7 +227,7 @@ export default {
224
227
 
225
228
  <template>
226
229
  <a-modal
227
- title="选择导出列"
230
+ :title="modalTitle"
228
231
  width="35vw"
229
232
  :z-index="1001"
230
233
  :confirmLoading="confirmLoading"
@@ -60,15 +60,12 @@ path: 'example',
60
60
  // component: () => import('@vue2-client/base-client/components/common/XAddNativeForm/demo.vue'),
61
61
  // component: () => import('@vue2-client/base-client/components/common/XFormGroup/demo.vue'),
62
62
  // component: () => import('@vue2-client/base-client/components/common/XReport/XReportDemo.vue'),
63
- // component: () => import('@vue2-client/base-client/components/common/HIS/demo.vue'),
64
- // component: () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue'),
63
+ component: () => import('@vue2-client/base-client/components/common/XFormTable/demo.vue'),
65
64
  // component: () => import('@vue2-client/base-client/components/common/XDatePicker/demo.vue'),
66
65
  // component: () => import('@vue2-client/base-client/components/common/XTab/XTabDemo.vue'),
67
66
  // component: () => import('@vue2-client/base-client/components/common/XRate/demo.vue'),
68
- component: () => import('@vue2-client/base-client/components/common/XReport/XReportHospitalizationDemo.vue'),
69
67
  // component: () => import('@vue2-client/base-client/components/common/XForm/demo.vue'),
70
68
  // component: () => import('@vue2-client/base-client/components/his/XTimeSelect/XTimeSelectDemo.vue'),
71
- // component: () => import('@vue2-client/base-client/components/his/XCharge/XChargeDemo.vue'),
72
69
  // component: () => import('@vue2-client/base-client/components/his/XImportExcelButton/XFrontImportExcelDemo.vue'),
73
70
  // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
74
71
  // component: () => import('@vue2-client/pages/WorkflowDetail/WorkFlowDemo.vue'),
@@ -1,47 +1,47 @@
1
- import AMapLoader from '@amap/amap-jsapi-loader'
2
- let Amap
3
- async function GetGDMap (secretKey, key) {
4
- if (!Amap) {
5
- window._AMapSecurityConfig = {
6
- securityJsCode: secretKey
7
- }
8
- // 解决高德地图加载报错 ---> 禁止多种API加载方式混用
9
- AMapLoader.reset()
10
- Amap = await AMapLoader.load({
11
- key: key, // 申请好的Web端开发者Key,首次调用 load 时必填
12
- version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
13
- plugins: ['AMap.IndexCluster', 'AMP.MarkerCluster', 'AMap.InfoWindow', 'AMap.HeatMap', 'AMap.HawkEye', 'AMap.DistrictSearch',
14
- 'AMap.ToolBar', 'AMap.Geolocation', 'AMap.MouseTool',
15
- 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.AutoComplete', 'AMap.Scale'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
16
- AMapUI: {
17
- version: '1.1', // AMapUI 缺省 1.1
18
- plugins: ['misc/PositionPicker'] // 需要加载的 AMapUI ui插件
19
- }
20
- })
21
- }
22
- return Amap
23
- }
24
-
25
- async function getGDMap (address) {
26
- new (await GetGDMap()).Geocoder({
27
- radius: 500 // 范围,默认:500
28
- }).getLocation(address, function (status, result) {
29
- if (status === 'complete' && result.geocodes.length) {
30
- return ({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
31
- } else {
32
- // eslint-disable-next-line prefer-promise-reject-errors
33
- throw new Error('根据经纬度查询地址失败')
34
- }
35
- })
36
- }
37
-
38
- async function GetLocation (address) {
39
- return new Promise((resolve, reject) => {
40
- try {
41
- resolve(getGDMap(address))
42
- } catch (e) {
43
- reject(e)
44
- }
45
- })
46
- }
47
- export { GetGDMap, GetLocation }
1
+ import AMapLoader from '@amap/amap-jsapi-loader'
2
+ let Amap
3
+ async function GetGDMap (secretKey, key) {
4
+ if (!Amap) {
5
+ window._AMapSecurityConfig = {
6
+ securityJsCode: secretKey
7
+ }
8
+ // 解决高德地图加载报错 ---> 禁止多种API加载方式混用
9
+ AMapLoader.reset()
10
+ Amap = await AMapLoader.load({
11
+ key: key, // 申请好的Web端开发者Key,首次调用 load 时必填
12
+ version: '2.0', // 指定要加载的 JSAPI 的版本,缺省时默认为 1.4.15
13
+ plugins: ['AMap.IndexCluster', 'AMP.MarkerCluster', 'AMap.InfoWindow', 'AMap.HeatMap', 'AMap.HawkEye', 'AMap.DistrictSearch',
14
+ 'AMap.ToolBar', 'AMap.Geolocation', 'AMap.MouseTool',
15
+ 'AMap.Geocoder', 'AMap.MarkerClusterer', 'AMap.AutoComplete', 'AMap.Scale'], // 需要使用的的插件列表,如比例尺'AMap.Scale'等
16
+ AMapUI: {
17
+ version: '1.1', // AMapUI 缺省 1.1
18
+ plugins: ['misc/PositionPicker'] // 需要加载的 AMapUI ui插件
19
+ }
20
+ })
21
+ }
22
+ return Amap
23
+ }
24
+
25
+ async function getGDMap (address) {
26
+ new (await GetGDMap()).Geocoder({
27
+ radius: 500 // 范围,默认:500
28
+ }).getLocation(address, function (status, result) {
29
+ if (status === 'complete' && result.geocodes.length) {
30
+ return ({ lng: result.geocodes[0].location.lng, lat: result.geocodes[0].location.lat })
31
+ } else {
32
+ // eslint-disable-next-line prefer-promise-reject-errors
33
+ throw new Error('根据经纬度查询地址失败')
34
+ }
35
+ })
36
+ }
37
+
38
+ async function GetLocation (address) {
39
+ return new Promise((resolve, reject) => {
40
+ try {
41
+ resolve(getGDMap(address))
42
+ } catch (e) {
43
+ reject(e)
44
+ }
45
+ })
46
+ }
47
+ export { GetGDMap, GetLocation }
package/vue.config.js CHANGED
@@ -42,6 +42,12 @@ module.exports = {
42
42
  ws: false,
43
43
  changeOrigin: true
44
44
  },
45
+ '/socket/af-system': {
46
+ target: 'http://127.0.0.1:9002',
47
+ ws: true,
48
+ changeOrigin: true,
49
+ pathRewrite: { '^/socket/af-system': '/concept-websocket' },
50
+ },
45
51
  '/revenue-web/api/af-revenue': {
46
52
  pathRewrite: { '^/revenue-web/': '/' },
47
53
  target: v3Server,
@@ -83,6 +89,10 @@ module.exports = {
83
89
  target: revenue,
84
90
  changeOrigin: true
85
91
  },
92
+ '/api/af-linepatrol': {
93
+ target: revenue,
94
+ changeOrigin: true
95
+ },
86
96
  '/api/af-gaslink': {
87
97
  // pathRewrite: { '^/api/af-gaslink/': '/' },
88
98
  // target: 'http://127.0.0.1:9036',
@@ -1,45 +0,0 @@
1
- <template>
2
- <div id="xreport-hosp-demo">
3
- <a-space style="margin-bottom: 12px;">
4
- <a-button type="primary" @click="doInit">手动初始化</a-button>
5
- </a-space>
6
- <XReport
7
- ref="reportRef"
8
- :edit-mode="true"
9
- :show-save-button="true"
10
- :show-img-in-cell="false"
11
- :use-oss-for-img="false"
12
- server-name="af-his"
13
- @updateImg="onUpdateImg"/>
14
- </div>
15
- </template>
16
-
17
- <script setup>
18
- import { ref } from 'vue'
19
- import XReport from '@vue2-client/base-client/components/common/XReport'
20
-
21
- const reportRef = ref(null)
22
-
23
- const payload = {
24
- arr: [
25
- { BQ: '病房区', RY: 0, CY: 0, CW: 0, SW: 0, SS: 0, ZC: 0, ZR: 0, ZY: 0 },
26
- { BQ: '感染科', RY: 0, CY: 0, CW: 0, SW: 0, SS: 0, ZC: 0, ZR: 0, ZY: 0 },
27
- { BQ: '骨科病区', RY: 0, CY: 0, CW: 0, SW: 0, SS: 0, ZC: 0, ZR: 0, ZY: 0 },
28
- { BQ: '呼吸科病区', RY: 0, CY: 0, CW: 0, SW: 0, SS: 0, ZC: 0, ZR: 0, ZY: 0 },
29
- { BQ: '急症科病区', RY: 0, CY: 0, CW: 0, SW: 0, SS: 0, ZC: 0, ZR: 0, ZY: 0 },
30
- { BQ: '内科二病区', RY: 0, CY: 0, CW: 0, SW: 0, SS: 0, ZC: 0, ZR: 0, ZY: 0 }
31
- ]
32
- }
33
-
34
- const doInit = async () => {
35
- if (!reportRef.value || !reportRef.value.init) return
36
- await reportRef.value.init({
37
- configName: 'hospitalizationStatsReport',
38
- configData: payload
39
- })
40
- }
41
-
42
- const onUpdateImg = data => {
43
- console.warn('updateImg:', data)
44
- }
45
- </script>
File without changes