vue2-client 1.8.11 → 1.8.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.
@@ -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
+ ```
@@ -68,17 +68,17 @@
68
68
  <a-button icon="import" @click="$message.warn('从创意库中选择并引用高质量的通用表单项配置,敬请期待')">从创意库引入</a-button>
69
69
  </a-space>
70
70
  <a-row :gutter="24">
71
- <a-col :span="8">
71
+ <a-col :span="6">
72
72
  <span style="font-weight: bold">
73
73
  标签名
74
74
  </span>
75
75
  </a-col>
76
- <a-col :span="7">
76
+ <a-col :span="6">
77
77
  <span style="font-weight: bold">
78
78
  字段名
79
79
  </span>
80
80
  </a-col>
81
- <a-col :span="7">
81
+ <a-col :span="10">
82
82
  <span style="font-weight: bold">
83
83
  数据模式
84
84
  </span>
@@ -102,17 +102,17 @@
102
102
  <span class="dragTips">拖到此处放置</span>
103
103
  </a-row>
104
104
  <a-row :gutter="24" class="column_item">
105
- <a-col :span="7">
105
+ <a-col :span="6">
106
106
  <span style="font-weight: bold">
107
107
  {{ columnItem.title }}
108
108
  </span>
109
109
  </a-col>
110
- <a-col :span="7">
110
+ <a-col :span="6">
111
111
  <span style="font-weight: bold">
112
112
  {{ columnItem.key }}
113
113
  </span>
114
114
  </a-col>
115
- <a-col :span="8">
115
+ <a-col :span="10">
116
116
  <a-tooltip>
117
117
  <template slot="title">
118
118
  查询表单项
@@ -145,7 +145,13 @@
145
145
  </a-tooltip>
146
146
  <a-tooltip>
147
147
  <template slot="title">
148
- 字段组存储
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
+ 数据组
149
155
  </template>
150
156
  <a-tag :color="columnItem.dataModeArray.includes('group') ? '#82A0D8' : 'rgba(0, 0, 0, 0.25)'"><a-icon type="crown" /></a-tag>
151
157
  </a-tooltip>
@@ -385,27 +391,8 @@ export default {
385
391
  }, this.toEditJson
386
392
  )
387
393
  for (const columnItem of this.form.column) {
388
- // 数据模式兼容性处理
389
394
  if (!(columnItem.dataMode || columnItem.dataModeArray)) {
390
395
  columnItem.dataModeArray = ['queryForm', 'table', 'addOrEditForm', 'sqlQueryItem', 'sqlQueryCondition']
391
- } else if (columnItem.dataMode) {
392
- if (columnItem.dataMode === 'all') {
393
- columnItem.dataModeArray = ['queryForm', 'table', 'addOrEditForm', 'sqlQueryItem', 'sqlQueryCondition']
394
- } else if (columnItem.dataMode === 'form') {
395
- columnItem.dataModeArray = ['queryForm', 'addOrEditForm', 'sqlQueryCondition']
396
- } else if (columnItem.dataMode === 'table') {
397
- columnItem.dataModeArray = ['table', 'sqlQueryItem']
398
- } else if (columnItem.dataMode === 'table_form') {
399
- columnItem.dataModeArray = ['table', 'sqlQueryItem', 'sqlQueryCondition']
400
- } else if (columnItem.dataMode === 'only_form') {
401
- columnItem.dataModeArray = ['queryForm']
402
- } else if (columnItem.dataMode === 'only_table') {
403
- columnItem.dataModeArray = ['table']
404
- } else if (columnItem.dataMode === 'clear') {
405
- columnItem.dataModeArray = ['sqlQueryItem', 'sqlQueryCondition']
406
- } else if (columnItem.dataMode === 'only_add_modify') {
407
- columnItem.dataModeArray = ['addOrEditForm', 'sqlQueryItem']
408
- }
409
396
  }
410
397
  delete columnItem.dataMode
411
398
  // 插槽兼容处理
@@ -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="8">
314
+ <a-col :span="7">
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="7">
324
+ <a-col :span="8">
325
325
  <span style="font-weight: bold">
326
326
  数据模式
327
327
  </span>
@@ -388,7 +388,13 @@
388
388
  </a-tooltip>
389
389
  <a-tooltip>
390
390
  <template slot="title">
391
- 字段JSON存储
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
+ 数据组
392
398
  </template>
393
399
  <a-tag :color="columnItem.dataModeArray && columnItem.dataModeArray.includes('group') ? '#82A0D8' : 'rgba(0, 0, 0, 0.25)'"><a-icon type="crown" /></a-tag>
394
400
  </a-tooltip>
@@ -477,7 +483,7 @@ export default {
477
483
  },
478
484
  // 字段名称是否禁用
479
485
  keyDisabled () {
480
- return this.item.formType === 'file' || this.item.formType === 'image'
486
+ return this.item.formType === 'file' || this.item.formType === 'image' || this.dataMode.mixinTableName
481
487
  },
482
488
  // 数据模式是否禁用
483
489
  dataModeDisabled () {
@@ -489,7 +495,10 @@ export default {
489
495
  table: false,
490
496
  addOrEditForm: false,
491
497
  sqlQueryItem: false,
492
- sqlQueryCondition: false
498
+ sqlQueryCondition: false,
499
+ excelImportItem: false,
500
+ group: false,
501
+ mixinTableName: false
493
502
  }
494
503
  for (const item of this.dataModeArrayData) {
495
504
  result[item] = true
@@ -508,11 +517,24 @@ export default {
508
517
  value: 'sqlQueryItem',
509
518
  noMatch: ['file', 'personSetting']
510
519
  }, {
511
- label: '字段组存储',
512
- value: 'group',
513
- noMatch: []
520
+ label: '字段组存储',
521
+ value: 'group',
522
+ noMatch: []
514
523
  }]
515
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',
535
+ noMatch: []
536
+ }]
537
+ }
516
538
  if (this.item.formType) {
517
539
  return dataModeType.filter(item => {
518
540
  return item.noMatch.findIndex(type => type === this.item.formType) === -1
@@ -595,7 +617,7 @@ export default {
595
617
  callback(new Error('请输入字段名称'))
596
618
  } else {
597
619
  // 判断必须全部小写 并且不能包含空格
598
- if (value !== value.toLowerCase() || value.indexOf(' ') !== -1) {
620
+ if (value !== value.toLowerCase() || value.indexOf(' ') !== -1 && !value === '_mixinTableName_') {
599
621
  callback(new Error('字段名称必须全部小写,且不能包含空格'))
600
622
  } else {
601
623
  callback()
@@ -805,6 +827,12 @@ export default {
805
827
  },
806
828
  // 数据模式改变
807
829
  dataModeArrayDataChange (newVal) {
830
+ if (newVal.includes('mixinTableName')) {
831
+ this.item.key = '_mixinTableName_'
832
+ this.dataModeArrayData = ['queryForm', 'mixinTableName']
833
+ } else {
834
+ this.item.key = ''
835
+ }
808
836
  if (newVal.includes('group')) {
809
837
  this.dataModeArrayData = ['sqlQueryItem', 'group']
810
838
  }
@@ -1,3 +1,3 @@
1
- import PersonSetting from './PersonSetting'
2
-
3
- export default PersonSetting
1
+ import PersonSetting from './PersonSetting'
2
+
3
+ export default PersonSetting
@@ -1,3 +1,3 @@
1
- import Upload from './Upload'
2
-
3
- export default Upload
1
+ import Upload from './Upload'
2
+
3
+ export default Upload