vue2-client 1.16.46 → 1.16.48

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 (27) hide show
  1. package/package.json +112 -112
  2. package/src/assets/img/paymentMethod/icon1.png +0 -0
  3. package/src/assets/img/paymentMethod/icon2.png +0 -0
  4. package/src/assets/img/paymentMethod/icon3.png +0 -0
  5. package/src/assets/img/paymentMethod/icon4.png +0 -0
  6. package/src/assets/img/paymentMethod/icon5.png +0 -0
  7. package/src/assets/img/paymentMethod/icon6.png +0 -0
  8. package/src/base-client/components/common/HIS/HButtons/HButtons.vue +47 -45
  9. package/src/base-client/components/common/HIS/HForm/HForm.vue +27 -6
  10. package/src/base-client/components/common/HIS/HFormGroup/HFormGroup.vue +120 -120
  11. package/src/base-client/components/common/HIS/HFormGroup/index.js +3 -3
  12. package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +257 -256
  13. package/src/base-client/components/common/HIS/demo.vue +61 -61
  14. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1178 -1178
  15. package/src/base-client/components/common/XCollapse/XCollapse.vue +461 -461
  16. package/src/base-client/components/common/XInput/XInput.vue +147 -147
  17. package/src/base-client/components/common/XReport/XReportHospitalizationDemo.vue +45 -0
  18. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +824 -824
  19. package/src/base-client/components/common/XTable/XTable.vue +0 -2
  20. package/src/base-client/components/common/XTimeline/XTimeline.vue +454 -454
  21. package/src/base-client/components/his/XCharge/testConfig.js +149 -0
  22. package/src/base-client/components/his/XHDescriptions/XHDescriptions.vue +6 -1
  23. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +705 -705
  24. package/src/base-client/components/his/XTitle/XTitle.vue +13 -6
  25. package/src/base-client/components/his/threeTestOrders/editor.vue +113 -113
  26. package/src/pages/userInfoDetailManage/ExceptionRecordQuery/index.vue +45 -45
  27. package/src/router/async/router.map.js +132 -129
