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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vue2-client",
3
- "version": "1.18.35",
3
+ "version": "1.18.36",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "SET NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve --no-eslint",
@@ -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.prevent
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('SecurityPhotoForm', 'af-safecheck').then(res => {
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) : '请先点击获取表单数据11111' }}
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