vue2-client 1.8.30 → 1.8.32

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 (102) hide show
  1. package/.env +0 -1
  2. package/.eslintrc.js +14 -22
  3. package/CHANGELOG.md +0 -52
  4. package/babel.config.js +2 -8
  5. package/docs/index.md +1 -2
  6. package/index.js +1 -1
  7. package/jest.config.js +2 -20
  8. package/package.json +27 -36
  9. package/src/App.vue +7 -33
  10. package/src/assets/img/querySlotDemo.svg +15 -15
  11. package/src/base-client/components/common/AddressSearchCombobox/AddressSearchCombobox.vue +2 -2
  12. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +3 -3
  13. package/src/base-client/components/common/CitySelect/index.js +3 -3
  14. package/src/base-client/components/common/CitySelect/index.md +109 -109
  15. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +37 -32
  16. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +12 -80
  17. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +70 -53
  18. package/src/base-client/components/common/FormGroupEdit/FormGroupEdit.vue +5 -5
  19. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +18 -19
  20. package/src/base-client/components/common/JSONToTree/jsontotree.vue +8 -4
  21. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +6 -4
  22. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  23. package/src/base-client/components/common/Upload/Upload.vue +1 -1
  24. package/src/base-client/components/common/Upload/index.js +3 -3
  25. package/src/base-client/components/common/XAddForm/XAddForm.vue +5 -21
  26. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +53 -88
  27. package/src/base-client/components/common/XCard/XCard.vue +1 -1
  28. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +2 -2
  29. package/src/base-client/components/common/XForm/XForm.vue +0 -2
  30. package/src/base-client/components/common/XFormTable/XFormTable.vue +24 -49
  31. package/src/base-client/components/common/XFormTable/index.md +0 -1
  32. package/src/base-client/components/common/XImportExcel/XImportExcel.vue +18 -17
  33. package/src/base-client/components/common/XTable/XTable.vue +8 -16
  34. package/src/base-client/components/index.js +5 -11
  35. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +3 -4
  36. package/src/base-client/plugins/AppData.js +2 -1
  37. package/src/base-client/plugins/Config.js +1 -0
  38. package/src/base-client/plugins/GetLoginInfoService.js +3 -6
  39. package/src/base-client/plugins/tabs-page-plugin.js +4 -5
  40. package/src/bootstrap.js +2 -2
  41. package/src/components/FilePreview/FilePreview.vue +2 -2
  42. package/src/components/NumberInfo/NumberInfo.vue +1 -1
  43. package/src/components/checkbox/ColorCheckbox.vue +1 -1
  44. package/src/components/checkbox/ImgCheckbox.vue +2 -2
  45. package/src/components/menu/SideMenu.vue +2 -2
  46. package/src/components/menu/menu.js +1 -1
  47. package/src/components/tool/AStepItem.vue +1 -1
  48. package/src/config/CreateQueryConfig.js +2 -12
  49. package/src/config/default/antd.config.js +6 -11
  50. package/src/config/default/setting.config.js +4 -7
  51. package/src/layouts/PageLayout.vue +1 -1
  52. package/src/layouts/SinglePageView.vue +2 -24
  53. package/src/layouts/header/AdminHeader.vue +4 -4
  54. package/src/layouts/header/HeaderNotice.vue +2 -3
  55. package/src/layouts/tabs/TabsHead.vue +2 -1
  56. package/src/layouts/tabs/TabsView.vue +10 -18
  57. package/src/main.js +12 -40
  58. package/src/mock/extend/index.js +1 -2
  59. package/src/mock/goods/index.js +6 -6
  60. package/src/pages/CreateQueryPage.vue +3 -11
  61. package/src/pages/login/Login.vue +2 -2
  62. package/src/pages/resourceManage/orgListManage.vue +2 -2
  63. package/src/pages/system/dictionary/index.vue +0 -1
  64. package/src/pages/system/monitor/loginInfor/index.vue +1 -2
  65. package/src/pages/system/monitor/operLog/index.vue +1 -2
  66. package/src/pages/system/settings/modifyPassword.vue +1 -1
  67. package/src/pages/system/ticket/index.vue +2 -3
  68. package/src/pages/system/ticket/submitTicketSuccess.vue +2 -8
  69. package/src/router/async/router.map.js +0 -2
  70. package/src/router/guards.js +0 -29
  71. package/src/services/api/common.js +21 -37
  72. package/src/services/api/restTools.js +24 -24
  73. package/src/services/apiService.js +2 -2
  74. package/src/theme/default/style.less +2 -2
  75. package/src/utils/authority-utils.js +12 -12
  76. package/src/utils/errorCode.js +4 -4
  77. package/src/utils/login.js +5 -8
  78. package/src/utils/map-utils.js +14 -20
  79. package/src/utils/request.js +5 -15
  80. package/src/utils/routerUtil.js +8 -12
  81. package/src/utils/util.js +2 -3
  82. package/vue.config.js +24 -66
  83. package/webpack.config.js +12 -0
  84. package/jest-transform-stub.js +0 -8
  85. package/jest.setup.js +0 -7
  86. package/src/base-client/components/common/AMisRender/index.js +0 -3
  87. package/src/base-client/components/common/AMisRender/index.vue +0 -257
  88. package/src/base-client/components/common/Tree/Tree.vue +0 -149
  89. package/src/base-client/components/common/Tree/index.js +0 -2
  90. package/src/base-client/components/common/XDescriptions/XDescriptions.vue +0 -117
  91. package/src/base-client/components/common/XDescriptions/index.js +0 -3
  92. package/src/base-client/components/common/XDescriptions/index.md +0 -83
  93. package/src/base-client/components/common/XStepView/XStepView.vue +0 -252
  94. package/src/base-client/components/common/XStepView/index.js +0 -3
  95. package/src/base-client/components/common/XStepView/index.md +0 -31
  96. package/src/pages/AMisDemo/AMisDemo.vue +0 -223
  97. package/src/pages/AMisDemo/AMisDemo2.vue +0 -74
  98. package/src/router.js +0 -15
  99. package/test/Amis.spec.js +0 -163
  100. package/test/Tree.spec.js +0 -167
  101. package/test/myDialog.spec.js +0 -46
  102. package//350/277/201/347/247/273/346/227/245/345/277/227.md +0 -15