package/package.json CHANGED
@@ -1,112 +1,112 @@
1
- {
2
- "name": "vue2-client",
3
- "version": "1.16.46",
4
- "private": false,
5
- "scripts": {
6
- "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
7
- "serve:gaslink": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode gaslink",
8
- "serve:revenue": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode revenue",
9
- "serve:liuli": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode liuli",
10
- "serve:scada": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode scada",
11
- "serve:iot": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode iot",
12
- "serve:his": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode his",
13
- "serve:runtime": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode runtime",
14
- "serve:message": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode message",
15
- "serve:apply": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode apply",
16
- "mac-serve": "vue-cli-service serve --no-eslint --mode his",
17
- "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
18
- "test:unit": "vue-cli-service test:unit",
19
- "lint": "vue-cli-service lint",
20
- "build:preview": "vue-cli-service build --mode preview",
21
- "lint:nofix": "vue-cli-service lint --no-fix",
22
- "test": "jest"
23
- },
24
- "dependencies": {
25
- "@afwenming123/vue-easy-tree": "^1.0.1",
26
- "@afwenming123/vue-plugin-hiprint": "^0.0.70",
27
- "@amap/amap-jsapi-loader": "^1.0.1",
28
- "@antv/data-set": "^0.11.8",
29
- "@antv/g2plot": "^2.4.31",
30
- "@hufe921/canvas-editor": "^0.9.49",
31
- "@microsoft/fetch-event-source": "^2.0.1",
32
- "@vue/babel-preset-jsx": "^1.4.0",
33
- "animate.css": "^4.1.1",
34
- "ant-design-vue": "^1.7.8",
35
- "axios": "^0.27.2",
36
- "clipboard": "^2.0.11",
37
- "core-js": "^3.33.0",
38
- "crypto-js": "^4.1.1",
39
- "date-fns": "^2.29.3",
40
- "default-passive-events": "^2.0.0",
41
- "dotenv": "^16.3.1",
42
- "echarts": "^5.5.0",
43
- "enquire.js": "^2.1.6",
44
- "file-saver": "^2.0.5",
45
- "highlight.js": "^11.7.0",
46
- "html2canvas": "^1.4.1",
47
- "js-base64": "^3.7.5",
48
- "js-cookie": "^2.2.1",
49
- "jsencrypt": "^3.3.2",
50
- "jspdf": "^2.5.1",
51
- "lodash.clonedeep": "^4.5.0",
52
- "lodash.debounce": "^4",
53
- "lodash.get": "^4.4.2",
54
- "marked": "^4",
55
- "mockjs": "^1.1.0",
56
- "nprogress": "^0.2.0",
57
- "qs": "^6.11.2",
58
- "regenerator-runtime": "^0.14.0",
59
- "splitpanes": "^2.4.1",
60
- "videojs-contrib-hls": "^5.15.0",
61
- "viser-vue": "^2.4.8",
62
- "vue": "^2.7.14",
63
- "vue-codemirror": "4.0.6",
64
- "vue-color": "2.7.0",
65
- "vue-draggable-resizable": "^2.3.0",
66
- "vue-i18n": "^8.28.2",
67
- "vue-json-viewer": "^2.2.22",
68
- "vue-router": "^3.6.5",
69
- "vue-video-player": "^5.0.2",
70
- "vue-virtual-scroller": "^1.1.2",
71
- "vuedraggable": "^2.24.3",
72
- "vuex": "^3.6.2",
73
- "xlsx": "0.18.5"
74
- },
75
- "devDependencies": {
76
- "@ant-design/colors": "^7.0.0",
77
- "@babel/core": "^7.22.20",
78
- "@babel/eslint-parser": "^7.22.15",
79
- "@babel/preset-env": "^7.22.20",
80
- "@vue/cli-plugin-babel": "^5.0.8",
81
- "@vue/cli-plugin-eslint": "^5.0.8",
82
- "@vue/cli-service": "^5.0.8",
83
- "@vue/eslint-config-standard": "^8.0.1",
84
- "@vue/test-utils": "^1.3.6",
85
- "babel-plugin-transform-remove-console": "^6.9.4",
86
- "compression-webpack-plugin": "^10.0.0",
87
- "css-minimizer-webpack-plugin": "^5.0.1",
88
- "deepmerge": "^4.3.1",
89
- "eslint": "^8.51.0",
90
- "eslint-plugin-vue": "^9.17.0",
91
- "fast-deep-equal": "^3.1.3",
92
- "ignore-loader": "^0.1.2",
93
- "jest": "^29.7.0",
94
- "jest-environment-jsdom": "^29.7.0",
95
- "jest-transform-stub": "^2.0.0",
96
- "less-loader": "^6.2.0",
97
- "script-loader": "^0.7.2",
98
- "style-resources-loader": "^1.5.0",
99
- "vue-cli-plugin-style-resources-loader": "^0.1.5",
100
- "vue-jest": "^4.0.1",
101
- "vue-template-compiler": "^2.7.14",
102
- "webpack": "^5.88.2",
103
- "webpack-theme-color-replacer": "^1.4.7",
104
- "whatwg-fetch": "^3.6.19"
105
- },
106
- "browserslist": [
107
- "> 1%",
108
- "last 2 versions",
109
- "not dead",
110
- "not ie 11"
111
- ]
112
- }
1
+ {
2
+ "name": "vue2-client",
3
+ "version": "1.16.48",
4
+ "private": false,
5
+ "scripts": {
6
+ "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
7
+ "serve:gaslink": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode gaslink",
8
+ "serve:revenue": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode revenue",
9
+ "serve:liuli": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode liuli",
10
+ "serve:scada": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode scada",
11
+ "serve:iot": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode iot",
12
+ "serve:his": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode his",
13
+ "serve:runtime": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode runtime",
14
+ "serve:message": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode message",
15
+ "serve:apply": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint --mode apply",
16
+ "mac-serve": "vue-cli-service serve --no-eslint --mode his",
17
+ "build": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service build",
18
+ "test:unit": "vue-cli-service test:unit",
19
+ "lint": "vue-cli-service lint",
20
+ "build:preview": "vue-cli-service build --mode preview",
21
+ "lint:nofix": "vue-cli-service lint --no-fix",
22
+ "test": "jest"
23
+ },
24
+ "dependencies": {
25
+ "@afwenming123/vue-easy-tree": "^1.0.1",
26
+ "@afwenming123/vue-plugin-hiprint": "^0.0.70",
27
+ "@amap/amap-jsapi-loader": "^1.0.1",
28
+ "@antv/data-set": "^0.11.8",
29
+ "@antv/g2plot": "^2.4.31",
30
+ "@hufe921/canvas-editor": "^0.9.49",
31
+ "@microsoft/fetch-event-source": "^2.0.1",
32
+ "@vue/babel-preset-jsx": "^1.4.0",
33
+ "animate.css": "^4.1.1",
34
+ "ant-design-vue": "^1.7.8",
35
+ "axios": "^0.27.2",
36
+ "clipboard": "^2.0.11",
37
+ "core-js": "^3.33.0",
38
+ "crypto-js": "^4.1.1",
39
+ "date-fns": "^2.29.3",
40
+ "default-passive-events": "^2.0.0",
41
+ "dotenv": "^16.3.1",
42
+ "echarts": "^5.5.0",
43
+ "enquire.js": "^2.1.6",
44
+ "file-saver": "^2.0.5",
45
+ "highlight.js": "^11.7.0",
46
+ "html2canvas": "^1.4.1",
47
+ "js-base64": "^3.7.5",
48
+ "js-cookie": "^2.2.1",
49
+ "jsencrypt": "^3.3.2",
50
+ "jspdf": "^2.5.1",
51
+ "lodash.clonedeep": "^4.5.0",
52
+ "lodash.debounce": "^4",
53
+ "lodash.get": "^4.4.2",
54
+ "marked": "^4",
55
+ "mockjs": "^1.1.0",
56
+ "nprogress": "^0.2.0",
57
+ "qs": "^6.11.2",
58
+ "regenerator-runtime": "^0.14.0",
59
+ "splitpanes": "^2.4.1",
60
+ "videojs-contrib-hls": "^5.15.0",
61
+ "viser-vue": "^2.4.8",
62
+ "vue": "^2.7.14",
63
+ "vue-codemirror": "4.0.6",
64
+ "vue-color": "2.7.0",
65
+ "vue-draggable-resizable": "^2.3.0",
66
+ "vue-i18n": "^8.28.2",
67
+ "vue-json-viewer": "^2.2.22",
68
+ "vue-router": "^3.6.5",
69
+ "vue-video-player": "^5.0.2",
70
+ "vue-virtual-scroller": "^1.1.2",
71
+ "vuedraggable": "^2.24.3",
72
+ "vuex": "^3.6.2",
73
+ "xlsx": "0.18.5"
74
+ },
75
+ "devDependencies": {
76
+ "@ant-design/colors": "^7.0.0",
77
+ "@babel/core": "^7.22.20",
78
+ "@babel/eslint-parser": "^7.22.15",
79
+ "@babel/preset-env": "^7.22.20",
80
+ "@vue/cli-plugin-babel": "^5.0.8",
81
+ "@vue/cli-plugin-eslint": "^5.0.8",
82
+ "@vue/cli-service": "^5.0.8",
83
+ "@vue/eslint-config-standard": "^8.0.1",
84
+ "@vue/test-utils": "^1.3.6",
85
+ "babel-plugin-transform-remove-console": "^6.9.4",
86
+ "compression-webpack-plugin": "^10.0.0",
87
+ "css-minimizer-webpack-plugin": "^5.0.1",
88
+ "deepmerge": "^4.3.1",
89
+ "eslint": "^8.51.0",
90
+ "eslint-plugin-vue": "^9.17.0",
91
+ "fast-deep-equal": "^3.1.3",
92
+ "ignore-loader": "^0.1.2",
93
+ "jest": "^29.7.0",
94
+ "jest-environment-jsdom": "^29.7.0",
95
+ "jest-transform-stub": "^2.0.0",
96
+ "less-loader": "^6.2.0",
97
+ "script-loader": "^0.7.2",
98
+ "style-resources-loader": "^1.5.0",
99
+ "vue-cli-plugin-style-resources-loader": "^0.1.5",
100
+ "vue-jest": "^4.0.1",
101
+ "vue-template-compiler": "^2.7.14",
102
+ "webpack": "^5.88.2",
103
+ "webpack-theme-color-replacer": "^1.4.7",
104
+ "whatwg-fetch": "^3.6.19"
105
+ },
106
+ "browserslist": [
107
+ "> 1%",
108
+ "last 2 versions",
109
+ "not dead",
110
+ "not ie 11"
111
+ ]
112
+ }
@@ -1,6 +1,6 @@
1
1
  <script setup lang="ts">
