vue2-client 1.14.78 → 1.14.81

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 (113) hide show
  1. package/.history/public/his/editor/editor_20250606134713.html +51 -0
  2. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527173925.vue +509 -0
  3. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174316.vue +524 -0
  4. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174419.vue +524 -0
  5. package/.history/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox_20250527174422.vue +524 -0
  6. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172825.vue +207 -0
  7. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172945.vue +211 -0
  8. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611172949.vue +212 -0
  9. package/.history/src/base-client/components/common/XAddReport/XAddReport_20250611173010.vue +212 -0
  10. package/.history/src/base-client/components/common/XForm/XFormItem_20250508134122.vue +1320 -0
  11. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171604.vue +1332 -0
  12. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171613.vue +1331 -0
  13. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171703.vue +1331 -0
  14. package/.history/src/base-client/components/common/XForm/XFormItem_20250527171720.vue +1331 -0
  15. package/.history/src/base-client/components/common/XForm/XFormItem_20250527174327.vue +1339 -0
  16. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612092804.vue +731 -0
  17. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612112546.vue +748 -0
  18. package/.history/src/base-client/components/common/XReportGrid/XReportTrGroup_20250612113808.vue +748 -0
  19. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115237.vue +1071 -0
  20. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115346.vue +1078 -0
  21. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115350.vue +1077 -0
  22. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115415.vue +1077 -0
  23. package/.history/src/base-client/components/common/XReportGrid/XReport_20250612115429.vue +1077 -0
  24. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611091619.vue +442 -0
  25. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092547.vue +442 -0
  26. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092552.vue +442 -0
  27. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092744.vue +475 -0
  28. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092955.vue +475 -0
  29. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611092957.vue +475 -0
  30. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095652.vue +477 -0
  31. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095701.vue +477 -0
  32. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611095704.vue +477 -0
  33. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100005.vue +473 -0
  34. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100011.vue +473 -0
  35. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100014.vue +473 -0
  36. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100833.vue +473 -0
  37. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100853.vue +473 -0
  38. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611100940.vue +473 -0
  39. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101011.vue +473 -0
  40. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101013.vue +473 -0
  41. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101014.vue +473 -0
  42. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101159.vue +473 -0
  43. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101238.vue +474 -0
  44. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101240.vue +474 -0
  45. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101242.vue +474 -0
  46. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101404.vue +472 -0
  47. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101410.vue +472 -0
  48. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101459.vue +472 -0
  49. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101500.vue +472 -0
  50. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101502.vue +472 -0
  51. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101504.vue +472 -0
  52. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101610.vue +501 -0
  53. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101700.vue +501 -0
  54. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101702.vue +501 -0
  55. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101741.vue +504 -0
  56. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101749.vue +504 -0
  57. package/.history/src/base-client/components/his/XHisEditor/XHisEditor_20250611101759.vue +504 -0
  58. package/.history/src/base-client/components/his/XHisEditor/dome_20250611091349.vue +131 -0
  59. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105854.vue +160 -0
  60. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105902.vue +160 -0
  61. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105924.vue +160 -0
  62. package/.history/src/base-client/components/his/XHisEditor/dome_20250611105932.vue +158 -0
  63. package/.history/src/base-client/components/his/XList/XList_20250609135848.vue +173 -0
  64. package/.history/src/base-client/components/his/XList/XList_20250609141026.vue +222 -0
  65. package/.history/src/base-client/components/his/XList/XList_20250609141035.vue +229 -0
  66. package/.history/src/base-client/components/his/XList/XList_20250609141103.vue +229 -0
  67. package/.history/src/base-client/components/his/XList/XList_20250609141105.vue +229 -0
  68. package/.history/src/base-client/components/his/XList/XList_20250609141334.vue +241 -0
  69. package/.history/src/base-client/components/his/XList/XList_20250609141404.vue +241 -0
  70. package/.history/src/base-client/components/his/XList/XList_20250609141406.vue +241 -0
  71. package/.history/src/base-client/components/his/XList/XList_20250609141801.vue +245 -0
  72. package/.history/src/base-client/components/his/XList/XList_20250609142033.vue +245 -0
  73. package/.history/src/base-client/components/his/XList/XList_20250609142038.vue +245 -0
  74. package/.history/src/base-client/components/his/XList/XList_20250609142435.vue +255 -0
  75. package/.history/src/base-client/components/his/XList/XList_20250609142503.vue +255 -0
  76. package/.history/src/base-client/components/his/XList/XList_20250609142504.vue +255 -0
  77. package/.history/src/base-client/components/his/XList/XList_20250609143012.vue +270 -0
  78. package/.history/src/base-client/components/his/XList/XList_20250609143044.vue +270 -0
  79. package/.history/src/base-client/components/his/XList/XList_20250609143046.vue +270 -0
  80. package/.history/src/base-client/components/his/XList/XList_20250609143210.vue +270 -0
  81. package/.history/src/base-client/components/his/XList/XList_20250609144339.vue +294 -0
  82. package/.history/src/base-client/components/his/XList/XList_20250609144410.vue +294 -0
  83. package/.history/src/base-client/components/his/XList/XList_20250609144412.vue +294 -0
  84. package/.history/src/base-client/components/his/XList/XList_20250609144647.vue +303 -0
  85. package/.history/src/base-client/components/his/XList/XList_20250609144716.vue +303 -0
  86. package/.history/src/base-client/components/his/XList/XList_20250609144729.vue +303 -0
  87. package/.history/src/base-client/components/his/XList/XList_20250609151232.vue +288 -0
  88. package/.history/src/base-client/components/his/XList/XList_20250609151247.vue +288 -0
  89. package/.history/src/base-client/components/his/XList/XList_20250609151252.vue +288 -0
  90. package/.history/src/base-client/components/his/XList/XList_20250609161220.vue +317 -0
  91. package/.history/src/base-client/components/his/XList/XList_20250609161258.vue +306 -0
  92. package/.history/src/base-client/components/his/XList/XList_20250609161319.vue +306 -0
  93. package/.history/src/base-client/components/his/XList/XList_20250609161320.vue +306 -0
  94. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +36 -0
  95. package/docs/Logic/345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +1 -0
  96. package/docs//345/207/275/346/225/260/344/275/277/347/224/250/347/233/270/345/205/263.md +2 -1
  97. package/package.json +1 -1
  98. package/src/base-client/components/TreeList/TreeList.vue +91 -0
  99. package/src/base-client/components/TreeList/TreeNode.vue +81 -0
  100. package/src/base-client/components/common/XAddReport/XAddReport.vue +6 -1
  101. package/src/base-client/components/common/XCardSet/XTiltle.vue +191 -0
  102. package/src/base-client/components/common/XReportGrid/XReport.vue +28 -5
  103. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +1 -1
  104. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +2 -2
  105. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.json +9 -4
  106. package/src/base-client/components/his/XQuestionnaire/XQuestionnaire.vue +70 -21
  107. package/src/base-client/components/his/XQuestionnaire/XQuestionnaireDemo.vue +15 -4
  108. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  109. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  110. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  111. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  112. package/src/pages/addressSelect/addressDemo.vue +24 -24
  113. package/src/pages/addressSelect/index.vue +259 -259
