vue2-client 1.18.11 → 1.18.13

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 (97) hide show
  1. package/.eslintrc.js +90 -90
  2. package/Components.md +60 -60
  3. package/docs/index.md +30 -30
  4. package/index.js +31 -31
  5. package/jest-transform-stub.js +8 -8
  6. package/jest.setup.js +7 -7
  7. package/package.json +112 -112
  8. package/src/assets/img/querySlotDemo.svg +15 -15
  9. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  10. package/src/base-client/components/common/CitySelect/index.js +3 -3
  11. package/src/base-client/components/common/CitySelect/index.md +109 -109
  12. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  13. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  14. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  15. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  16. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  17. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  18. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  19. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  20. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  21. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  22. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  23. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  24. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  25. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  26. package/src/base-client/components/common/Tree/index.js +2 -2
  27. package/src/base-client/components/common/Upload/index.js +3 -3
  28. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  29. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  30. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  31. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  32. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  33. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  34. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  35. package/src/base-client/components/common/XForm/XForm.vue +80 -11
  36. package/src/base-client/components/common/XForm/index.md +178 -178
  37. package/src/base-client/components/common/XFormTable/XFormTable.vue +8 -2
  38. package/src/base-client/components/common/XFormTable/demo.vue +0 -5
  39. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  40. package/src/base-client/components/common/XStepView/index.js +3 -3
  41. package/src/base-client/components/common/XStepView/index.md +31 -31
  42. package/src/base-client/components/common/XTable/index.md +255 -255
  43. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  44. package/src/base-client/plugins/Config.js +19 -19
  45. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  46. package/src/components/Charts/Bar.vue +62 -62
  47. package/src/components/Charts/ChartCard.vue +134 -134
  48. package/src/components/Charts/Liquid.vue +67 -67
  49. package/src/components/Charts/MiniArea.vue +39 -39
  50. package/src/components/Charts/MiniBar.vue +39 -39
  51. package/src/components/Charts/MiniProgress.vue +75 -75
  52. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  53. package/src/components/Charts/Radar.vue +68 -68
  54. package/src/components/Charts/RankList.vue +77 -77
  55. package/src/components/Charts/TagCloud.vue +113 -113
  56. package/src/components/Charts/TransferBar.vue +64 -64
  57. package/src/components/Charts/Trend.vue +82 -82
  58. package/src/components/Charts/chart.less +12 -12
  59. package/src/components/Charts/smooth.area.less +13 -13
  60. package/src/components/FileImageItem/FileItem.vue +320 -320
  61. package/src/components/FileImageItem/FileItemGroup.vue +296 -213
  62. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  63. package/src/components/NumberInfo/index.js +3 -3
  64. package/src/components/NumberInfo/index.less +54 -54
  65. package/src/components/NumberInfo/index.md +43 -43
  66. package/src/components/STable/index.js +0 -3
  67. package/src/components/card/ChartCard.vue +79 -79
  68. package/src/components/chart/Bar.vue +60 -60
  69. package/src/components/chart/MiniArea.vue +67 -67
  70. package/src/components/chart/MiniBar.vue +59 -59
  71. package/src/components/chart/MiniProgress.vue +57 -57
  72. package/src/components/chart/Radar.vue +80 -80
  73. package/src/components/chart/RankingList.vue +60 -60
  74. package/src/components/chart/Trend.vue +79 -79
  75. package/src/components/chart/index.less +9 -9
  76. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  77. package/src/components/index.js +36 -36
  78. package/src/components/input/IInput.vue +66 -66
  79. package/src/components/menu/SideMenu.vue +75 -75
  80. package/src/components/menu/menu.js +273 -273
  81. package/src/components/tool/AStepItem.vue +60 -60
  82. package/src/layouts/CommonLayout.vue +56 -56
  83. package/src/layouts/header/HeaderNotice.vue +177 -177
  84. package/src/lib.js +1 -1
  85. package/src/mock/extend/index.js +84 -84
  86. package/src/mock/goods/index.js +108 -108
  87. package/src/pages/WorkflowDetail/WorkflowDetail.vue +404 -404
  88. package/src/pages/WorkflowDetail/WorkflowPageDetail/worklog.vue +98 -98
  89. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  90. package/src/pages/system/dictionary/index.vue +44 -44
  91. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  92. package/src/pages/system/monitor/operLog/index.vue +37 -37
  93. package/src/services/api/cas.js +79 -79
  94. package/src/store/modules/setting.js +119 -119
  95. package/src/utils/authority-utils.js +85 -85
  96. package/src/utils/errorCode.js +6 -6
  97. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,83 +1,83 @@
