vue2-client 1.18.35 → 1.18.36
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 +1 -1
- package/src/base-client/components/common/AmapMarker/index.js +3 -3
- package/src/base-client/components/common/CitySelect/CitySelect.vue +9 -1
- package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +22 -0
- package/src/base-client/components/common/XAddNativeForm/demo.vue +2 -7
- package/src/base-client/components/common/XDescriptions/XDescriptions.vue +174 -174
- package/src/base-client/components/common/XDetailsView/index.js +3 -3
- package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
- package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
- package/src/config/CreateQueryConfig.js +325 -325
- package/src/pages/WorkflowDetail/WorkFlowDemo.vue +1 -1
- package/src/pages/XTreeOneProExample/index.vue +67 -67
- package/src/router/async/router.map.js +2 -2
- package/tests/unit/a.log +0 -0
package/package.json
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import AmapPointRendering from './AmapPointRendering'
|
|
2
|
-
|
|
3
|
-
export default AmapPointRendering
|
|
1
|
+
import AmapPointRendering from './AmapPointRendering'
|
|
2
|
+
|
|
3
|
+
export default AmapPointRendering
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
<a-tabs
|
|
26
26
|
v-model="activeKey"
|
|
27
27
|
:size="size"
|
|
28
|
-
@mousedown
|
|
28
|
+
@mousedown="handleTabMousedown"
|
|
29
29
|
>
|
|
30
30
|
<a-tab-pane
|
|
31
31
|
:tab="view.key"
|
|
@@ -36,6 +36,7 @@
|
|
|
36
36
|
<a-input
|
|
37
37
|
v-model="searchKeyword[index]"
|
|
38
38
|
placeholder="搜索"
|
|
39
|
+
class="search-input"
|
|
39
40
|
style="margin-bottom: 10px; width: 100%;"
|
|
40
41
|
/>
|
|
41
42
|
<a-checkable-tag
|
|
@@ -228,6 +229,13 @@ export default {
|
|
|
228
229
|
}
|
|
229
230
|
},
|
|
230
231
|
methods: {
|
|
232
|
+
handleTabMousedown (e) {
|
|
233
|
+
console.log('aaaaa', e)
|
|
234
|
+
const isInput = e.target.closest('.search-input')
|
|
235
|
+
if (!isInput) {
|
|
236
|
+
e.preventDefault()
|
|
237
|
+
}
|
|
238
|
+
},
|
|
231
239
|
handleFocus () {
|
|
232
240
|
this.selectOpen = true
|
|
233
241
|
},
|
|
@@ -24,6 +24,7 @@ const wrapperClassObject = computed(() => {
|
|
|
24
24
|
'button-style',
|
|
25
25
|
'header-center',
|
|
26
26
|
'expanded-grid-white',
|
|
27
|
+
'report-mode',
|
|
27
28
|
// listView模式下隐藏“已选择”按钮
|
|
28
29
|
'listview-hide-selected'
|
|
29
30
|
]
|
|
@@ -438,5 +439,26 @@ const isHiddenFunctionalArea = computed(() => {
|
|
|
438
439
|
display: none !important;
|
|
439
440
|
}
|
|
440
441
|
}
|
|
442
|
+
// 报表样式
|
|
443
|
+
@skip-cells: 2;
|
|
444
|
+
&.h-form-table-report-mode {
|
|
445
|
+
--skip-cells: 4;
|
|
446
|
+
:deep(.ant-table-header){
|
|
447
|
+
padding-bottom: 0px !important;
|
|
448
|
+
}
|
|
449
|
+
:deep(.ant-table-content){
|
|
450
|
+
border: 1px solid #E5E9F0;
|
|
451
|
+
}
|
|
452
|
+
:deep(.resize-table-th){
|
|
453
|
+
background-color: white !important;
|
|
454
|
+
}
|
|
455
|
+
:deep(.ant-table-row) {
|
|
456
|
+
.ant-table-row-cell-ellipsis {
|
|
457
|
+
&:nth-child(n + @{skip-cells}) {
|
|
458
|
+
color: #3362DA !important;
|
|
459
|
+
}
|
|
460
|
+
}
|
|
461
|
+
}
|
|
462
|
+
}
|
|
441
463
|
}
|
|
442
464
|
</style>
|
|
@@ -11,7 +11,7 @@ export default {
|
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
13
|
mounted () {
|
|
14
|
-
getConfigByNameAsync('
|
|
14
|
+
getConfigByNameAsync('formtestForm', 'af-system').then(res => {
|
|
15
15
|
this.$refs.xAddFrom.init(Object.assign(res, {
|
|
16
16
|
modifyModelData: {
|
|
17
17
|
data: {}
|
|
@@ -26,9 +26,6 @@ export default {
|
|
|
26
26
|
},
|
|
27
27
|
singLocal () {
|
|
28
28
|
console.log('singLocal')
|
|
29
|
-
},
|
|
30
|
-
onSubmit () {
|
|
31
|
-
this.$refs.xAddFrom.onSubmit()
|
|
32
29
|
}
|
|
33
30
|
}
|
|
34
31
|
}
|
|
@@ -46,10 +43,8 @@ export default {
|
|
|
46
43
|
</a-card>
|
|
47
44
|
<a-card>
|
|
48
45
|
<pre>{{
|
|
49
|
-
form ? JSON.stringify(form, null, 2) : '请先点击获取表单数据
|
|
50
|
-
<a-button type="primary" @click="onSubmit()">提交</a-button>
|
|
46
|
+
form ? JSON.stringify(form, null, 2) : '请先点击获取表单数据' }}
|
|
51
47
|
</pre>
|
|
52
|
-
|
|
53
48
|
</a-card>
|
|
54
49
|
</div>
|
|
55
50
|
</template>
|
|
@@ -1,174 +1,174 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<div class="row">
|
|
3
|
-
<div class="content">
|
|
4
|
-
<a-skeleton :loading="loading" :paragraph="{ rows: 4 }" />
|
|
5
|
-
<div v-show="!loading">
|
|
6
|
-
<template v-if="!loadError">
|
|
7
|
-
<a-descriptions v-if="realData" :column="isMobile ? 1 : column" size="small" :title="title">
|
|
8
|
-
<a-descriptions-item
|
|
9
|
-
v-for="(value, key) in realData"
|
|
10
|
-
:key="key"
|
|
11
|
-
:label="key">
|
|
12
|
-
{{ formatText(value) }}
|
|
13
|
-
</a-descriptions-item>
|
|
14
|
-
</a-descriptions>
|
|
15
|
-
</template>
|
|
16
|
-
<template v-else>
|
|
17
|
-
<a-empty>
|
|
18
|
-
<span slot="description"> 页面配置不存在,请联系系统管理员 </span>
|
|
19
|
-
</a-empty>
|
|
20
|
-
</template>
|
|
21
|
-
</div>
|
|
22
|
-
</div>
|
|
23
|
-
<div class="extra" v-if="extraShow">
|
|
24
|
-
<slot name="addonAfter"/>
|
|
25
|
-
</div>
|
|
26
|
-
</div>
|
|
27
|
-
</template>
|
|
28
|
-
<script>
|
|
29
|
-
|
|
30
|
-
import { mapState } from 'vuex'
|
|
31
|
-
import { getRealKeyData } from '@vue2-client/utils/formatter'
|
|
32
|
-
import { getConfigByName } from '@vue2-client/services/api/common'
|
|
33
|
-
|
|
34
|
-
export default {
|
|
35
|
-
name: 'XDescriptions',
|
|
36
|
-
components: {
|
|
37
|
-
},
|
|
38
|
-
props: {
|
|
39
|
-
// 标题
|
|
40
|
-
title: {
|
|
41
|
-
type: String,
|
|
42
|
-
required: true
|
|
43
|
-
},
|
|
44
|
-
// 内容
|
|
45
|
-
content: {
|
|
46
|
-
type: Object,
|
|
47
|
-
required: true
|
|
48
|
-
},
|
|
49
|
-
// 模型名
|
|
50
|
-
model: {
|
|
51
|
-
type: String,
|
|
52
|
-
required: false,
|
|
53
|
-
default: ''
|
|
54
|
-
},
|
|
55
|
-
// 配置名称
|
|
56
|
-
configName: {
|
|
57
|
-
type: String,
|
|
58
|
-
required: true
|
|
59
|
-
},
|
|
60
|
-
// 配置所属命名空间
|
|
61
|
-
serviceName: {
|
|
62
|
-
type: String,
|
|
63
|
-
default: undefined
|
|
64
|
-
},
|
|
65
|
-
env: {
|
|
66
|
-
type: String,
|
|
67
|
-
default: 'prod'
|
|
68
|
-
},
|
|
69
|
-
// 每列显示数量
|
|
70
|
-
column: {
|
|
71
|
-
type: Number,
|
|
72
|
-
default: 2
|
|
73
|
-
},
|
|
74
|
-
// 每列显示数量
|
|
75
|
-
getRealData: {
|
|
76
|
-
type: Boolean,
|
|
77
|
-
default: false
|
|
78
|
-
},
|
|
79
|
-
// 是否展示插槽
|
|
80
|
-
extraShow: {
|
|
81
|
-
type: Boolean,
|
|
82
|
-
default: true
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
created () {
|
|
86
|
-
this.initConfig()
|
|
87
|
-
},
|
|
88
|
-
data () {
|
|
89
|
-
return {
|
|
90
|
-
// 加载状态
|
|
91
|
-
loading: false,
|
|
92
|
-
loadError: false,
|
|
93
|
-
realData: undefined
|
|
94
|
-
}
|
|
95
|
-
},
|
|
96
|
-
computed: {
|
|
97
|
-
...mapState('setting', { isMobile: 'isMobile' })
|
|
98
|
-
},
|
|
99
|
-
methods: {
|
|
100
|
-
initConfig () {
|
|
101
|
-
this.loading = true
|
|
102
|
-
this.loadError = false
|
|
103
|
-
if (this.configName) {
|
|
104
|
-
this.getConfig()
|
|
105
|
-
} else {
|
|
106
|
-
this.loading = false
|
|
107
|
-
this.loadError = true
|
|
108
|
-
}
|
|
109
|
-
},
|
|
110
|
-
getConfig () {
|
|
111
|
-
getConfigByName(this.configName, this.serviceName, (res) => {
|
|
112
|
-
const mapIndex = {}
|
|
113
|
-
const result = {}
|
|
114
|
-
if (res.formJson) {
|
|
115
|
-
res.formJson.filter(item => {
|
|
116
|
-
const model = item.model
|
|
117
|
-
return model.indexOf(this.model) > 0
|
|
118
|
-
})[0].groupItems.forEach(item => {
|
|
119
|
-
mapIndex[item.model.substring(item.model.indexOf('_') + 1)] = item.name
|
|
120
|
-
})
|
|
121
|
-
for (const key of Object.keys(this.content)) {
|
|
122
|
-
const name = mapIndex[key]
|
|
123
|
-
if (name) {
|
|
124
|
-
result[name] = this.content[key]
|
|
125
|
-
} else {
|
|
126
|
-
result[key] = this.content[key]
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
} else if (res.column) {
|
|
130
|
-
// [{label:'标签1',filed:'字段1'}]
|
|
131
|
-
let content = {}
|
|
132
|
-
if (this.getRealData) {
|
|
133
|
-
content = getRealKeyData(this.content)
|
|
134
|
-
} else {
|
|
135
|
-
content = this.content
|
|
136
|
-
}
|
|
137
|
-
if (typeof content === 'string') {
|
|
138
|
-
content = JSON.parse(content)
|
|
139
|
-
}
|
|
140
|
-
res.column.forEach(item => {
|
|
141
|
-
result[item.label] = content[item.filed]
|
|
142
|
-
})
|
|
143
|
-
}
|
|
144
|
-
this.realData = result
|
|
145
|
-
this.loading = false
|
|
146
|
-
}, this.env === 'dev')
|
|
147
|
-
},
|
|
148
|
-
// 文字格式化
|
|
149
|
-
formatText (value) {
|
|
150
|
-
return value ?? '--'
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
</script>
|
|
155
|
-
<style>
|
|
156
|
-
.row {
|
|
157
|
-
display: flex;
|
|
158
|
-
|
|
159
|
-
.content {
|
|
160
|
-
-webkit-box-flex: 1;
|
|
161
|
-
flex: auto;
|
|
162
|
-
-ms-flex: auto;
|
|
163
|
-
}
|
|
164
|
-
|
|
165
|
-
.extra {
|
|
166
|
-
flex: 0 1 auto;
|
|
167
|
-
-webkit-box-flex: 0;
|
|
168
|
-
-ms-flex: 0 1 auto;
|
|
169
|
-
min-width: 242px;
|
|
170
|
-
margin-left: 88px;
|
|
171
|
-
text-align: right;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
</style>
|
|
1
|
+
<template>
|
|
2
|
+
<div class="row">
|
|
3
|
+
<div class="content">
|
|
4
|
+
<a-skeleton :loading="loading" :paragraph="{ rows: 4 }" />
|
|
5
|
+
<div v-show="!loading">
|
|
6
|
+
<template v-if="!loadError">
|
|
7
|
+
<a-descriptions v-if="realData" :column="isMobile ? 1 : column" size="small" :title="title">
|
|
8
|
+
<a-descriptions-item
|
|
9
|
+
v-for="(value, key) in realData"
|
|
10
|
+
:key="key"
|
|
11
|
+
:label="key">
|
|
12
|
+
{{ formatText(value) }}
|
|
13
|
+
</a-descriptions-item>
|
|
14
|
+
</a-descriptions>
|
|
15
|
+
</template>
|
|
16
|
+
<template v-else>
|
|
17
|
+
<a-empty>
|
|
18
|
+
<span slot="description"> 页面配置不存在,请联系系统管理员 </span>
|
|
19
|
+
</a-empty>
|
|
20
|
+
</template>
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
<div class="extra" v-if="extraShow">
|
|
24
|
+
<slot name="addonAfter"/>
|
|
25
|
+
</div>
|
|
26
|
+
</div>
|
|
27
|
+
</template>
|
|
28
|
+
<script>
|
|
29
|
+
|
|
30
|
+
import { mapState } from 'vuex'
|
|
31
|
+
import { getRealKeyData } from '@vue2-client/utils/formatter'
|
|
32
|
+
import { getConfigByName } from '@vue2-client/services/api/common'
|
|
33
|
+
|
|
34
|
+
export default {
|
|
35
|
+
name: 'XDescriptions',
|
|
36
|
+
components: {
|
|
37
|
+
},
|
|
38
|
+
props: {
|
|
39
|
+
// 标题
|
|
40
|
+
title: {
|
|
41
|
+
type: String,
|
|
42
|
+
required: true
|
|
43
|
+
},
|
|
44
|
+
// 内容
|
|
45
|
+
content: {
|
|
46
|
+
type: Object,
|
|
47
|
+
required: true
|
|
48
|
+
},
|
|
49
|
+
// 模型名
|
|
50
|
+
model: {
|
|
51
|
+
type: String,
|
|
52
|
+
required: false,
|
|
53
|
+
default: ''
|
|
54
|
+
},
|
|
55
|
+
// 配置名称
|
|
56
|
+
configName: {
|
|
57
|
+
type: String,
|
|
58
|
+
required: true
|
|
59
|
+
},
|
|
60
|
+
// 配置所属命名空间
|
|
61
|
+
serviceName: {
|
|
62
|
+
type: String,
|
|
63
|
+
default: undefined
|
|
64
|
+
},
|
|
65
|
+
env: {
|
|
66
|
+
type: String,
|
|
67
|
+
default: 'prod'
|
|
68
|
+
},
|
|
69
|
+
// 每列显示数量
|
|
70
|
+
column: {
|
|
71
|
+
type: Number,
|
|
72
|
+
default: 2
|
|
73
|
+
},
|
|
74
|
+
// 每列显示数量
|
|
75
|
+
getRealData: {
|
|
76
|
+
type: Boolean,
|
|
77
|
+
default: false
|
|
78
|
+
},
|
|
79
|
+
// 是否展示插槽
|
|
80
|
+
extraShow: {
|
|
81
|
+
type: Boolean,
|
|
82
|
+
default: true
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
created () {
|
|
86
|
+
this.initConfig()
|
|
87
|
+
},
|
|
88
|
+
data () {
|
|
89
|
+
return {
|
|
90
|
+
// 加载状态
|
|
91
|
+
loading: false,
|
|
92
|
+
loadError: false,
|
|
93
|
+
realData: undefined
|
|
94
|
+
}
|
|
95
|
+
},
|
|
96
|
+
computed: {
|
|
97
|
+
...mapState('setting', { isMobile: 'isMobile' })
|
|
98
|
+
},
|
|
99
|
+
methods: {
|
|
100
|
+
initConfig () {
|
|
101
|
+
this.loading = true
|
|
102
|
+
this.loadError = false
|
|
103
|
+
if (this.configName) {
|
|
104
|
+
this.getConfig()
|
|
105
|
+
} else {
|
|
106
|
+
this.loading = false
|
|
107
|
+
this.loadError = true
|
|
108
|
+
}
|
|
109
|
+
},
|
|
110
|
+
getConfig () {
|
|
111
|
+
getConfigByName(this.configName, this.serviceName, (res) => {
|
|
112
|
+
const mapIndex = {}
|
|
113
|
+
const result = {}
|
|
114
|
+
if (res.formJson) {
|
|
115
|
+
res.formJson.filter(item => {
|
|
116
|
+
const model = item.model
|
|
117
|
+
return model.indexOf(this.model) > 0
|
|
118
|
+
})[0].groupItems.forEach(item => {
|
|
119
|
+
mapIndex[item.model.substring(item.model.indexOf('_') + 1)] = item.name
|
|
120
|
+
})
|
|
121
|
+
for (const key of Object.keys(this.content)) {
|
|
122
|
+
const name = mapIndex[key]
|
|
123
|
+
if (name) {
|
|
124
|
+
result[name] = this.content[key]
|
|
125
|
+
} else {
|
|
126
|
+
result[key] = this.content[key]
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
} else if (res.column) {
|
|
130
|
+
// [{label:'标签1',filed:'字段1'}]
|
|
131
|
+
let content = {}
|
|
132
|
+
if (this.getRealData) {
|
|
133
|
+
content = getRealKeyData(this.content)
|
|
134
|
+
} else {
|
|
135
|
+
content = this.content
|
|
136
|
+
}
|
|
137
|
+
if (typeof content === 'string') {
|
|
138
|
+
content = JSON.parse(content)
|
|
139
|
+
}
|
|
140
|
+
res.column.forEach(item => {
|
|
141
|
+
result[item.label] = content[item.filed]
|
|
142
|
+
})
|
|
143
|
+
}
|
|
144
|
+
this.realData = result
|
|
145
|
+
this.loading = false
|
|
146
|
+
}, this.env === 'dev')
|
|
147
|
+
},
|
|
148
|
+
// 文字格式化
|
|
149
|
+
formatText (value) {
|
|
150
|
+
return value ?? '--'
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
</script>
|
|
155
|
+
<style>
|
|
156
|
+
.row {
|
|
157
|
+
display: flex;
|
|
158
|
+
|
|
159
|
+
.content {
|
|
160
|
+
-webkit-box-flex: 1;
|
|
161
|
+
flex: auto;
|
|
162
|
+
-ms-flex: auto;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
.extra {
|
|
166
|
+
flex: 0 1 auto;
|
|
167
|
+
-webkit-box-flex: 0;
|
|
168
|
+
-ms-flex: 0 1 auto;
|
|
169
|
+
min-width: 242px;
|
|
170
|
+
margin-left: 88px;
|
|
171
|
+
text-align: right;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
</style>
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import XDetailsView from './XDetailsView'
|
|
2
|
-
|
|
3
|
-
export default XDetailsView
|
|
1
|
+
import XDetailsView from './XDetailsView'
|
|
2
|
+
|
|
3
|
+
export default XDetailsView
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import XFormGroupDetails from './XFormGroupDetails'
|
|
2
|
-
|
|
3
|
-
export default XFormGroupDetails
|
|
1
|
+
import XFormGroupDetails from './XFormGroupDetails'
|
|
2
|
+
|
|
3
|
+
export default XFormGroupDetails
|