@@ -0,0 +1,91 @@
1
+ <template>
2
+ <div class="tree-container">
3
+ <div class="tree-list">
4
+ <tree-node
5
+ v-for="node in treeData"
6
+ :key="node.id"
7
+ :node="node"
8
+ @toggle="toggleNode"/>
9
+ </div>
10
+ </div>
11
+ </template>
12
+
13
+ <script>
14
+ import TreeNode from './TreeNode.vue'
15
+
16
+ export default {
17
+ name: 'TreeList',
18
+ components: {
19
+ TreeNode
20
+ },
21
+ data() {
22
+ return {
23
+ treeData: [
24
+ {
25
+ id: '1',
26
+ title: '体征',
27
+ expanded: false,
28
+ children: [
29
+ {
30
+ id: '1-1',
31
+ title: '一般情况'
32
+ },
33
+ {
34
+ id: '1-2',
35
+ title: '皮肤粘膜'
36
+ },
37
+ {
38
+ id: '1-3',
39
+ title: '头颈',
40
+ expanded: false,
41
+ children: [
42
+ {
43
+ id: '1-3-1',
44
+ title: '头部'
45
+ },
46
+ {
47
+ id: '1-3-2',
48
+ title: '颈部'
49
+ }
50
+ ]
51
+ }
52
+ ]
53
+ }
54
+ ]
55
+ }
56
+ },
57
+ methods: {
58
+ toggleNode(node) {
59
+ node.expanded = !node.expanded
60
+ }
61
+ }
62
+ }
63
+ </script>
64
+
65
+ <style scoped>
66
+ .tree-container {
67
+ width: 240px;
68
+ height: 400px;
69
+ border: 1px solid #e8e8e8;
70
+ overflow-y: auto;
71
+ padding: 8px;
72
+ }
73
+
74
+ /* 自定义滚动条样式 */
75
+ .tree-container::-webkit-scrollbar {
76
+ width: 6px;
77
+ }
78
+
79
+ .tree-container::-webkit-scrollbar-thumb {
80
+ background-color: #ccc;
81
+ border-radius: 3px;
82
+ }
83
+
84
+ .tree-container::-webkit-scrollbar-track {
85
+ background-color: #f5f5f5;
86
+ }
87
+
88
+ .tree-list {
89
+ font-size: 14px;
90
+ }
91
+ </style>
@@ -0,0 +1,81 @@
1
+ <template>
2
+ <div class="tree-node">
3
+ <div class="node-content" @click="handleClick">
4
+ <span v-if="hasChildren" class="toggle-icon">
5
+ {{ node.expanded ? '-' : '+' }}
6
+ </span>
7
+ <span class="node-title">{{ node.title }}</span>
8
+ </div>
9
+ <div v-if="hasChildren && node.expanded" class="node-children">
10
+ <tree-node
11
+ v-for="child in node.children"
12
+ :key="child.id"
13
+ :node="child"
14
+ @toggle="$emit('toggle', $event)"
15
+ :level="level + 1"/>
16
+ </div>
17
+ </div>
18
+ </template>
19
+
20
+ <script>
21
+ export default {
22
+ name: 'TreeNode',
23
+ props: {
24
+ node: {
25
+ type: Object,
26
+ required: true
27
+ },
28
+ level: {
29
+ type: Number,
30
+ default: 0
31
+ }
32
+ },
33
+ computed: {
34
+ hasChildren() {
35
+ return this.node.children && this.node.children.length > 0
36
+ }
37
+ },
38
+ methods: {
39
+ handleClick() {
40
+ if (this.hasChildren) {
41
+ this.$emit('toggle', this.node)
42
+ }
43
+ }
44
+ }
45
+ }
46
+ </script>
47
+
48
+ <style scoped>
49
+ .tree-node {
50
+ margin: 2px 0;
51
+ }
52
+
53
+ .node-content {
54
+ display: flex;
55
+ align-items: center;
56
+ padding: 4px 0;
57
+ user-select: none;
58
+ }
59
+
60
+ .toggle-icon {
61
+ width: 16px;
62
+ text-align: center;
63
+ font-size: 14px;
64
+ color: #666;
65
+ margin-right: 4px;
66
+ cursor: pointer;
67
+ }
68
+
69
+ .node-title {
70
+ flex: 1;
71
+ cursor: default;
72
+ }
73
+
74
+ .node-content:hover {
75
+ background-color: #f5f5f5;
76
+ }
77
+
78
+ .node-children {
79
+ padding-left: 20px;
80
+ }
81
+ </style>
@@ -6,6 +6,7 @@
6
6
  width="80%"
