vue2-client 1.14.41 → 1.14.44

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 (22) hide show
  1. package/package.json +1 -1
  2. package/src/base-client/components/common/XReport/XReport.vue +1 -1
  3. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +4 -3
  4. package/src/base-client/components/his/XCharge/XCharge.vue +226 -0
  5. package/src/base-client/components/his/XList/XList.vue +0 -3
  6. package/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +9 -9
  7. package/src/base-client/components/his/XTextCard/XTextCard.vue +207 -207
  8. package/src/base-client/components/his/XTitle/XTitle.vue +1 -5
  9. package/src/base-client/components/his/XTreeRows/TreeNode.vue +100 -100
  10. package/src/base-client/components/his/XTreeRows/XTreeRows.vue +197 -197
  11. package/src/base-client/components/his/threeTestOrders/editor.vue +111 -111
  12. package/src/base-client/components/his/threeTestOrders/textBox.vue +50 -102
  13. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +376 -386
  14. package/src/pages/WorkflowDetail/WorkFlowDemo.vue +1 -1
  15. package/src/pages/WorkflowDetail/WorkflowDetail.vue +122 -37
  16. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowBaseInformation.vue +244 -116
  17. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowHandle.vue +4 -4
  18. package/src/pages/WorkflowDetail/WorkflowPageDetail/WorkFlowTimeline.vue +2 -1
  19. package/Users/objecrt/af-vue2-client/src/base-client/components/his/XShiftSchedule/XShiftSchedule.vue +0 -36
  20. package/src/base-client/components/TreeList/TreeList.vue +0 -91
  21. package/src/base-client/components/TreeList/TreeNode.vue +0 -81
  22. package/src/base-client/components/common/XCardSet/XTiltle.vue +0 -191
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.14.41",
3
+ "version": "1.14.44",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
@@ -808,7 +808,7 @@ export default {
808
808
  this.config = res
809
809
  if (this.config.designMode === 'json') {
810
810
  if (this.configData !== undefined) {
811
- this.config.data = Object.assign({},this.config.data, this.configData)
811
+ this.config.data = Object.assign({}, this.config.data, this.configData)
812
812
  }
813
813
  this.jsonConfigInit()
814
814
  } else {
@@ -25,7 +25,7 @@
25
25
  </template>
26
26
  <template v-else-if="cell.type === 'slot'">
27
27
  <template
28
- v-if="['x-form-table','x-add-native-form','x-tree-pro', 'x-his-editor', 'x-tab', 'x-form-group', 'x-report', 'x-buttons', 'x-label-select', 'x-conversation', 'x-check-list', 'x-cardSet', 'x-collapse','x-h-descriptions', 'x-sidebar', 'x-list','x-input','x-time-line', 'x-radio','x-calendar', 'x-time-select' ,'x-checkbox', 'x-title', 'x-select', 'x-tree-rows', 'x-three-test-orders', 'x-shift-schedule'].includes(cell.slotType)">
28
+ v-if="['x-form-table','x-add-native-form','x-tree-pro', 'x-his-editor', 'x-tab', 'x-form-group', 'x-report', 'x-buttons', 'x-label-select', 'x-conversation', 'x-check-list', 'x-cardSet', 'x-collapse','x-h-descriptions', 'x-sidebar', 'x-list','x-input','x-time-line', 'x-radio','x-calendar', 'x-time-select' ,'x-checkbox', 'x-title', 'x-select', 'x-tree-rows', 'x-three-test-orders', 'x-shift-schedule','x-charge'].includes(cell.slotType)">
29
29
  <component
30
30
  :is="getComponentName(cell.slotConfig, cell.serviceName, cell.slotType)"
31
31
  :key="cellIndex"
@@ -63,7 +63,7 @@
63
63
  </template>
64
64
  <template v-else-if="cell.type === 'slot'">
65
65
  <template
66
- v-if="['x-form-table','x-add-native-form','x-tree-pro', 'x-his-editor', 'x-tab', 'x-form-group', 'x-report', 'x-buttons', 'x-label-select', 'x-conversation', 'x-check-list', 'x-cardSet', 'x-collapse', 'x-h-descriptions', 'x-sidebar', 'x-list','x-input','x-time-line', 'x-radio','x-calendar', 'x-time-select','x-checkbox', 'x-title', 'x-select', 'x-tree-rows', 'x-three-test-orders', 'x-shift-schedule'].includes(cell.slotType)">
66
+ v-if="['x-form-table','x-add-native-form','x-tree-pro', 'x-his-editor', 'x-tab', 'x-form-group', 'x-report', 'x-buttons', 'x-label-select', 'x-conversation', 'x-check-list', 'x-cardSet', 'x-collapse', 'x-h-descriptions', 'x-sidebar', 'x-list','x-input','x-time-line', 'x-radio','x-calendar', 'x-time-select','x-checkbox', 'x-title', 'x-select', 'x-tree-rows', 'x-three-test-orders', 'x-shift-schedule','x-charge'].includes(cell.slotType)">
67
67
  <component
68
68
  :is="getComponentName(cell.slotConfig, cell.serviceName, cell.slotType)"
69
69
  :key="cellIndex"
@@ -125,7 +125,8 @@ export default {
125
125
  XSelect: () => import('@vue2-client/base-client/components/his/XSelect/XSelect.vue'),
126
126
  XTreeRows: () => import('@vue2-client/base-client/components/his/XTreeRows/XTreeRows.vue'),
127
127
  XThreeTestOrders: () => import('@vue2-client/base-client/components/his/threeTestOrders/threeTestOrders.vue'),
128
- XShiftSchedule: () => import('@vue2-client/base-client/components/his/XShiftSchedule/XShiftSchedule.vue')
128
+ XShiftSchedule: () => import('@vue2-client/base-client/components/his/XShiftSchedule/XShiftSchedule.vue'),
129
+ XCharge: () => import('@vue2-client/base-client/components/his/XCharge/XCharge.vue')
129
130
  },
130
131
  props: {
131
132
  // 每一行的配置
@@ -0,0 +1,226 @@
1
+ <template>
2
+ <div class="xcharge-wrapper">
3
+ <!-- 顶部金额信息区(表单行风格,宽度固定,每行4个) -->
4
+ <a-row :gutter="0" class="amount-info">
5
+ <a-col v-for="item in config.amountFields" :key="item.field" :span="6" class="form-row">
6
+ <label class="form-label">{{ item.label }}</label>
7
+ <a-input
8
+ :value="data[item.field]"
9
+ disabled
10
+ class="form-input"
11
+ />
12
+ </a-col>
13
+ </a-row>
14
+
15
+ <a-divider/>
16
+
17
+ <!-- 支付方式选择区 -->
18
+ <div class="payment-methods">
19
+ <a-button
20
+ v-for="method in config.paymentMethods"
21
+ :key="method.key"
22
+ :class="['payment-btn', { active: selectedMethod === method.key }]"
23
+ @click="selectMethod(method.key)"
24
+ >
25
+ <div>
26
+ <div class="pay-label">{{ method.label }}</div>
27
+ </div>
28
+ </a-button>
29
+ </div>
30
+
31
+ <a-divider/>
32
+
33
+ <!-- 底部金额和操作区(表单行风格,宽度固定) -->
34
+ <a-row :gutter="0" class="bottom-info">
35
+ <a-col v-for="item in config.bottomFields" :key="item.field" :span="8" class="form-row">
36
+ <label class="form-label">{{ item.label }}</label>
37
+ <a-input
38
+ v-model="data[item.field]"
39
+ :disabled="item.disabled"
40
+ class="form-input"
41
+ />
42
+ </a-col>
43
+ </a-row>
44
+ <a-row class="actions-row" justify="center">
45
+ <a-button
46
+ v-for="btn in config.actionButtons"
47
+ :key="btn.key"
48
+ @click="handleAction(btn.key)"
49
+ :icon="btn.icon"
50
+ style="margin: 0 8px"
51
+ >
52
+ {{ btn.label }}
53
+ </a-button>
54
+ </a-row>
55
+ </div>
56
+ </template>
57
+
58
+ <script>
59
+ import { getConfigByName, runLogic } from '@/services/api/common'
60
+
61
+ export default {
62
+ name: 'XCharge',
63
+ props: {
64
+ configName: {
65
+ type: String,
66
+ default: '收费组件Config'
67
+ },
68
+ parameter: {
69
+ type: Object,
70
+ default: () => ({})
71
+ }
72
+ },
73
+ data () {
74
+ return {
75
+ config: {
76
+ amountFields: [],
77
+ paymentMethods: [],
78
+ bottomFields: [],
79
+ actionButtons: []
80
+ },
81
+ data: {},
82
+ selectedMethod: '',
83
+ }
84
+ },
85
+ created () {
86
+ this.getConfig(this.configName, {})
87
+ },
88
+ methods: {
89
+ getConfig (configName, param) {
90
+ getConfigByName(configName, 'af-his', res => {
91
+ this.config = res
92
+ this.selectedMethod = res.paymentMethods?.[0]?.key || ''
93
+ // 初始化数据
94
+ runLogic(res.dataSourceConfig, param, 'af-his').then(resData => {
95
+ this.data = { ...resData }
96
+ })
97
+ })
98
+ },
99
+ refreshList (param) {
100
+ this.getConfig(this.configName, param)
101
+ },
102
+ handleAction (key) {
103
+ console.warn('选择的的方法 ====》' + key)
104
+ console.warn('页面数据 ====》' + JSON.stringify(this.data))
105
+ console.warn('选择的支付方式 ====》' + this.selectedMethod)
106
+ this.$emit('action', { key, data: this.data, method: this.selectedMethod })
107
+ }
108
+ },
109
+ watch: {
110
+ configName (val) {
111
+ this.getConfig()
112
+ }
113
+ }
114
+ }
115
+ </script>
116
+
117
+ <style scoped>
118
+ .xcharge-wrapper {
119
+ background: #fff;
120
+ padding: 24px;
121
+ border-radius: 8px;
122
+ }
123
+
124
+ .amount-info {
125
+ margin-bottom: 20px;
126
+ display: flex;
127
+ flex-wrap: wrap;
128
+ row-gap: 16px;
129
+ }
130
+
131
+ .form-row {
132
+ display: flex;
133
+ align-items: center;
134
+ margin-bottom: 30px;
135
+ }
136
+
137
+ .form-label {
138
+ width: 100px;
139
+ font-size: 18px;
140
+ color: #333;
141
+ font-weight: bold;
142
+ text-align: left;
143
+ letter-spacing: 1px;
144
+ flex-shrink: 0;
145
+ }
146
+
147
+ .form-input {
148
+ width: 180px;
149
+ height: 40px;
150
+ font-size: 18px;
151
+ border-radius: 8px;
152
+ border: 1.5px solid #dcdfe6;
153
+ background: #fff;
154
+ color: #333;
155
+ padding-left: 12px;
156
+ }
157
+
158
+ .form-input[disabled] {
159
+ color: #999;
160
+ background: #f5f5f5;
161
+ }
162
+
163
+ .payment-methods {
164
+ display: flex;
165
+ justify-content: space-around;
166
+ margin: 32px 0;
167
+ }
168
+
169
+ .payment-btn {
170
+ width: 180px;
171
+ height: 120px;
172
+ margin: 0 16px;
173
+ display: flex;
174
+ align-items: center;
175
+ justify-content: center;
176
+ background: #f7f8fa;
177
+ border: 1.5px solid #e4e7ed;
178
+ color: #333;
179
+ font-weight: bold;
180
+ font-size: 24px;
181
+ transition: all 0.2s;
182
+ box-shadow: none;
183
+ border-radius: 12px;
184
+ }
185
+
186
+ .payment-btn.active {
187
+ background: #409eff;
188
+ border-color: #409eff;
189
+ color: #fff;
190
+ }
191
+
192
+ .pay-label {
193
+ font-size: 24px;
194
+ font-weight: bold;
195
+ }
196
+
197
+ .pay-shortcut {
198
+ font-size: 16px;
199
+ color: #888;
200
+ }
201
+
202
+ .bottom-info {
203
+ margin-top: 24px;
204
+ display: flex;
205
+ flex-wrap: wrap;
206
+ row-gap: 16px;
207
+ }
208
+
209
+ .actions-row {
210
+ margin-top: 32px;
211
+ display: flex;
212
+ justify-content: center;
213
+ }
214
+
215
+ .actions-row .ant-btn {
216
+ margin: 0 8px;
217
+ background: #444;
218
+ color: #fff;
219
+ border-radius: 6px;
220
+ border: none;
221
+ font-size: 16px;
222
+ font-weight: 500;
223
+ height: 38px;
224
+ min-width: 90px;
225
+ }
226
+ </style>
@@ -58,9 +58,6 @@ export default {
58
58
  this.getData(this.queryParamsName, this.fixedQueryForm)
59
59
  },
60
60
  methods: {
61
- click11 (val) {
62
- Object.assign(this.fixedQueryForm, { condition: val })
63
- },
64
61
  async getData (config, param) {
65
62
  const that = this
66
63
  getConfigByName(config, 'af-his', res => {
@@ -5,44 +5,44 @@
5
5
  :rowSelection="rowSelection"
6
6
  :scroll="{ y: '75vh' }">
7
7
  <span slot="time" class="time-title">
8
- <span v-for="(item, index) in configData.timePeriod" :key=index>{{item}}</span>
8
+ <span v-for="(item, index) in configData.timePeriod" :key="index">{{ item }}</span>
9
9
  </span>
10
10
  <template slot="Monday" slot-scope="text, record">
11
11
  <div class="time-title">
12
- <a-button v-for="(item, index) in record.Monday" :key="index" @click="handleShiftChange('Monday', index, record)">{{item === 1 || item === '1' ? '坐诊' : '休息'}}</a-button>
12
+ <a-button v-for="(item, index) in record.Monday" :key="index" @click="handleShiftChange('Monday', index, record)">{{ item === 1 || item === '1' ? '坐诊' : '休息' }}</a-button>
13
13
  </div>
14
14
  </template>
15
15
  <template slot="Tuesday" slot-scope="text, record">
16
16
  <div class="time-title">
17
- <a-button v-for="(item, index) in record.Tuesday" :key="index" @click="handleShiftChange('Tuesday', index, record)">{{item === 1 || item === '1' ? '坐诊' : '休息'}}</a-button>
17
+ <a-button v-for="(item, index) in record.Tuesday" :key="index" @click="handleShiftChange('Tuesday', index, record)">{{ item === 1 || item === '1' ? '坐诊' : '休息' }}</a-button>
18
18
  </div>
19
19
  </template>
20
20
  <template slot="Wednesday" slot-scope="text, record">
21
21
  <div class="time-title">
22
- <a-button v-for="(item, index) in record.Wednesday" :key="index" @click="handleShiftChange('Wednesday', index, record)">{{item === 1 || item === '1' ? '坐诊' : '休息'}}</a-button>
22
+ <a-button v-for="(item, index) in record.Wednesday" :key="index" @click="handleShiftChange('Wednesday', index, record)">{{ item === 1 || item === '1' ? '坐诊' : '休息' }}</a-button>
23
23
  </div>
24
24
  </template>
25
25
  <template slot="Thursday" slot-scope="text, record">
26
26
  <div class="time-title">
27
- <a-button v-for="(item, index) in record.Thursday" :key="index" @click="handleShiftChange('Thursday', index, record)">{{item === 1 || item === '1' ? '坐诊' : '休息'}}</a-button>
27
+ <a-button v-for="(item, index) in record.Thursday" :key="index" @click="handleShiftChange('Thursday', index, record)">{{ item === 1 || item === '1' ? '坐诊' : '休息' }}</a-button>
28
28
  </div>
29
29
  </template>
30
30
  <template slot="Friday" slot-scope="text, record">
31
31
  <div class="time-title">
32
- <a-button v-for="(item, index) in record.Friday" :key="index" @click="handleShiftChange('Friday', index, record)">{{item === 1 || item === '1' ? '坐诊' : '休息'}}</a-button>
32
+ <a-button v-for="(item, index) in record.Friday" :key="index" @click="handleShiftChange('Friday', index, record)">{{ item === 1 || item === '1' ? '坐诊' : '休息' }}</a-button>
33
33
  </div>
34
34
  </template>
35
35
  <template slot="Saturday" slot-scope="text, record">
36
36
  <div class="time-title">
37
- <a-button v-for="(item, index) in record.Saturday" :key="index" @click="handleShiftChange('Saturday', index, record)">{{item === 1 || item === '1' ? '坐诊' : '休息'}}</a-button>
37
+ <a-button v-for="(item, index) in record.Saturday" :key="index" @click="handleShiftChange('Saturday', index, record)">{{ item === 1 || item === '1' ? '坐诊' : '休息' }}</a-button>
38
38
  </div>
39
39
  </template>
40
40
  <template slot="Sunday" slot-scope="text, record">
41
41
  <div class="time-title">
42
- <a-button v-for="(item, index) in record.Sunday" :key="index" @click="handleShiftChange('Sunday', index, record)">{{item === 1 || item === '1' ? '坐诊' : '休息'}}</a-button>
42
+ <a-button v-for="(item, index) in record.Sunday" :key="index" @click="handleShiftChange('Sunday', index, record)">{{ item === 1 || item === '1' ? '坐诊' : '休息' }}</a-button>
43
43
  </div>
44
44
  </template>
45
- <template slot="sk_limit" slot-scope="text, record">
45
+ <template slot="sk_limit" slot-scope="text, record">
46
46
  <a-input-number id="inputNumber" v-model="record.sk_limit" :min="configData.sk_limitMin" :max="configData.sk_limitMax" />
47
47
  </template>
48
48
  </a-table>