1
- # XDescriptions
2
-
3
- 动态Descriptions控件,根据JSON配置动态生成Descriptions
4
-
5
-
6
- ## 何时使用
7
-
8
- 当需要一个动态生成的Descriptions时
9
-
10
-
11
- 引用方式:
12
-
13
- ```javascript
14
- import XDescriptions from '@vue2-client/base-client/components/XDescriptions/XDescriptions'
15
-
16
- export default {
17
- components: {
18
- XDescriptions
19
- }
20
- }
21
- ```
22
-
23
-
24
-
25
- ## 代码演示
26
-
27
- ```html
28
- <x-descriptions
29
- title="设备属性"
30
- :content="details.prop_json"
31
- :queryParamsName="queryParamsName">
32
- </x-descriptions>
33
- ```
34
-
35
- ## API
36
-
37
- | 参数 | 说明 | 类型 | 默认值 |
38
- |-----------------|-------------|--------|------|
39
- | title | 业务名称 | String | '' |
40
- | content | 业务内容 | String | '' |
41
- | queryParamsName | 查询配置JSON文件名 | String | null |
42
- | serviceName | 配置所属命名空间 | String | null |
43
-
44
- ## 例子1
45
- ----
46
- (基础使用)
47
-
48
- ```vue
49
- <template>
50
- <x-descriptions
51
- title="设备属性"
52
- :content="details.prop_json"
53
- :configName="configName">
54
- </x-descriptions>
55
- </template>
56
-
57
- <script>
58
- import XDescriptions from '@vue2-client/base-client/components/XDescriptions/XDescriptions'
59
-
60
- export default {
61
- components: {
62
- XDescriptions
63
- },
64
- data () {
65
- return {
66
- // 查询配置文件名
67
- configName: 'logQueryParams',
68
- details: {
69
- prop_json: {
70
- 规格: 'G2.5'
71
- }
72
- }
73
- }
74
- },
75
- created () {
76
-
77
- },
78
- methods: {
79
-
80
- }
81
- }
82
- </script>
83
- ```
1
+ # XDescriptions
2
+
3
+ 动态Descriptions控件,根据JSON配置动态生成Descriptions
4
+
5
+
6
+ ## 何时使用
7
+
8
+ 当需要一个动态生成的Descriptions时
9
+
10
+
11
+ 引用方式:
12
+
13
+ ```javascript
14
+ import XDescriptions from '@vue2-client/base-client/components/XDescriptions/XDescriptions'
15
+
16
+ export default {
17
+ components: {
18
+ XDescriptions
19
+ }
20
+ }
21
+ ```
22
+
23
+
24
+
25
+ ## 代码演示
26
+
27
+ ```html
28
+ <x-descriptions
29
+ title="设备属性"
30
+ :content="details.prop_json"
31
+ :queryParamsName="queryParamsName">
32
+ </x-descriptions>
33
+ ```
34
+
35
+ ## API
36
+
37
+ | 参数 | 说明 | 类型 | 默认值 |
38
+ |-----------------|-------------|--------|------|
39
+ | title | 业务名称 | String | '' |
40
+ | content | 业务内容 | String | '' |
41
+ | queryParamsName | 查询配置JSON文件名 | String | null |
42
+ | serviceName | 配置所属命名空间 | String | null |
43
+
44
+ ## 例子1
45
+ ----
46
+ (基础使用)
47
+
48
+ ```vue
49
+ <template>
50
+ <x-descriptions
51
+ title="设备属性"
52
+ :content="details.prop_json"
53
+ :configName="configName">
54
+ </x-descriptions>
55
+ </template>
56
+
57
+ <script>
58
+ import XDescriptions from '@vue2-client/base-client/components/XDescriptions/XDescriptions'
59
+
60
+ export default {
61
+ components: {
62
+ XDescriptions
63
+ },
64
+ data () {
65
+ return {
66
+ // 查询配置文件名
67
+ configName: 'logQueryParams',
68
+ details: {
69
+ prop_json: {
70
+ 规格: 'G2.5'
71
+ }
72
+ }
73
+ }
74
+ },
75
+ created () {
76
+
77
+ },
78
+ methods: {
79
+
80
+ }
81
+ }
82
+ </script>
83
+ ```
@@ -9,9 +9,9 @@
9
9
  layout="inline">
