vue2-client 1.14.81 → 1.14.82

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 (115) hide show
  1. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +0 -1
  2. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +1 -2
  3. package/package.json +1 -1
  4. package/src/base-client/components/common/Upload/Upload.vue +0 -1
  5. package/src/base-client/components/common/XTab/XTab.vue +8 -0
  6. package/src/base-client/components/common/XUploadFilesView/index.vue +485 -485
  7. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  8. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  9. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  10. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  11. package/src/components/FileImageItem/FileItem.vue +1 -1
  12. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +1 -1
  13. package/src/pages/WorkflowDetail/WorkflowPageDetail/LeaveMessage.vue +388 -388
  14. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +26 -56
  15. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowPreview.vue +98 -0
  16. package/src/router/async/router.map.js +1 -3
  17. package/src/utils/axios-interceptors.js +19 -1
  18. package/src/utils/request.js +5 -0
  19. package/.history/public/his/editor/editor_20250606134713.html +0 -51
  20. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +0 -509
  21. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +0 -524
  22. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +0 -524
  23. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +0 -524
  24. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +0 -207
  25. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +0 -211
  26. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +0 -212
  27. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +0 -212
  28. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +0 -1320
  29. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +0 -1332
  30. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +0 -1331
  31. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +0 -1331
  32. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +0 -1331
  33. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +0 -1339
  34. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +0 -731
  35. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +0 -748
  36. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +0 -748
  37. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +0 -1071
  38. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +0 -1078
  39. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +0 -1077
  40. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +0 -1077
  41. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +0 -1077
  42. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +0 -442
  43. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +0 -442
  44. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +0 -442
  45. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +0 -475
  46. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +0 -475
  47. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +0 -475
  48. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +0 -477
  49. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +0 -477
  50. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +0 -477
  51. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +0 -473
  52. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +0 -473
  53. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +0 -473
  54. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +0 -473
  55. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +0 -473
  56. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +0 -473
  57. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +0 -473
  58. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +0 -473
  59. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +0 -473
  60. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +0 -473
  61. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +0 -474
  62. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +0 -474
  63. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +0 -474
  64. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +0 -472
  65. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +0 -472
  66. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +0 -472
  67. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +0 -472
  68. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +0 -472
  69. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +0 -472
  70. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +0 -501
  71. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +0 -501
  72. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +0 -501
  73. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +0 -504
  74. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +0 -504
  75. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +0 -504
  76. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +0 -131
  77. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +0 -160
  78. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +0 -160
  79. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +0 -160
  80. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +0 -158
  81. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +0 -173
  82. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +0 -222
  83. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +0 -229
  84. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +0 -229
  85. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +0 -229
  86. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +0 -241
  87. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +0 -241
  88. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +0 -241
  89. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +0 -245
  90. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +0 -245
  91. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +0 -245
  92. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +0 -255
  93. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +0 -255
  94. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +0 -255
  95. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +0 -270
  96. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +0 -270
  97. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +0 -270
  98. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +0 -270
  99. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +0 -294
  100. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +0 -294
  101. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +0 -294
  102. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +0 -303
  103. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +0 -303
  104. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +0 -303
  105. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +0 -288
  106. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +0 -288
  107. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +0 -288
  108. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +0 -317
  109. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +0 -306
  110. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +0 -306
  111. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +0 -306
  112. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +0 -36
  113. package/src/base-client/components/TreeList/TreeList.vue +0 -91
  114. package/src/base-client/components/TreeList/TreeNode.vue +0 -81
  115. package/src/base-client/components/common/XCardSet/XTiltle.vue +0 -191