7
7
  height="60%"
8
8
  okText="提交"
9
+ :footer="showButtons ? undefined : null"
9
10
  @cancel="close"
10
11
  @ok="onSubmit"
11
12
  v-bind="attr">
@@ -67,6 +68,8 @@ export default {
67
68
  outEnv: {},
68
69
  // 外部传递来的 modal 参数
69
70
  attr: {},
71
+ // 是否显示对话框按钮
72
+ showButtons: true,
70
73
  }
71
74
  },
72
75
  provide () {
@@ -110,13 +113,15 @@ export default {
110
113
  selectedId = null,
111
114
  outEnv = {},
112
115
  mixinData = {},
113
- attr = {}
116
+ attr = {},
117
+ showButtons = true,
114
118
  } = params
115
119
  this.configName = configName
116
120
  this.serverName = serverName
117
121
  this.displayOnly = displayOnly
118
122
  this.visible = true
119
123
  this.attr = attr
124
+ this.showButtons = showButtons
120
125
  // 有选中项,给选中项赋值
121
126
  if (selectedId) {
122
127
  this.selectedId = selectedId
@@ -0,0 +1,191 @@
1
+ <template>
2
+ <a-row
3
+ class="title_box"
4
+ :style="{backgroundColor: requiredParameters.backgroundColor,height:requiredParameters.height}"
5
+ type="flex"
6
+ v-model="requiredParameters">
7
+ <a-col class="title_col_left" :flex="3">
8
+ <div class="title_img_box">
9
+ <img src="../img/header10086.png" class="title_img" alt="">
10
+ </div>
11
+ <div class="title_name">{{ requiredParameters.title }}</div>
12
+ </a-col>
13
+ <a-col class="title_col_right" id="titleSelect" :flex="3" style="padding-right: 3%" v-model="dateData">
14
+ <div class="title_date_box">
15
+ <div class="title_data">{{ dateData.date }}</div>
16
+ <div class="title_week">{{ dateData.dayOfWeek }}</div>
17
+ </div>
18
+ <div class="title_time">{{ dateData.time }}</div>
19
+ <div style="font-size: x-large;margin-left: 1%">|</div>
20
+ <div class="title_refresh" @click="refreshTitle"><a-icon type="undo" style="font-size: x-large;"/></div>
21
+ <div class="title_refresh_box">
22
+ <div class="title_refresh_time">{{ dateData.refreshTime }}</div>
23
+ <div class="latest_update_time">最新更新时间</div>
24
+ </div>
25
+ </a-col>
26
+ </a-row>
27
+ </template>
28
+
29
+ <script>
30
+
31
+ export default {
32
+ name: 'TitleComponent',
33
+ components: {},
34
+ data () {
35
+ return {
36
+ dateData: {
37
+ date: '',
38
+ dayOfWeek: '',
39
+ time: '',
40
+ refreshTime: ''
41
+ },
42
+ timer: null
43
+ }
44
+ },
45
+ props: {
46
+ requiredParameters: {
47
+ type: Object,
48
+ default: () => ({
49
+ title: '',
50
+ backgroundColor: '',
51
+ height: ''
52
+ }),
53
+ }
54
+ },
55
+ created () {
56
+ this.updateDateData()
57
+ this.startTimer()
58
+ },
59
+ beforeDestroy () {
60
+ this.stopTimer()
61
+ },
62
+ methods: {
63
+ // 刷新页面
64
+ refreshTitle () {
65
+ this.$forceUpdate()
66
+ const now = new Date()
67
+ this.dateData.refreshTime = now.toLocaleTimeString()
68
+ this.$emit('refreshTitle')
69
+ },
70
+ updateDateData () {
71
+ const now = new Date()
72
+ const options = { weekday: 'long' }
73
+ this.dateData.date = this.formatDate(now)
74
+ this.dateData.time = this.formatTime(now)
75
+ this.dateData.dayOfWeek = now.toLocaleDateString(undefined, options)
76
+ this.dateData.refreshTime = now.toLocaleTimeString()
77
+ },
78
+ formatDate (date) {
79
+ const month = date.getMonth() + 1
80
+ const day = date.getDate()
81
+ return `${month}月${day}日`
82
+ },
83
+ formatTime (date) {
84
+ const hours = String(date.getHours()).padStart(2, '0')
85
+ const minutes = String(date.getMinutes()).padStart(2, '0')
86
+ return `${hours}:${minutes}`
87
+ },
88
+ startTimer () {
89
+ this.timer = setInterval(() => {
90
+ const now = new Date()
91
+ this.dateData.time = this.formatTime(now)
92
+ }, 10000) // 每秒更新一次
93
+ },
94
+ stopTimer () {
95
+ if (this.timer) {
96
+ clearInterval(this.timer)
97
+ this.timer = null
98
+ }
99
+ }
100
+ }
101
+ }
102
+ </script>
103
+
104
+ <style scoped>
105
+ .title_box {
106
+ width: 100%;
107
+ min-height:42px;
108
+ }
109
+ .title_col_left {
110
+ height: 100%;
111
+ color: white;
112
+ display: flex;
113
+ align-content: center;
114
+ align-items: center;
115
+ }
116
+ .title_col_right {
117
+ height: 100%;
118
+ color: white;
119
+ display: flex;
120
+ align-content: center;
121
+ align-items: center;
122
+ justify-content: flex-end;
123
+ }
124
+ .title_img_box {
125
+ height: 80%;
126
+ width: auto;
127
+ margin-left: 1%;
128
+ border-radius: 50%;
129
+ background-color: #35baf6;
130
+ }
131
+ .title_img{
132
+ width: 100%;
133
+ height: 100%;
134
+ }
135
+ .title_name {
136
+ font-size: medium !important;
137
+ font-weight: bold;
138
+ margin-left: 1%;
139
+ }
140
+ .title_date_box{
141
+ width: 20%;
142
+ height: 100%;
143
+ display: flex;
144
+ flex-direction: column;
145
+ justify-content: center;
146
+ }
147
+ .title_data{
148
+ display: flex;
149
+ justify-content: center;
150
+ align-items: center;
151
+ font-size: smaller;
152
+ }
153
+ .title_week{
154
+ display: flex;
155
+ justify-content: center;
156
+ align-items: center;
157
+ font-size: smaller;
158
+ }
159
+ .title_time{
160
+ font-size: x-large;
161
+ }
162
+ .title_refresh{
163
+ margin-left: 1%;
164
+ height: 100%;
165
+ align-content: center;
166
+ align-items: center;
167
+ cursor: pointer;
168
+ display: flex;
169
+ width: 7%;
170
+ justify-content: center;
171
+ min-width: 31px;
172
+ }
173
+ .title_refresh:hover{
174
+ background-color: rgb(31, 138, 137);
175
+ }
176
+ .title_refresh:active{
177
+ background-color: rgb(26, 129, 128);
178
+ }
179
+ .title_refresh_box{
180
+ margin-right: 1%;
181
+ }
182
+ .latest_update_time{
183
+ font-size: x-small;
184
+ }
185
+ .title_refresh_time{
186
+ display: flex;
187
+ font-size: x-small;
188
+ align-content: center;
189
+ justify-content: center;
190
+ }
191
+ </style>
@@ -85,7 +85,7 @@ export default {
85
85
  type: String,
86
86
  default: undefined,
87
87
  },
88
- // 本地配��,调试用
88
+ // 本地配置,调试用
89
89
  localConfig: {
90
90
  type: Object,
91
91
  default: undefined,
@@ -244,7 +244,8 @@ export default {
244
244
  currUser: this.currUser,
245
245
  getGlobalData: this.getGlobalData,
246
246
  setGlobalData: this.setGlobalData,
247
- findComponentByName: this.findComponentByName
247
+ findComponentByName: this.findComponentByName,
248
+ closeAddReport: this.closeAddReport,
248
249
  }
249
250
  },
250
251
  methods: {
@@ -284,6 +285,27 @@ export default {
284
285
  listClick (data) {
285
286
  this.$emit('listClick', data)
286
287
  },
288
+ closeAddReport () {
289
+ if (this.$refs.xAddReport) {
290
+ this.$refs.xAddReport.close()
291
+ }
292
+ let parent = this.$parent
293
+ while (parent) {
294
+ if (parent.$refs && parent.$refs.xAddReport) {
295
+ const addReportRefs = parent.$refs.xAddReport
296
+ if (Array.isArray(addReportRefs)) {
297
+ addReportRefs.forEach(ref => {
298
+ if (ref && typeof ref.close === 'function') {
299
+ ref.close()
300
+ }
301
+ })
302
+ } else if (typeof addReportRefs.close === 'function') {
303
+ addReportRefs.close()
304
+ }
305
+ }
306
+ parent = parent.$parent
307
+ }
308
+ },
287
309
  slotRendered () {
288
310
  if (this.config?.mountedFunction) {
289
311
  let func = this.config.mountedFunction
@@ -402,7 +424,7 @@ export default {
402
424
  * @param outEnv 其他传递给打开窗口的数据
403
425
  * @param attr 传递给Modal弹框用的信息
404
426
  */
405
- openDialog (configName, selectedId, mixinData, outEnv = {}, attr = {}) {
427
+ openDialog (configName, selectedId, mixinData, outEnv = {}, attr = {}, showButtons = true) {
406
428
  console.log('openDialog', configName, selectedId)
407
429
  this.$refs.xAddReport.init({
408
430
  configName: configName,
@@ -410,6 +432,7 @@ export default {
410
432
  mixinData: mixinData,
411
433
  outEnv: outEnv,
412
434
  attr,
435
+ showButtons: showButtons
413
436
  })
414
437
  },
415
438
  openDrawer (configName, selectedId, mixinData, outEnv = {}, attr = {}) {
@@ -455,7 +478,7 @@ export default {
455
478
  targetData = targetData[path]
456
479
  }
457
480
  }
458
- // 将修改的数���,添加update = true属性
481
+ // 将修改的数据,添加update = true属性
459
482
  targetData.update = true
460
483
  })
461
484
  return tempData
@@ -723,7 +746,7 @@ export default {
723
746
  titleCellFlag = false
724
747
  firstSubLine = false
725
748
  }
726
- // 保存上一个的colspan���保持生成的格子与原格式一致
749
+ // 保存上一个的colspan保持生成的格子与原格式一致
727
750
  preColSpan = cell.colSpan
728
751
  })
729
752
 
@@ -216,7 +216,7 @@ export default {
216
216
  }
217
217
  }
218
218
  },
219
- inject: ['openDialog', 'emitEvent', 'registerComponent', 'setColSpanByName', 'setGlobalData', 'getGlobalData', 'getComponentByName', 'runLogic', 'getMixinData', 'getSelectedId', 'isInAModal', 'getConfigByName', 'getSelectedData', 'getOutEnv', 'currUser', 'isWidget', 'findComponentByName'],
219
+ inject: ['openDialog', 'emitEvent', 'registerComponent', 'setColSpanByName', 'setGlobalData', 'getGlobalData', 'getComponentByName', 'runLogic', 'getMixinData', 'getSelectedId', 'isInAModal', 'getConfigByName', 'getSelectedData', 'getOutEnv', 'currUser', 'isWidget', 'findComponentByName', 'closeAddReport'],
220
220
  methods: {
221
221
  getWindow,
222
222
  isMicroAppEnv,
@@ -291,10 +291,10 @@ export default {
291
291
  }
292
292
  }
293
293
  // 拿取多于模板中的数据
294
- const diff = Object.fromEntries(
294
+ const diff = this.bindObject? Object.fromEntries(
295
295
  Object.entries(this.bindObject)
296
296
  .filter(([key]) => !(key in this.editorRef.getBindObject()))
297
- )
297
+ ) : {}
298
298
  this.codeData = {...this.codeData,...diff}
299
299
  this.changeMode()
300
300
  this.fileUrl = fileUrl
@@ -1,7 +1,8 @@
1
1
  {
2
2
  "config":{
3
3
  "title":"",
4
- "split":""
4
+ "split":"",
5
+ "style":""//TODO 居中方式
5
6
  },
6
7
  "content": [
7
8
  {
@@ -12,15 +13,19 @@
12
13
  "type":"",
13
14
  "key": "",
14
15
  "value": {},
15
- "configName":"" // 通过后端获配置单选多选
16
+
17
+ "configName":"", // 通过后端获配置单选多选
18
+ "button-type":"",
19
+
20
+
16
21
  }
17
22
  ]
18
23
  }
19
24
  ]
20
25
  }
21
26
  //常量取值 checkBox多选
22
- type [radio,selectionBox,text,input,time,describe]
23
- justifyContent = ['flex-start', 'flex-end', 'center', 'space-between', 'space-around']
27
+ type [radio,selectionBox,text,input,time,describe,button]
28
+ style = ['flex-start', 'flex-end', 'center', 'space-between', 'space-around']
24
29
 
25
30
  "results": [{
26
31
  "row_key": "",
@@ -11,6 +11,7 @@
11
11
  <div >{{ config.header }}</div>
12
12
  </template>
13
13
  <a-list-item
14
+ :class="{'header-row': item.type === 'header'}"
14
15
  slot="renderItem"
15
16
  slot-scope="item, index">
16
17
  <div
@@ -42,6 +43,22 @@
42
43
  <template v-else-if="column.type === 'describe'">
43
44
  <span :key="`row-${index}-item-${idx}`" :class="['column-item','item-describe']"> {{ column.value }} </span>
44
45
  </template>
46
+ <template v-else-if="column.type === 'header'">
47
+ <span :key="`row-${index}-item-${idx}`" :class="['item-header']"> {{ column.value }} </span>
48
+ </template>
49
+ <template v-else-if="column.type === 'button'">
50
+ <a-button
51
+ :class="['column-item']"
52
+ :key="`row-${index}-item-${idx}`"
53
+ :disabled="column.disabled"
54
+ :icon="column.icon"
55
+ :loading="column.loading"
56
+ :type="column.buttonType || 'default'"
57
+ @click="handleButtonClick(column)"
58
+ >
59
+ {{ column.label }}
60
+ </a-button>
61
+ </template>
45
62
  <template v-else>
46
63
  <span :key="`row-${index}-item-${idx}`" :class="['column-item','item-text']"> {{ column.value }} </span>
47
64
  </template>
@@ -89,10 +106,6 @@ export default {
89
106
  async getData (queryParamsName) {
90
107
  const that = this
91
108
  getConfigByName(queryParamsName, 'af-his', res => {
92
- if (!res.config.split) {
93
- res.config.split = true
94
- }
95
- that.config = res.config
96
109
  that.config = {
97
110
  ...that.config,
98
111
  ...res.config
@@ -124,6 +137,11 @@ export default {
124
137
  })
125
138
  },
126
139
  refreshList (param) {
140
+ // 清空当前数据和映射关系
141
+ this.data = []
142
+ this.results = []
143
+ this.mapping = []
144
+ this.results = []
127
145
  this.getData(this.queryParamsName, param)
128
146
  },
129
147
  // 行数据排量方式
@@ -145,6 +163,24 @@ export default {
145
163
  } else if (column.type === 'radio' || column.type === 'time') {
146
164
  this.results[resultIndex][column.key] = e
147
165
  }
166
+ },
167
+ handleButtonClick (item) {
168
+ item.loading = true
169
+ const callback = () => {
170
+ item.loading = false
171
+ }
172
+ if (item.clickEventName && this.$listeners[item.clickEventName]) {
173
+ // 交由父级处理
174
+ this.$emit(item.clickEventName, item, callback)
175
+ } else {
176
+ this.defaultAction(item.clickEventName, item, callback)
177
+ }
178
+ },
179
+ defaultAction (clickEventName, item, callback) {
180
+ setTimeout(() => {
181
+ this.$message.warn(`已触发按钮 [${item.key}],注册事件名 [${clickEventName}],未实现事件函数`)
182
+ callback()
183
+ }, 200)
148
184
  }
149
185
  },
150
186
  watch: {
@@ -162,36 +198,40 @@ export default {
162
198
  </script>
163
199
 
164
200
  <style scoped>
201
+
165
202
  .list-wrapper {
166
- max-height: 240px;
167
- overflow-y: auto;
168
- padding-right: 2px;
203
+ border: 1px solid #f0f0f0;
169
204
  }
170
-
171
205
  .list-container {
172
206
  width: 100%;
173
207
  }
174
208
 
175
- /* 自定义滚动条样式 */
176
- .list-wrapper::-webkit-scrollbar {
177
- width: 6px;
178
- }
179
-
180
- .list-wrapper::-webkit-scrollbar-thumb {
181
- background-color: #d9d9d9;
182
- border-radius: 3px;
183
- }
209
+ /** 自定义滚动条样式
210
+ .list-wrapper {
211
+ max-height: 240px;
212
+ overflow-y: auto;
213
+ padding-right: 2px;
214
+ }
215
+ .list-wrapper::-webkit-scrollbar {
216
+ width: 6px;
217
+ }
184
218
 
185
- .list-wrapper::-webkit-scrollbar-track {
186
- background-color: #f0f0f0;
187
- }
219
+ .list-wrapper::-webkit-scrollbar-thumb {
220
+ background-color: #d9d9d9;
221
+ border-radius: 3px;
222
+ }
188
223
 
224
+ .list-wrapper::-webkit-scrollbar-track {
225
+ background-color: #f0f0f0;
226
+ }
227
+ */
189
228
  /* header样式 */
190
229
  .list-wrapper ::v-deep .ant-list-header {
191
230
  background-color: #F4F4F4; /* 自定义背景色 */
192
231
  display: flex;
193
232
  justify-content: center;
194
233
  }
234
+
195
235
  .list-wrapper ::v-deep .x-radio-item {
196
236
  margin-bottom: 0;
197
237
  }
@@ -204,10 +244,16 @@ export default {
204
244
  .list-wrapper ::v-deep .x-time-select {
205
245
  width: auto !important;
206
246
  }
247
+ .list-wrapper ::v-deep .header-row {
248
+ background-color: #F4F4F4; /* 自定义背景色 */
249
+ height: 45px !important;
250
+ }
207
251
  /*每一行的整体样式*/
208
252
  .row-item{
253
+ width: 100%;
209
254
  display: flex;
210
255
  align-items: center;
256
+ padding: 2px;
211
257
  }
212
258
  /*行中每一列的数据*/
213
259
  .column-item{
@@ -220,7 +266,10 @@ export default {
220
266
  color: #808080 ;
221
267
  }
222
268
  .item-input{
223
- flex: 1;
269
+ width: auto !important;
270
+ }
271
+ .item-header {
272
+ color: rgba(0, 0, 0, 0.65)
224
273
  }
225
274
 
226
275
  </style>