10
10
  <a-row :gutter="24" type="flex">
11
11
  <x-form-item
12
- v-for="(item, index) in visibleItems"
12
+ v-for="item in visibleItems"
13
13
  :showLabel="!simpleMode"
14
- :key="`${queryParamsName}-item-${index}`"
14
+ :key="`${queryParamsName}-item-${item._originalIndex}`"
15
15
  :attr="item.formItem"
16
16
  :form="form"
17
17
  :service-name="serviceName"
@@ -23,9 +23,9 @@
23
23
  />
24
24
  <x-form-item
25
25
  v-show="advanced"
26
- v-for="(item, index) in hiddenItems"
26
+ v-for="item in hiddenItems"
27
27
  :showLabel="!simpleMode"
28
- :key="`advanced-${queryParamsName}-item-${index}`"
28
+ :key="`${queryParamsName}-item-${item._originalIndex}`"
29
29
  :attr="item.formItem"
30
30
  :form="form"
31
31
  :service-name="serviceName"
@@ -42,10 +42,10 @@
42
42
  <template v-if="hiddenItems.length > 0">
43
43
  <a @click="toggleAdvanced">
44
44
  <span v-if="!advanced" style="display: inline-flex; align-items: center;">
45
- <a-icon type="eye" :style="iconStyle"></a-icon>&nbsp;更多条件
45
+ <a-icon type="eye" :style="iconStyle" class="form-expand-icon"></a-icon>&nbsp;更多条件
46
46
  </span>
47
47
  <span v-else style="display: inline-flex; align-items: center;">
48
- <a-icon type="eye-invisible" :style="iconStyle"></a-icon>&nbsp;收起更多
48
+ <a-icon type="eye-invisible" :style="iconStyle" class="form-expand-icon rotated"></a-icon>&nbsp;收起更多
49
49
  </span>
50
50
  </a>
51
51
  <a-divider type="vertical"/>
@@ -159,11 +159,17 @@ export default {
159
159
  },
160
160
  // 显示的表单项
161
161
  visibleItems: function () {
162
- return this.allFormItems.slice(0, this.visibleItemCount)
162
+ return this.allFormItems.slice(0, this.visibleItemCount).map((item, index) => ({
163
+ ...item,
164
+ _originalIndex: index
165
+ }))
163
166
  },
164
167
  // 隐藏的表单项(需要点击展开才显示)
165
168
  hiddenItems: function () {
166
- return this.allFormItems.slice(this.visibleItemCount)
169
+ return this.allFormItems.slice(this.visibleItemCount).map((item, index) => ({
170
+ ...item,
171
+ _originalIndex: this.visibleItemCount + index
172
+ }))
167
173
  },
168
174
  },
169
175
  provide () {
@@ -176,10 +182,63 @@ export default {
176
182
  }
177
183
  },