@@ -1,109 +1,109 @@
1
- # 省市区修改组件
2
-
3
- > 下拉框数据从库里查询 divisions_of_china 表
4
- > 省市区数据存储格式
5
-
6
- +---------+-----+------------+--------+--------+----------+
7
- |code |name |provinceCode|cityCode|areaCode|parentCode|
8
- +---------+-----+------------+--------+--------+----------+
9
- |11 |北京市 |NULL |NULL |NULL |NULL |
10
- |1101 |市辖区 |11 |NULL |NULL |11 |
11
- |110101 |东城区 |11 |1101 |NULL |1101 |
12
- |110101001|东华门街道|11 |1101 |110101 |1101 |
13
- |110101002|景山街道 |11 |1101 |110101 |1101 |
14
- +---------+-----+------------+--------+--------+----------+
15
-
16
-
17
- 查询出来之后转成tree 作为数据 (截取了一段数据)
18
-
19
- ```json
20
- [
21
- {
22
- "code": "11",
23
- "name": "北京",
24
- "label": "北京",
25
- "value": "北京",
26
- "children":
27
- [
28
- {
29
- "code": "1101",
30
- "parentcode": "11",
31
- "name": "辖区",
32
- "label": "辖区",
33
- "value": "辖区",
34
- "children":
35
- [
36
- {
37
- "code": "110101",
38
- "parentcode": "1101",
39
- "name": "东城区",
40
- "label": "东城区",
41
- "value": "东城区"
42
- }
43
- ]}]}]
44
- ```
45
-
46
- 可传递参数
47
- ```js
48
- props = {
49
- // 页面渲染内容 默认 省市区街道 四个 所以是4
50
- contexts: {
51
- type: Number,
52
- default: 3
53
- },
54
- placeholder: {
55
- type: String,
56
- default: '请选择省市区'
57
- },
58
- // small lage 输入框大小
59
- size: {
60
- type: String,
61
- default: undefined
62
- },
63
- // 类型 simple / undefined
64
- // simple 就是用的 cascader 不穿就是用的 自己封装的
65
- type: {
66
- type: String,
67
- default: undefined
68
- },
69
- // 框的样式
70
- inputStyle: {
71
- type: Object,
72
- default: () => {
73
- }
74
- },
75
- // 下拉框的样式
76
- dropdownStyle: {
77
- type: Object,
78
- default: () => {
79
- return {
80
- width: '35rem',
81
- padding: '1%'
82
- }
83
- }
84
- },
85
- // 标签的样式
86
- tagStyle: {
87
- type: Object,
88
- default: () => {
89
- return {
90
- fontSize: '0.88rem',
91
- width: '23%',
92
- textAlign: 'left',
93
- margin: '0.5%',
94
- cursor: 'pointer'
95
- }
96
- }
97
- },
98
- // 用于v-model 绑定
99
- value: {
100
- type: String,
101
- default: undefined
102
- },
103
- // 用于v-model 绑定 code :最后一级的code address: 所有级拼接的地址
104
- valueType: {
105
- type: String,
106
- default: 'address'
107
- }
108
- }
109
- ```
1
+ # 省市区修改组件
2
+
3
+ > 下拉框数据从库里查询 divisions_of_china 表
4
+ > 省市区数据存储格式
5
+
6
+ +---------+-----+------------+--------+--------+----------+
7
+ |code |name |provinceCode|cityCode|areaCode|parentCode|
8
+ +---------+-----+------------+--------+--------+----------+
9
+ |11 |北京市 |NULL |NULL |NULL |NULL |
10
+ |1101 |市辖区 |11 |NULL |NULL |11 |
11
+ |110101 |东城区 |11 |1101 |NULL |1101 |
12
+ |110101001|东华门街道|11 |1101 |110101 |1101 |
13
+ |110101002|景山街道 |11 |1101 |110101 |1101 |
14
+ +---------+-----+------------+--------+--------+----------+
15
+
16
+
17
+ 查询出来之后转成tree 作为数据 (截取了一段数据)
18
+
19
+ ```json
20
+ [
21
+ {
22
+ "code": "11",
23
+ "name": "北京",
24
+ "label": "北京",
25
+ "value": "北京",
26
+ "children":
27
+ [
28
+ {
29
+ "code": "1101",
30
+ "parentcode": "11",
31
+ "name": "辖区",
32
+ "label": "辖区",
33
+ "value": "辖区",
34
+ "children":
35
+ [
36
+ {
37
+ "code": "110101",
38
+ "parentcode": "1101",
39
+ "name": "东城区",
40
+ "label": "东城区",
41
+ "value": "东城区"
42
+ }
43
+ ]}]}]
44
+ ```
45
+
46
+ 可传递参数
47
+ ```js
48
+ props = {
49
+ // 页面渲染内容 默认 省市区街道 四个 所以是4
50
+ contexts: {
51
+ type: Number,
52
+ default: 3
53
+ },
54
+ placeholder: {
55
+ type: String,
56
+ default: '请选择省市区'
57
+ },
58
+ // small lage 输入框大小
59
+ size: {
60
+ type: String,
61
+ default: undefined
62
+ },
63
+ // 类型 simple / undefined
64
+ // simple 就是用的 cascader 不穿就是用的 自己封装的
65
+ type: {
66
+ type: String,
67
+ default: undefined
68
+ },
69
+ // 框的样式
70
+ inputStyle: {
71
+ type: Object,
72
+ default: () => {
73
+ }
74
+ },
75
+ // 下拉框的样式
76
+ dropdownStyle: {
77
+ type: Object,
78
+ default: () => {
79
+ return {
80
+ width: '35rem',
81
+ padding: '1%'
82
+ }
83
+ }
84
+ },
85
+ // 标签的样式
86
+ tagStyle: {
87
+ type: Object,
88
+ default: () => {
89
+ return {
90
+ fontSize: '0.88rem',
91
+ width: '23%',
92
+ textAlign: 'left',
93
+ margin: '0.5%',
94
+ cursor: 'pointer'
95
+ }
96
+ }
97
+ },
98
+ // 用于v-model 绑定
99
+ value: {
100
+ type: String,
101
+ default: undefined
102
+ },
103
+ // 用于v-model 绑定 code :最后一级的code address: 所有级拼接的地址
104
+ valueType: {
105
+ type: String,
106
+ default: 'address'
107
+ }
108
+ }
109
+ ```
@@ -15,6 +15,9 @@
15
15
  :rules="rules"