2
2
  import XButtons from '@vue2-client/base-client/components/common/XButtons/XButtons.vue'
3
- import { ref } from 'vue'
3
+ import { ref, computed, useAttrs } from 'vue'
4
4
 
5
5
  defineProps({
6
6
  // HButtons特有的属性
@@ -13,6 +13,24 @@ defineProps({
13
13
  // 内部 XButtons 实例引用
14
14
  const xButtonsRef = ref()
15
15
 
16
+ // 兼容多种样式配置
17
+ const attrs = useAttrs()
18
+ const wrapperClassObject = computed(() => {
19
+ const a = attrs
20
+ const classes = {}
21
+
22
+ // 通用布尔样式开关(以存在/空字符串/'true' 为真)
23
+ const booleanStyleKeys = [
24
+ 'max-width200'
25
+ ]
26
+ for (const key of booleanStyleKeys) {
27
+ const val = a[key]
28
+ const truthy = val === true || val === '' || val === 'true'
29
+ if (truthy) classes[`h-buttons-${key}`] = true
30
+ }
31
+ return classes
32
+ })
33
+
16
34
  // 暴露方法:获取内部 XButtons 实例
17
35
  defineExpose({
18
36
  getXButtonsInstance: function () { return xButtonsRef.value }
@@ -23,7 +41,8 @@ defineExpose({
23
41
  <div
24
42
  class="h-buttons-wrapper"
25
43
  :class="[
26
- `h-buttons-${buttonStyle}`
44
+ `h-buttons-${buttonStyle}`,
45
+ wrapperClassObject
27
46
  ]"
28
47
  >
29
48
  <x-buttons
@@ -31,7 +50,7 @@ defineExpose({
31
50
  v-bind="$attrs"
32
51
  v-on="$listeners"
33
52
  >
34
- <template v-for="(_, name) in $slots" #[name]="slotData">
53
+ <template v-for="(_, name) in $slots" v-slot:[name]="slotData">
35
54
  <slot :name="name" v-bind="slotData" />
36
55
  </template>
37
56
  </x-buttons>
@@ -145,20 +164,21 @@ defineExpose({
145
164
  }
146
165
  }
147
166
  }
148
- // button-left样式 - 按钮从左到右排列
149
- &.h-buttons-button-left {
167
+ // 按钮布局样式公共部分
168
+ &.h-buttons-button-left,
169
+ &.h-buttons-button-center,
170
+ &.h-buttons-button-right,
171
+ &.h-buttons-button-space-between {
150
172
  :deep(.ant-btn-group) {
151
173
  width: 100%;
152
174
  display: flex;
153
175
  flex-wrap: nowrap;
154
- justify-content: flex-start;
155
- gap: 12px;
156
176
  .ant-btn {
157
177
  border: 1px solid #CDCDCD;
158
178
  color: #5D5C5C;
159
- flex: 0 0 auto;
160
- min-width: 124px;
161
179
  width: auto;
180
+ min-width: 124px;
181
+ max-width: 170px;
162
182
  white-space: nowrap;
163
183
  overflow: hidden;
164
184
  margin-right: 0px;
@@ -166,69 +186,51 @@ defineExpose({
166
186
  }
167
187
  }
168
188
  }
189
+ &.h-buttons-max-width200 {
190
+ :deep(.ant-btn) {
191
+ max-width: 200px !important;
192
+ }
193
+ }
194
+ // button-left样式 - 按钮从左到右排列
195
+ &.h-buttons-button-left {
196
+ :deep(.ant-btn-group) {
197
+ justify-content: flex-start;
198
+ gap: 12px;
199
+ .ant-btn {
200
+ flex: 1 1 auto;
201
+ }
202
+ }
203
+ }
169
204
  // button-center样式 - 按钮居中排列
170
205
  &.h-buttons-button-center {
171
206
  :deep(.ant-btn-group) {
172
- width: 100%;
173
- display: flex;
174
- flex-wrap: nowrap;
175
207
  justify-content: center;
176
208
  gap: 12px;
177
209
  .ant-btn {
178
- border: 1px solid #CDCDCD;
179
- color: #5D5C5C;
180
- flex: 0 0 auto;
181
- min-width: 124px;
182
- width: auto;
183
- white-space: nowrap;
184
- overflow: hidden;
185
- margin-right: 0px;
186
- text-overflow: ellipsis;
210
+ flex: 1 1 auto;
187
211
  }
188
212
  }
189
213
  }
190
214
  // button-right样式 - 按钮从右到左排列
191
215
  &.h-buttons-button-right {
192
216
  :deep(.ant-btn-group) {
193
- width: 100%;
194
- display: flex;
195
- flex-wrap: nowrap;
196
217
  justify-content: flex-end;
197
218
  gap: 12px;
198
219
  .ant-btn {
199
- border: 1px solid #CDCDCD;
200
- color: #5D5C5C;
201
- flex: 0 0 auto;
202
- width: auto;
203
- min-width: 124px;
204
- white-space: nowrap;
205
- overflow: hidden;
206
- margin-right: 0px;
207
- text-overflow: ellipsis;
220
+ flex: 1 1 auto;
208
221
  }
209
222
  }
210
223
  }
211
224
  // button-space-between样式 - 按钮两端对齐(两个按钮时分布在两端)
212
225
  &.h-buttons-button-space-between {
213
226
  :deep(.ant-btn-group) {
214
- width: 100%;
215
- display: flex;
216
- flex-wrap: nowrap;
217
227
  justify-content: space-between;
218
228
  .ant-btn {
219
- border: 1px solid #CDCDCD;
220
- color: #5D5C5C;
221
- width: auto;
222
229
  flex: 1 1 auto;
223
- max-width: 180px;
224
- min-width: 124px;
225
- white-space: nowrap;
226
- overflow: hidden;
227
- margin-right: 0px;
228
- text-overflow: ellipsis;
229
230
  }
230
231
  }
231
232
  }
233
+
232
234
  // button-icon-tiles样式 - 左侧彩色图标块 + 右侧文字
233
235
  &.h-buttons-button-icon-tiles {
234
236
  :deep(.ant-btn-group) {
@@ -14,18 +14,13 @@ const wrapperClassObject = computed(() => {
14
14
  'query-conditions',
15
15
  'padding-50',
16
16
  'label-text-horizontal',
17
+ 'label-text-justify'
17
18
  ]
18
19
  for (const key of booleanStyleKeys) {
19
20
  const val = a[key]
20
21
  const truthy = val === true || val === '' || val === 'true'
21
22
  if (truthy) classes[`h-form-${key}`] = true
22
23
  }
23
-
24
- const size = a.size
25
- if (size && typeof size === 'string') {
26
- classes[`h-form-size-${size}`] = true
27
- }
28
-
29
24
  return classes
30
25
  })
31
26
 
@@ -129,5 +124,31 @@ defineExpose({
129
124
  }
130
125
  }
131
126
  }
127
+
128
+ // label-text-justify 样式 - 标签文字两端对齐分散占满 必填*可能会有问题
129
+ &.h-form-label-text-justify {
130
+ :deep(.ant-form-item-label) {
131
+ padding-left: 0;
132
+ padding-right: 8px;
133
+ label {
134
+ position: relative;
135
+ display: block;
136
+ width: 100%;
137
+ white-space: nowrap;
138
+ margin: 0;
139
+ text-indent: 0;
140
+ text-align: justify;
141
+ text-align-last: justify;
142
+ text-justify: inter-ideograph;
143
+ box-sizing: border-box;
144
+ padding-right: 12px; // 给绝对定位的冒号留出空间
145
+ }
146
+ // 将冒号绝对定位到最右侧,避免参与两端对齐计算
147
+ label::after {
148
+ position: absolute;
149
+ right: 0;
150
+ }
151
+ }
152
+ }
132
153
  }
133
154
  </style>