178
184
  methods: {
185
+ // 根据flex值计算可见表单项数量
186
+ updateVisibleItemCount (flex) {
187
+ // flex值与显示数量的映射关系
188
+ const flexToCountMap = {
189
+ 24: 2, // 小屏:1个/行,显示2个(2行)
190
+ 12: 3, // 中屏:2个/行,显示3个(2行-1个)
191
+ 8: 5, // 大屏:3个/行,显示5个(2行-1个)
192
+ 6: 7, // 超大屏:4个/行,显示7个(2行-1个)
193
+ 4: 11 // 超超大屏:6个/行,显示11个(2行-1个)
194
+ }
195
+
196
+ const newCount = flexToCountMap[flex] || 7
197
+ // 只有当数量真正变化时才更新,避免不必要的重新渲染
198
+ if (this.visibleItemCount !== newCount) {
199
+ this.visibleItemCount = newCount
200
+ }
201
+ },
202
+
203
+ // 递归查找第一个XFormCol实例
204
+ findFirstXFormCol (components = this.$children) {
205
+ for (const component of components) {
206
+ if (component.$options.name === 'XFormCol') {
207
+ return component
208
+ }
209
+ // 递归查找子组件
210
+ const found = this.findFirstXFormCol(component.$children)
211
+ if (found) return found
212
+ }
213
+ return null
214
+ },
215
+
216
+ // 设置flex监听
217
+ setupFlexWatcher () {
218
+ this.$nextTick(() => {
219
+ const firstXFormCol = this.findFirstXFormCol()
220
+ if (firstXFormCol) {
221
+ // 立即执行一次设置初始值
222
+ this.updateVisibleItemCount(firstXFormCol.computedFlex)
223
+
224
+ // 设置监听
225
+ this._flexWatcher = this.$watch(
226
+ () => firstXFormCol.computedFlex,
227
+ (newFlex) => {
228
+ this.updateVisibleItemCount(newFlex)
229
+ }
230
+ )
231
+ } else {
232
+ // 重试机制,直到找到XFormCol
233
+ setTimeout(() => this.setupFlexWatcher(), 100)
234
+ }
235
+ })
236
+ },
237
+
179
238
  init (params) {
180
239
  const {
181
240
  formItems, serviceName, getDataParams = {}, env = 'prod', simpleMode = false, funcData = {},
182
- queryParamsName = 'localConfig', visibleItemCount = 7, defaultQueryForm = {}
241
+ queryParamsName = 'localConfig', defaultQueryForm = {}
183
242
  } = params
184
243
  this.mountedCount = 0
185
244
  this.queryParamsName = queryParamsName
@@ -188,7 +247,7 @@ export default {
188
247
  this.serviceName = serviceName
189
248
  this.env = env
190
249
  this.simpleMode = simpleMode
191
- this.visibleItemCount = visibleItemCount
250
+ // visibleItemCount 现在由 flex 监听动态控制,不再需要手动设置
192
251
  const formData = {}
193
252
  for (let i = 0; i < this.realJsonData.length; i++) {
194
253
  const item = this.realJsonData[i]
@@ -412,7 +471,17 @@ export default {
412
471
  setForm (obj) {
413
472
  this.form = Object.assign(this.form, obj)
414
473
  },
415
- }
474
+ },
475
+ mounted () {
476
+ console.log('XForm mounted, setting up flex watcher')
477
+ this.setupFlexWatcher()
478
+ },
479
+ beforeDestroy () {
480
+ // 清理watcher
481
+ if (this._flexWatcher) {
482
+ this._flexWatcher()
483
+ }
484
+ },
416
485
  }
417
486
  </script>
418
487
  <style lang="less" scoped>
@@ -1,178 +1,178 @@
1
- # XForm
2
-
3
- 动态表单控件,根据JSON配置生成一个完整的动态表单
4
-
5
-
6
- ## 何时使用
7
-
8
- 当需要一个动态生成的表单时
9
-
10
-
11
- 引用方式:
12
-
13
- ```javascript
14
- import XForm from '@vue2-client/base-client/components/XForm/XForm'
15
-
16
- export default {
17
- components: {
18
- XForm
19
- }
20
- }
21
- ```
22
-
23
-
24
-
25
- ## 代码演示
26
-
27
- ```html
28
- <x-form
29
- :json-data="json"
30
- :isExports="true"
31
- @onSubmit="onSubmit">
32
- </x-form>
33
- ```
34
-
35
- ## API
36
-
37
- | 参数 | 说明 | 类型 | 默认值 |
38
- |-----------|--------------------------|---------|------|
39
- | jsonData | JSON配置,根据[工具>查询配置生成]功能生成 | Object | {} |
40
- | isExports | 是否显示导出按钮 | Boolean | true |
41
- | getDataParams | 调用logic获取数据源的追加参数 | Object | - |
42
- | @onSubmit | 表单的提交事件 | event | - |
43
-
44
- ## 例子1
45
- ----
46
- (基础使用)
47
-
48
- ```vue
49
- <template>
50
- <x-form
51
- v-if="loaded"
52
- :json-data="formItemJson"
53
- :isExports="false"
54
- @onSubmit="onSubmit">
55
- </x-form>
56
- </template>
57
-
58
- <script>
59
- import XForm from '@vue2-client/base-client/components/XForm/XForm'
60
-
61
- export default {
62
- components: {
63
- XForm
64
- },
65
- data () {
66
- return {
67
- // 加载查询参数JSON配置文件是否完成
68
- loaded: false,
69
- // 从查询参数JSON配置中得到的生成表单的JSON
70
- formItemJson: undefined,
71
- // 表单
72
- form: {}
73
- }
74
- },
75
- created () {
76
- this.getQueryJson()
77
- },
78
- methods: {
79
- // 加载查询参数JSON配置文件
80
- getQueryJson () {
81
- this.formItemJson = [
82
- {
83
- "name":"燃气公司",
84
- "keyName":"orgList",
85
- "model":"orgName",
86
- "placeholder":"请选择",
87
- "type":"select"
88
- },
89
- {
90
- "name":"用户地址",
91
- "model":"f_address",
92
- "type":"input"
93
- },
94
- {
95
- "name":"指令类型",
96
- "keyName":"指令类型",
97
- "model":"f_instruct_type",
98
- "placeholder":"请选择",
99
- "type":"select"
100
- },
101
- {
102
- "name":"指令说明",
103
- "model":"f_instruct_title",
104
- "placeholder":"请输入指令说明",
105
- "type":"input"
106
- },
107
- {
108
- "name":"指令状态",
109
- "keyName":"指令状态",
110
- "model":"f_instruct_state",
111
- "placeholder":"请选择",
112
- "type":"select"
113
- },
114
- {
115
- "name":"响应结果",
116
- "model":"f_receive_state",
117
- "placeholder":"请输入响应结果",
118
- "type":"input"
119
- },
120
- {
121
- "name":"生成时间",
122
- "model":"f_instruct_date",
123
- "type":"rangePicker"
124
- },
125
- {
126
- "name":"操作人",
127
- "model":"f_inputtor",
128
- "placeholder":"请输入操作人员",
129
- "type":"input"
130
- }
131
- ]
132
- this.loaded = true
133
- },
134
- // 表单提交方法
135
- onSubmit (res) {
136
- // 如果通过校验
137
- if (res.valid) {
138
- // 表单赋值
139
- this.form = res.form
140
- } else {
141
- return false
142
- }
143
- }
144
- }
145
- }
146
- </script>
147
- ```
148
-
149
- 注意事项
150
- ----
151
-
152
- > 本组件已经实现了自适应布局,在不同分辨率下的设备均可得到基本理想的展示效果
153
- >
154
- > 以上示例查询参数配置为后台生成后的结果,此处为了方便调试,所以直接写在了代码中,实际使用请通过发起请求获取查询参数配置,如下:
155
- ```vue
156
- <script>
157
- import { commonApi } from '@vue2-client/base-client/api/common'
158
- import Vue from 'vue'
159
-
160
- export default {
161
- data () {
162
- return {
163
- // 查询配置文件名
164
- queryParamsName: 'instructQueryParams'
165
- }
166
- },
167
- methods: {
168
- getConfig () {
169
- Vue.resetpost(commonApi.getConfig, {str: this.queryParamsName}).then((res) => {
170
- this.formItemJson = res.formJson
171
- this.columnItemJson = res.columnJson
172
- this.loaded = true
173
- })
174
- }
175
- }
176
- }
177
- </script>
178
- ```
1
+ # XForm
2
+
3
+ 动态表单控件,根据JSON配置生成一个完整的动态表单
4
+
5
+
6
+ ## 何时使用
7
+
8
+ 当需要一个动态生成的表单时
9
+
10
+
11
+ 引用方式:
12
+
13
+ ```javascript
14
+ import XForm from '@vue2-client/base-client/components/XForm/XForm'
15
+
16
+ export default {
17
+ components: {
18
+ XForm
19
+ }
20
+ }
21
+ ```
22
+
23
+
24
+
25
+ ## 代码演示
26
+
27
+ ```html
28
+ <x-form
29
+ :json-data="json"
30
+ :isExports="true"
31
+ @onSubmit="onSubmit">
32
+ </x-form>
33
+ ```
34
+
35
+ ## API
36
+
37
+ | 参数 | 说明 | 类型 | 默认值 |
38
+ |-----------|--------------------------|---------|------|
39
+ | jsonData | JSON配置,根据[工具>查询配置生成]功能生成 | Object | {} |
40
+ | isExports | 是否显示导出按钮 | Boolean | true |
41
+ | getDataParams | 调用logic获取数据源的追加参数 | Object | - |
42
+ | @onSubmit | 表单的提交事件 | event | - |
43
+
44
+ ## 例子1
45
+ ----
46
+ (基础使用)
47
+
48
+ ```vue
49
+ <template>
50
+ <x-form
51
+ v-if="loaded"
52
+ :json-data="formItemJson"
53
+ :isExports="false"
54
+ @onSubmit="onSubmit">
55
+ </x-form>
56
+ </template>
57
+
58
+ <script>
59
+ import XForm from '@vue2-client/base-client/components/XForm/XForm'
60
+
61
+ export default {
62
+ components: {
63
+ XForm
64
+ },
65
+ data () {
66
+ return {
67
+ // 加载查询参数JSON配置文件是否完成
68
+ loaded: false,
69
+ // 从查询参数JSON配置中得到的生成表单的JSON
70
+ formItemJson: undefined,
71
+ // 表单
72
+ form: {}
73
+ }
74
+ },
75
+ created () {
76
+ this.getQueryJson()
77
+ },
78
+ methods: {
79
+ // 加载查询参数JSON配置文件
80
+ getQueryJson () {
81
+ this.formItemJson = [
82
+ {
83
+ "name":"燃气公司",
84
+ "keyName":"orgList",
85
+ "model":"orgName",
86
+ "placeholder":"请选择",
87
+ "type":"select"
88
+ },
89
+ {
90
+ "name":"用户地址",
91
+ "model":"f_address",
92
+ "type":"input"
93
+ },
94
+ {
95
+ "name":"指令类型",
96
+ "keyName":"指令类型",
97
+ "model":"f_instruct_type",
98
+ "placeholder":"请选择",
99
+ "type":"select"
100
+ },
101
+ {
102
+ "name":"指令说明",
103
+ "model":"f_instruct_title",
104
+ "placeholder":"请输入指令说明",
105
+ "type":"input"
106
+ },
107
+ {
108
+ "name":"指令状态",
109
+ "keyName":"指令状态",
110
+ "model":"f_instruct_state",
111
+ "placeholder":"请选择",
112
+ "type":"select"
113
+ },
114
+ {
115
+ "name":"响应结果",
116
+ "model":"f_receive_state",
117
+ "placeholder":"请输入响应结果",
118
+ "type":"input"
119
+ },
120
+ {
121
+ "name":"生成时间",
122
+ "model":"f_instruct_date",
123
+ "type":"rangePicker"
124
+ },
125
+ {
126
+ "name":"操作人",
127
+ "model":"f_inputtor",
128
+ "placeholder":"请输入操作人员",
129
+ "type":"input"
130
+ }
131
+ ]
132
+ this.loaded = true
133
+ },
134
+ // 表单提交方法
135
+ onSubmit (res) {
136
+ // 如果通过校验
137
+ if (res.valid) {
138
+ // 表单赋值
139
+ this.form = res.form
140
+ } else {
141
+ return false
142
+ }
143
+ }
144
+ }
145
+ }
146
+ </script>
147
+ ```
148
+
149
+ 注意事项
150
+ ----
151
+
152
+ > 本组件已经实现了自适应布局,在不同分辨率下的设备均可得到基本理想的展示效果
153
+ >
154
+ > 以上示例查询参数配置为后台生成后的结果,此处为了方便调试,所以直接写在了代码中,实际使用请通过发起请求获取查询参数配置,如下:
155
+ ```vue
156
+ <script>
157
+ import { commonApi } from '@vue2-client/base-client/api/common'
158
+ import Vue from 'vue'
159
+
160
+ export default {
161
+ data () {
162
+ return {
163
+ // 查询配置文件名
164
+ queryParamsName: 'instructQueryParams'
165
+ }
166
+ },
167
+ methods: {
168
+ getConfig () {
169
+ Vue.resetpost(commonApi.getConfig, {str: this.queryParamsName}).then((res) => {
170
+ this.formItemJson = res.formJson
171
+ this.columnItemJson = res.columnJson
172
+ this.loaded = true
173
+ })
174
+ }
175
+ }
176
+ }
177
+ </script>
178
+ ```