16
16
  :wrapper-col="wrapperCol"
17
17
  >
18
+ <a-form-model-item label="服务名称" prop="serviceName">
19
+ <a-input v-model="form.serviceName" placeholder="查询接口所在的服务名称,默认system"/>
20
+ </a-form-model-item>
18
21
  <a-form-model-item label="查询主表名" prop="tableName">
19
22
  <a-input v-model="form.tableName" placeholder="查询用的主表+别名,用空格隔开,如:t_userfiles u"/>
20
23
  </a-form-model-item>
@@ -68,17 +71,17 @@
68
71
  <a-button icon="import" @click="$message.warn('从创意库中选择并引用高质量的通用表单项配置,敬请期待')">从创意库引入</a-button>
69
72
  </a-space>
70
73
  <a-row :gutter="24">
71
- <a-col :span="6">
74
+ <a-col :span="8">
72
75
  <span style="font-weight: bold">
73
76
  标签名
74
77
  </span>
75
78
  </a-col>
76
- <a-col :span="6">
79
+ <a-col :span="7">
77
80
  <span style="font-weight: bold">
78
81
  字段名
79
82
  </span>
80
83
  </a-col>
81
- <a-col :span="10">
84
+ <a-col :span="7">
82
85
  <span style="font-weight: bold">