@@ -1,207 +0,0 @@
1
- <template>
2
- <a-modal
3
- :confirm-loading="loading"
4
- :destroyOnClose="true"
5
- :visible="visible"
6
- width="80%"
7
- height="60%"
8
- okText="提交"
9
- @cancel="close"
10
- @ok="onSubmit"
11
- v-bind="attr">
12
- <div style="max-height: 70vh; overflow-y: auto;overflow-x: hidden;" v-if="showReport">
13
- <x-report
14
- @updateImg="updateImg"
15
- @selectRow="selectRow"
16
- ref="main"
17
- :env="env"
18
- :use-oss-for-img="false"
19
- :config-name="configName"
20
- :show-img-in-cell="true"
21
- :display-only="displayOnly"
22
- :edit-mode="false"
23
- :show-save-button="false"
24
- :dont-format="true"/>
25
- </div>
26
- </a-modal>
27
- </template>
28
- <script>
29
- import { mapState } from 'vuex'
30
- import { executeStrFunctionByContext } from '@vue2-client/utils/runEvalFunction'
31
- import { runLogic } from '@vue2-client/services/api/common'
32
- import { getMicroData, getWindow, isMicroAppEnv, microDispatch } from '@vue2-client/utils/microAppUtils'
33
- import { getRealKeyData } from '@vue2-client/utils/util'
34
-
35
- export default {
36
- name: 'XAddReport',
37
- components: {
38
- XReport: () => import('@vue2-client/base-client/components/common/XReportGrid/XReport.vue'),
39
- },
40
- props: {
41
- env: {
42
- type: String,
43
- default: 'prod'
44
- }
45
- },
46
- data () {
47
- return {
48
- // 业务类型
49
- businessType: '',
50
- showReport: true,
51
- configName: '',
52
- displayOnly: true,
53
- serverName: '',
54
- // 业务标题
55
- title: '',
56
- // 自定义标题
57
- resolvedTitle: '',
58
- // 新增或修改业务是否执行中
59
- loading: false,
60
- // 是否显示新增/修改模态框
61
- visible: false,
62
- // 选中的处理对象的id号
63
- selectedId: null,
64
- // 混入插槽组件的数据
65
- mixinData: {},
66
- // 打开窗口接收到的外部环境数据
67
- outEnv: {},
68
- // 外部传递来的 modal 参数
69
- attr: {},
70
- }
71
- },
72
- provide () {
73
- return {
74
- getSelectedId: () => this.getSelectedId(),
75
- getSelectedData: () => {
76
- return this.selectedId
77
- },
78
- getMixinData: () => {
79
- return this.mixinData
80
- },
81
- getOutEnv: () => {
82
- return this.outEnv
83
- },
84
- isInAModal: () => {
85
- return true
86
- },
87
- currUser: this.currUser
88
- }
89
- },
90
- inject: ['getParentComponentByName', 'setGlobalData', 'getGlobalData'],
91
- computed: {
92
- businessTitle () {
93
- return this.businessType + this.title
94
- },
95
- ...mapState('account', { currUser: 'user' })
96
- },
97
- methods: {
98
- getWindow,
99
- isMicroAppEnv,
100
- microDispatch,
101
- getMicroData,
102
- runLogic,
103
- getRealKeyData,
104
- init (params) {
105
- console.log('params', params)
106
- const {
107
- configName = 'medicalRecordCover',
108
- serverName = process.env.VUE_APP_SYSTEM_NAME,
109
- displayOnly = true,
110
- selectedId = null,
111
- outEnv = {},
112
- mixinData = {},
113
- attr = {},
114
- } = params
115
- this.configName = configName
116
- this.serverName = serverName
117
- this.displayOnly = displayOnly
118
- this.visible = true
119
- this.attr = attr
120
- // 有选中项,给选中项赋值
121
- if (selectedId) {
122
- this.selectedId = selectedId
123
- }
124
- // 当有些组件需要外部传数据时 使用这个混入
125
- this.mixinData = mixinData
126
- // 把打开时的环境传递给打开窗口,以便js脚本中使用
127
- this.outEnv = outEnv
128
- },
129
- getSelectedId () {
130
- if (typeof this.selectedId === 'object') {
131
- if (this.selectedId.selectedId) {
132
- return this.selectedId.selectedId
133
- }
134
- if (Object.keys(this.selectedId) > 0) {
135
- return this.selectedId[Object.keys(this.selectedId)[0]]
136
- }
137
- } else {
138
- return this.selectedId
139
- }
140
- },
141
- selectRow (selectedRowKeys, selectedRows) {
142
- this.table_selectedRowKeys = selectedRowKeys
143
- this.table_selectedRows = selectedRows
144
- console.log('XAddReport')
145
- this.$emit('selectRow', selectedRowKeys, selectedRows)
146
- },
147
- close () {
148
- this.loading = false
149
- this.visible = false
150
- this.$emit('close')
151
- },
152
- getComponentByName (name) {
153
- const innerRef = this.getParentComponentByName(name)
154
- if (innerRef) {
155
- return innerRef
156
- } else {
157
- return this.$refs.main.getComponentByName(name)
158
- }
159
- },
160
- async onSubmit () {
161
- if (this.$refs.main?.config?.confirmFunction) {
162
- console.info('执行自定义确认逻辑')
163
- let func = this.$refs.main?.config?.confirmFunction
164
- if (func && func.startsWith('function')) {
165
- func = func.replace('function', 'async function')
166
- }
167
- const result = executeStrFunctionByContext(this, func, [])
168
- if (result instanceof Promise) {
169
- result.then((res) => {
170
- if (!res) {
171
- this.close()
172
- return
173
- }
174
- let messageType = 'success'
175
- // 如果传递了组件名字 自动调用刷新
176
- if (res?.name) {
177
- const waitRefreshRef = this.getComponentByName(res.name)
178
- if (waitRefreshRef) {
179
- waitRefreshRef.refresh()
180
- } else {
181
- console.warn(`未找到组件${res.name}无法刷新`)
182
- }
183
- }
184
- // 如果传递消息类型 自动调用消息
185
- if (res?.messageType) {
186
- messageType = res.messageType
187
- }
188
- // 如果传递了提示信息自动调用提示
189
- if (res?.message) {
190
- this.$message[messageType](res?.message)
191
- }
192
- this.close()
193
- })
194
- } else {
195
- this.close()
196
- }
197
- } else {
198
- console.warn('未配置modal确认按钮逻辑')
199
- this.close()
200
- }
201
- },
202
- updateImg (data) {
203
- console.log(data)
204
- }
205
- }
206
- }
207
- </script>
@@ -1,211 +0,0 @@
1
- <template>
2
- <a-modal
3
- :confirm-loading="loading"
4
- :destroyOnClose="true"
5
- :visible="visible"
6
- width="80%"
7
- height="60%"
8
- okText="提交"
9
- @cancel="close"
10
- @ok="onSubmit"
11
- v-bind="attr">
12
- <div style="max-height: 70vh; overflow-y: auto;overflow-x: hidden;" v-if="showReport">
13
- <x-report
14
- @updateImg="updateImg"
15
- @selectRow="selectRow"
16
- ref="main"
17
- :env="env"
18
- :use-oss-for-img="false"
19
- :config-name="configName"
20
- :show-img-in-cell="true"
21
- :display-only="displayOnly"
22
- :edit-mode="false"
23
- :show-save-button="false"
24
- :dont-format="true"/>
25
- </div>
26
- </a-modal>
27
- </template>
28
- <script>
29
- import { mapState } from 'vuex'
30
- import { executeStrFunctionByContext } from '@vue2-client/utils/runEvalFunction'
31
- import { runLogic } from '@vue2-client/services/api/common'
32
- import { getMicroData, getWindow, isMicroAppEnv, microDispatch } from '@vue2-client/utils/microAppUtils'
33
- import { getRealKeyData } from '@vue2-client/utils/util'
34
-
35
- export default {
36
- name: 'XAddReport',
37
- components: {
38
- XReport: () => import('@vue2-client/base-client/components/common/XReportGrid/XReport.vue'),
39
- },
40
- props: {
41
- env: {
42
- type: String,
43
- default: 'prod'
44
- }
45
- },
46
- data () {
47
- return {
48
- // 业务类型
49
- businessType: '',
50
- showReport: true,
51
- configName: '',
52
- displayOnly: true,
53
- serverName: '',
54
- // 业务标题
55
- title: '',
56
- // 自定义标题
57
- resolvedTitle: '',
58
- // 新增或修改业务是否执行中
59
- loading: false,
60
- // 是否显示新增/修改模态框
61
- visible: false,
62
- // 选中的处理对象的id号
63
- selectedId: null,
64
- // 混入插槽组件的数据
65
- mixinData: {},
66
- // 打开窗口接收到的外部环境数据
67
- outEnv: {},
68
- // 外部传递来的 modal 参数
69
- attr: {},
70
- // 是否显示对话框按钮
71
- showButtons: true,
72
- }
73
- },
74
- provide () {
75
- return {
76
- getSelectedId: () => this.getSelectedId(),
77
- getSelectedData: () => {
78
- return this.selectedId
79
- },
80
- getMixinData: () => {
81
- return this.mixinData
82
- },
83
- getOutEnv: () => {
84
- return this.outEnv
85
- },
86
- isInAModal: () => {
87
- return true
88
- },
89
- currUser: this.currUser
90
- }
91
- },
92
- inject: ['getParentComponentByName', 'setGlobalData', 'getGlobalData'],
93
- computed: {
94
- businessTitle () {
95
- return this.businessType + this.title
96
- },
97
- ...mapState('account', { currUser: 'user' })
98
- },
99
- methods: {
100
- getWindow,
101
- isMicroAppEnv,
102
- microDispatch,
103
- getMicroData,
104
- runLogic,
105
- getRealKeyData,
106
- init (params) {
107
- console.log('params', params)
108
- const {
109
- configName = 'medicalRecordCover',
110
- serverName = process.env.VUE_APP_SYSTEM_NAME,
111
- displayOnly = true,
112
- selectedId = null,
113
- outEnv = {},
114
- mixinData = {},
115
- attr = {},
116
- showButtons = true,
117
- } = params
118
- this.configName = configName
119
- this.serverName = serverName
120
- this.displayOnly = displayOnly
121
- this.visible = true
122
- this.attr = attr
123
- this.showButtons = showButtons
124
- // 有选中项,给选中项赋值
125
- if (selectedId) {
126
- this.selectedId = selectedId
127
- }
128
- // 当有些组件需要外部传数据时 使用这个混入
129
- this.mixinData = mixinData
130
- // 把打开时的环境传递给打开窗口,以便js脚本中使用
131
- this.outEnv = outEnv
132
- },
133
- getSelectedId () {
134
- if (typeof this.selectedId === 'object') {
135
- if (this.selectedId.selectedId) {
136
- return this.selectedId.selectedId
137
- }
138
- if (Object.keys(this.selectedId) > 0) {
139
- return this.selectedId[Object.keys(this.selectedId)[0]]
140
- }
141
- } else {
142
- return this.selectedId
143
- }
144
- },
145
- selectRow (selectedRowKeys, selectedRows) {
146
- this.table_selectedRowKeys = selectedRowKeys
147
- this.table_selectedRows = selectedRows
148
- console.log('XAddReport')
149
- this.$emit('selectRow', selectedRowKeys, selectedRows)
150
- },
151
- close () {
152
- this.loading = false
153
- this.visible = false
154
- this.$emit('close')
155
- },
156
- getComponentByName (name) {
157
- const innerRef = this.getParentComponentByName(name)
158
- if (innerRef) {
159
- return innerRef
160
- } else {
161
- return this.$refs.main.getComponentByName(name)
162
- }
163
- },
164
- async onSubmit () {
165
- if (this.$refs.main?.config?.confirmFunction) {
166
- console.info('执行自定义确认逻辑')
167
- let func = this.$refs.main?.config?.confirmFunction
168
- if (func && func.startsWith('function')) {
169
- func = func.replace('function', 'async function')
170
- }
171
- const result = executeStrFunctionByContext(this, func, [])
172
- if (result instanceof Promise) {
173
- result.then((res) => {
174
- if (!res) {
175
- this.close()
176
- return
177
- }
178
- let messageType = 'success'
179
- // 如果传递了组件名字 自动调用刷新
180
- if (res?.name) {
181
- const waitRefreshRef = this.getComponentByName(res.name)
182
- if (waitRefreshRef) {
183
- waitRefreshRef.refresh()
184
- } else {
185
- console.warn(`未找到组件${res.name}无法刷新`)
186
- }
187
- }
188
- // 如果传递消息类型 自动调用消息
189
- if (res?.messageType) {
190
- messageType = res.messageType
191
- }
192
- // 如果传递了提示信息自动调用提示
193
- if (res?.message) {
194
- this.$message[messageType](res?.message)
195
- }
196
- this.close()
197
- })
198
- } else {
199
- this.close()
200
- }
201
- } else {
202
- console.warn('未配置modal确认按钮逻辑')
203
- this.close()
204
- }
205
- },
206
- updateImg (data) {
207
- console.log(data)
208
- }
209
- }
210
- }
211
- </script>
@@ -1,212 +0,0 @@
1
- <template>
2
- <a-modal
3
- :confirm-loading="loading"
4
- :destroyOnClose="true"
5
- :visible="visible"
6
- width="80%"
7
- height="60%"
8
- okText="提交"
9
- :footer="showButtons ? undefined : null"
10
- @cancel="close"
11
- @ok="onSubmit"
12
- v-bind="attr">
13
- <div style="max-height: 70vh; overflow-y: auto;overflow-x: hidden;" v-if="showReport">
14
- <x-report
15
- @updateImg="updateImg"
16
- @selectRow="selectRow"
17
- ref="main"
18
- :env="env"
19
- :use-oss-for-img="false"
20
- :config-name="configName"
21
- :show-img-in-cell="true"
22
- :display-only="displayOnly"
23
- :edit-mode="false"
24
- :show-save-button="false"
25
- :dont-format="true"/>
26
- </div>
27
- </a-modal>
28
- </template>
29
- <script>
30
- import { mapState } from 'vuex'
31
- import { executeStrFunctionByContext } from '@vue2-client/utils/runEvalFunction'
32
- import { runLogic } from '@vue2-client/services/api/common'
33
- import { getMicroData, getWindow, isMicroAppEnv, microDispatch } from '@vue2-client/utils/microAppUtils'
34
- import { getRealKeyData } from '@vue2-client/utils/util'
35
-
36
- export default {
37
- name: 'XAddReport',
38
- components: {
39
- XReport: () => import('@vue2-client/base-client/components/common/XReportGrid/XReport.vue'),
40
- },
41
- props: {
42
- env: {
43
- type: String,
44
- default: 'prod'
45
- }
46
- },
47
- data () {
48
- return {
49
- // 业务类型
50
- businessType: '',
51
- showReport: true,
52
- configName: '',
53
- displayOnly: true,
54
- serverName: '',
55
- // 业务标题
56
- title: '',
57
- // 自定义标题
58
- resolvedTitle: '',
59
- // 新增或修改业务是否执行中
60
- loading: false,
61
- // 是否显示新增/修改模态框
62
- visible: false,
63
- // 选中的处理对象的id号
64
- selectedId: null,
65
- // 混入插槽组件的数据
66
- mixinData: {},
67
- // 打开窗口接收到的外部环境数据
68
- outEnv: {},
69
- // 外部传递来的 modal 参数
70
- attr: {},
71
- // 是否显示对话框按钮
72
- showButtons: true,
73
- }
74
- },
75
- provide () {
76
- return {
77
- getSelectedId: () => this.getSelectedId(),
78
- getSelectedData: () => {
79
- return this.selectedId
80
- },
81
- getMixinData: () => {
82
- return this.mixinData
83
- },
84
- getOutEnv: () => {
85
- return this.outEnv
86
- },
87
- isInAModal: () => {
88
- return true
89
- },
90
- currUser: this.currUser
91
- }
92
- },
93
- inject: ['getParentComponentByName', 'setGlobalData', 'getGlobalData'],
94
- computed: {
95
- businessTitle () {
96
- return this.businessType + this.title
97
- },
98
- ...mapState('account', { currUser: 'user' })
99
- },
100
- methods: {
101
- getWindow,
102
- isMicroAppEnv,
103
- microDispatch,
104
- getMicroData,
105
- runLogic,
106
- getRealKeyData,
107
- init (params) {
108
- console.log('params', params)
109
- const {
110
- configName = 'medicalRecordCover',
111
- serverName = process.env.VUE_APP_SYSTEM_NAME,
112
- displayOnly = true,
113
- selectedId = null,
114
- outEnv = {},
115
- mixinData = {},
116
- attr = {},
117
- showButtons = true,
118
- } = params
119
- this.configName = configName
120
- this.serverName = serverName
121
- this.displayOnly = displayOnly
122
- this.visible = true
123
- this.attr = attr
124
- this.showButtons = showButtons
125
- // 有选中项,给选中项赋值
126
- if (selectedId) {
127
- this.selectedId = selectedId
128
- }
129
- // 当有些组件需要外部传数据时 使用这个混入
130
- this.mixinData = mixinData
131
- // 把打开时的环境传递给打开窗口,以便js脚本中使用
132
- this.outEnv = outEnv
133
- },
134
- getSelectedId () {
135
- if (typeof this.selectedId === 'object') {
136
- if (this.selectedId.selectedId) {
137
- return this.selectedId.selectedId
138
- }
139
- if (Object.keys(this.selectedId) > 0) {
140
- return this.selectedId[Object.keys(this.selectedId)[0]]
141
- }
142
- } else {
143
- return this.selectedId
144
- }
145
- },
146
- selectRow (selectedRowKeys, selectedRows) {
147
- this.table_selectedRowKeys = selectedRowKeys
148
- this.table_selectedRows = selectedRows
149
- console.log('XAddReport')
150
- this.$emit('selectRow', selectedRowKeys, selectedRows)
151
- },
152
- close () {
153
- this.loading = false
154
- this.visible = false
155
- this.$emit('close')
156
- },
157
- getComponentByName (name) {
158
- const innerRef = this.getParentComponentByName(name)
159
- if (innerRef) {
160
- return innerRef
161
- } else {
162
- return this.$refs.main.getComponentByName(name)
163
- }
164
- },
165
- async onSubmit () {
166
- if (this.$refs.main?.config?.confirmFunction) {
167
- console.info('执行自定义确认逻辑')
168
- let func = this.$refs.main?.config?.confirmFunction
169
- if (func && func.startsWith('function')) {
170
- func = func.replace('function', 'async function')
171
- }
172
- const result = executeStrFunctionByContext(this, func, [])
173
- if (result instanceof Promise) {
174
- result.then((res) => {
175
- if (!res) {
176
- this.close()
177
- return
178
- }
179
- let messageType = 'success'
180
- // 如果传递了组件名字 自动调用刷新
181
- if (res?.name) {
182
- const waitRefreshRef = this.getComponentByName(res.name)
183
- if (waitRefreshRef) {
184
- waitRefreshRef.refresh()
185
- } else {
186
- console.warn(`未找到组件${res.name}无法刷新`)
187
- }
188
- }
189
- // 如果传递消息类型 自动调用消息
190
- if (res?.messageType) {
191
- messageType = res.messageType
192
- }
193
- // 如果传递了提示信息自动调用提示
194
- if (res?.message) {
195
- this.$message[messageType](res?.message)
196
- }
197
- this.close()
198
- })
199
- } else {
200
- this.close()
201
- }
202
- } else {
203
- console.warn('未配置modal确认按钮逻辑')
204
- this.close()
205
- }
206
- },
207
- updateImg (data) {
208
- console.log(data)
209
- }
210
- }
211
- }
212
- </script>