83
86
  数据模式
84
87
  </span>
@@ -102,17 +105,17 @@
102
105
  <span class="dragTips">拖到此处放置</span>
103
106
  </a-row>
104
107
  <a-row :gutter="24" class="column_item">
105
- <a-col :span="6">
108
+ <a-col :span="7">
106
109
  <span style="font-weight: bold">
107
110
  {{ columnItem.title }}
108
111
  </span>
109
112
  </a-col>
110
- <a-col :span="6">
113
+ <a-col :span="7">
111
114
  <span style="font-weight: bold">
112
115
  {{ columnItem.key }}
113
116
  </span>
114
117
  </a-col>
115
- <a-col :span="10">
118
+ <a-col :span="8">
116
119
  <a-tooltip>
117
120
  <template slot="title">
118
121
  查询表单项
@@ -145,13 +148,7 @@
145
148
  </a-tooltip>
146
149
  <a-tooltip>
147
150
  <template slot="title">
148
- Excel导入项
149
- </template>
150
- <a-tag :color="columnItem.dataModeArray.includes('excelImportItem') ? '#107C41' : 'rgba(0, 0, 0, 0.25)'"><a-icon type="file-excel" /></a-tag>
151
- </a-tooltip>
152
- <a-tooltip>
153
- <template slot="title">
154
- 数据组
151
+ 字段组存储
155
152
  </template>
156
153
  <a-tag :color="columnItem.dataModeArray.includes('group') ? '#82A0D8' : 'rgba(0, 0, 0, 0.25)'"><a-icon type="crown" /></a-tag>
157
154
  </a-tooltip>
@@ -228,14 +225,14 @@
228
225
  </template>
229
226
  <x-form-table
230
227
  :queryParamsJson="result"
231
- :view-mode="true"
232
- :service-name="serviceName">
228
+ :view-mode="true">
233
229
  </x-form-table>
234
230
  </a-modal>
235
231
  </a-drawer>
236
232
  </template>
237
233
 
238
234
  <script>
235
+ import XFormItem from '@vue2-client/base-client/components/common/XForm/XFormItem'
239
236
  import XFormTable from '@vue2-client/base-client/components/common/XFormTable/XFormTable'
240
237
  import JsonViewer from 'vue-json-viewer'
241
238
  import FileSaver from 'file-saver'
@@ -247,7 +244,8 @@ export default {
247
244
  components: {
248
245
  CreateQueryItem,
249
246
  JsonViewer,
250
- XFormTable
247
+ XFormTable,
248
+ XFormItem
251
249
  },
252
250
  data () {
253
251
  return {
@@ -268,6 +266,7 @@ export default {
268
266
  labelCol: { span: 3 },
269
267
  wrapperCol: { span: 18 },
270
268
  form: {
269
+ serviceName: '',
271
270
  tableName: '',
272
271
  joinArray: {},
273
272
  condition: {},
@@ -344,14 +343,6 @@ export default {
344
343
  toEditJson: {
345
344
  type: Object,
346
345
  default: () => {}
347
- },
348
- saveExportJson: {
349
- type: Boolean,
350
- default: false
351
- },
352
- serviceName: {
353
- type: String,
354
- default: undefined
355
346
  }
356
347
  },
357
348
  watch: {
@@ -389,8 +380,27 @@ export default {
389
380
  }, this.toEditJson
390
381
  )
391
382
  for (const columnItem of this.form.column) {
383
+ // 数据模式兼容性处理
392
384
  if (!(columnItem.dataMode || columnItem.dataModeArray)) {
393
385
  columnItem.dataModeArray = ['queryForm', 'table', 'addOrEditForm', 'sqlQueryItem', 'sqlQueryCondition']
386
+ } else if (columnItem.dataMode) {
387
+ if (columnItem.dataMode === 'all') {
388
+ columnItem.dataModeArray = ['queryForm', 'table', 'addOrEditForm', 'sqlQueryItem', 'sqlQueryCondition']
389
+ } else if (columnItem.dataMode === 'form') {
390
+ columnItem.dataModeArray = ['queryForm', 'addOrEditForm', 'sqlQueryCondition']
391
+ } else if (columnItem.dataMode === 'table') {
392
+ columnItem.dataModeArray = ['table', 'sqlQueryItem']
393
+ } else if (columnItem.dataMode === 'table_form') {
394
+ columnItem.dataModeArray = ['table', 'sqlQueryItem', 'sqlQueryCondition']
395
+ } else if (columnItem.dataMode === 'only_form') {
396
+ columnItem.dataModeArray = ['queryForm']
397
+ } else if (columnItem.dataMode === 'only_table') {
398
+ columnItem.dataModeArray = ['table']
399
+ } else if (columnItem.dataMode === 'clear') {
400
+ columnItem.dataModeArray = ['sqlQueryItem', 'sqlQueryCondition']
401
+ } else if (columnItem.dataMode === 'only_add_modify') {
402
+ columnItem.dataModeArray = ['addOrEditForm', 'sqlQueryItem']
403
+ }
394
404
  }
395
405
  delete columnItem.dataMode
396
406
  // 插槽兼容处理
@@ -474,7 +484,6 @@ export default {
474
484
  this.result = {}
475
485
  },
476
486
  onClose () {
477
- this.$emit('close')
478
487
  this.$emit('update:visible', false)
479
488
  },
480
489
  onModelClose () {
@@ -493,7 +502,7 @@ export default {
493
502
  },
494
503
  itemHandle (item, type) {
495
504
  this.itemMap[item.key] = item
496
- if (this.type === '新增') {
505
+ if (type === '新增') {
497
506
  this.form.column.push(item)
498
507
  } else {
499
508
  this.$set(this.form.column, this.selectIndex, item)
@@ -509,7 +518,6 @@ export default {
509
518
  this.$refs.queryItem.addColumnItemExecute()
510
519
  },
511
520
  editColumnItem (key, index) {
512
- this.type = '修改'
513
521
  if (this.itemMap[key]) {
514
522
  this.$refs.queryItem.editColumnItemExecute(this.itemMap[key])
515
523
  this.selectIndex = index
@@ -600,11 +608,8 @@ export default {
600
608
  this.$refs.businessCreateForm.validate(valid => {
601
609
  if (valid) {
602
610
  this.viewHandle(() => {
603
- if (this.saveExportJson) {
604
- this.exportJson()
605
- } else {
606
- this.$emit('saveQueryParams', this.result)
607
- }
611
+ // saveQueryParams
612
+ this.exportJson()
608
613
  })
609
614
  }
610
615
  })
@@ -311,7 +311,7 @@
311
311
  <a-card :bodyStyle="bodyStyle" title="数据字段">
312
312
  <a-button type="primary" slot="extra" @click="addColumnItem()">增加</a-button>
313
313
  <a-row :gutter="24">
314
- <a-col :span="7">
314
+ <a-col :span="8">
315
315
  <span style="font-weight: bold">
316
316
  标签名
317
317
  </span>
@@ -321,7 +321,7 @@
321
321
  字段名
322
322
  </span>
323
323
  </a-col>
324
- <a-col :span="8">
324
+ <a-col :span="7">
325
325
  <span style="font-weight: bold">
326
326
  数据模式
327
327
  </span>
@@ -388,13 +388,7 @@
388
388
  </a-tooltip>
389
389
  <a-tooltip>
390
390
  <template slot="title">
391
- Excel导入项
392
- </template>
393
- <a-tag :color="columnItem.dataModeArray && columnItem.dataModeArray.includes('excelImportItem') ? '#107C41' : 'rgba(0, 0, 0, 0.25)'"><a-icon type="file-excel" /></a-tag>
394
- </a-tooltip>
395
- <a-tooltip>
396
- <template slot="title">
397
- 数据组
391
+ 字段JSON存储
398
392
  </template>
399
393
  <a-tag :color="columnItem.dataModeArray && columnItem.dataModeArray.includes('group') ? '#82A0D8' : 'rgba(0, 0, 0, 0.25)'"><a-icon type="crown" /></a-tag>
400
394
  </a-tooltip>
@@ -434,12 +428,6 @@
434
428
  show-icon
435
429
  style="margin-top: 5px"
436
430
  type="info"/>
437
- <a-alert
438
- v-if="item.title.length > 8"
439
- message="提示:标签名称过长可能会影响表格列展示效果,建议不超过8个字符"
440
- show-icon
441
- style="margin-top: 5px"
442
- type="warning"/>
443
431
  </a-form-model>
444
432
  <create-query-item ref="queryItem" @getColumn="getColumnItem" @itemHandle="itemHandleItem"/>
445
433
  </a-modal>
@@ -483,7 +471,7 @@ export default {
483
471
  },
484
472
  // 字段名称是否禁用
485
473
  keyDisabled () {
486
- return this.item.formType === 'file' || this.item.formType === 'image' || this.dataMode.mixinTableName
474
+ return this.item.formType === 'file' || this.item.formType === 'image'
487
475
  },
488
476
  // 数据模式是否禁用
489
477
  dataModeDisabled () {
@@ -495,10 +483,7 @@ export default {
495
483
  table: false,
496
484
  addOrEditForm: false,
497
485
  sqlQueryItem: false,
498
- sqlQueryCondition: false,
499
- excelImportItem: false,
500
- group: false,
501
- mixinTableName: false
486
+ sqlQueryCondition: false
502
487
  }
503
488
  for (const item of this.dataModeArrayData) {
504
489
  result[item] = true
@@ -517,24 +502,10 @@ export default {
517
502
  value: 'sqlQueryItem',
518
503
  noMatch: ['file', 'personSetting']
519
504
  }, {
520
- label: '字段组存储',
521
- value: 'group',
522
- noMatch: []
523
- }]
524
- }
525
- if (this.dataModeArrayData.includes('mixinTableName')) {
526
- return [
527
- {
528
- label: '渲染查询表单项',
529
- value: 'queryForm',
530
- noMatch: ['file', 'image', 'textarea', 'personSetting']
531
- },
532
- {
533
- label: '动态表名参数',
534
- value: 'mixinTableName',
505
+ label: '字段组存储',
506
+ value: 'group',
535
507
  noMatch: []
536
- }
537
- ]
508
+ }]
538
509
  }
539
510
  if (this.item.formType) {
540
511
  return dataModeType.filter(item => {
@@ -610,40 +581,8 @@ export default {
610
581
  // 必填控制
611
582
  itemRules: {
612
583
  formType: [{ required: true, message: '请输入表单类型', trigger: 'change' }],
613
- key: [{
614
- required: true,
615
- validator: (rule, value, callback) => {
616
- // 判断必填
617
- if (!value) {
618
- callback(new Error('请输入字段名称'))
619
- } else {
620
- // 判断必须全部小写 并且不能包含空格
621
- if (value !== value.toLowerCase() || value.indexOf(' ') !== -1 && !value === '_mixinTableName_') {
622
- callback(new Error('字段名称必须全部小写,且不能包含空格'))
623
- } else {
624
- callback()
625
- }
626
- }
627
- },
628
- trigger: 'blur'
629
- }],
630
- title: [{
631
- required: true,
632
- validator: (rule, value, callback) => {
633
- // 判断必填
634
- if (!value) {
635
- callback(new Error('请输入标签名称'))
636
- } else {
637
- // // 大于8个字符给提示
638
- // if (value.length > 8) {
639
- // callback(new Error('标签名称过长,建议不超过8个字符,可能会影响展示效果'))
640
- // } else {
641
- callback()
642
- // }
643
- }
644
- },
645
- trigger: 'blur'
646
- }],
584
+ key: [{ required: true, message: '请输入字段名称', trigger: 'blur' }],
585
+ title: [{ required: true, message: '请输入标签名称', trigger: 'blur' }],
647
586
  selectType: [{ required: true, message: '请选择数据源类型', trigger: 'change' }],
648
587
  selectKey: [{ required: true, message: '请输入数据源内容', trigger: 'blur' }],
649
588
  'slot.value': [{ required: true, message: '请输入文本溢出上限长度', trigger: 'blur' }],
@@ -676,7 +615,6 @@ export default {
676
615
  rule: {
677
616
  required: 'false'
678
617
  },
679
- column: [],
680
618
  selectKey: undefined,
681
619
  queryType: '=',
682
620
  formType: 'input',
@@ -704,7 +642,7 @@ export default {
704
642
  // 编辑数据字段前准备数据
705
643
  editColumnItemExecute (_item) {
706
644
  this.type = '修改'
707
- const defaultValue = { formType: 'input', type: 'string', addOrEdit: 'all', slot: { type: 'default' }, rule: {}, selectKey: {}, column: [] }
645
+ const defaultValue = { formType: 'input', type: 'string', addOrEdit: 'all', slot: { type: 'default' }, rule: {}, selectKey: {} }
708
646
  if (!_item.queryType) {
709
647
  defaultValue.queryType = '='
710
648
  }
@@ -828,12 +766,6 @@ export default {
828
766
  },
829
767
  // 数据模式改变
830
768
  dataModeArrayDataChange (newVal) {
831
- if (newVal.includes('mixinTableName')) {
832
- this.item.key = '_mixinTableName_'
833
- this.dataModeArrayData = ['queryForm', 'mixinTableName']
834
- } else if (this.item.key === '_mixinTableName_') {
835
- this.item.key = ''
836
- }
837
769
  if (newVal.includes('group')) {
838
770
  this.dataModeArrayData = ['sqlQueryItem', 'group']
839
771
  }
@@ -983,7 +915,7 @@ export default {
983
915
  },
984
916
  itemHandleItem (item, type) {
985
917
  this.itemMap[item.key] = item
986
- if (this.type === '新增') {
918
+ if (type === '新增') {
987
919
  this.item.column.push(item)
988
920
  } else {
989
921
  this.$set(this.item.column, this.selectIndex, item)