ap-dev 1.2.26 → 1.2.28
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,631 +1,641 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<ap-container>
|
|
3
|
-
<ap-aside margin="1111">
|
|
4
|
-
<div class="layout-aside-header">
|
|
5
|
-
<div class="layout-aside-header-title">
|
|
6
|
-
字段类型
|
|
7
|
-
</div>
|
|
8
|
-
<div class="layout-aside-header-icon">
|
|
9
|
-
<i class="el-icon-plus" @click="addTable" />
|
|
10
|
-
<i class="el-icon-edit-outline" @click="editTable" />
|
|
11
|
-
<i class="el-icon-delete" @click="deleteTable" />
|
|
12
|
-
<el-popover ref="popoverRef" placement="bottom" trigger="click">
|
|
13
|
-
<el-button-group>
|
|
14
|
-
<el-button type="primary" icon="el-icon-top" @click="sortTypeBefore">上移</el-button>
|
|
15
|
-
<el-button type="primary" icon="el-icon-bottom" @click="sortTypeAfter">下移</el-button>
|
|
16
|
-
<el-button type="primary" icon="el-icon-s-operation" @click="sortTypeByIndex">
|
|
17
|
-
一键排序
|
|
18
|
-
</el-button>
|
|
19
|
-
</el-button-group>
|
|
20
|
-
<i slot="reference" class="el-icon-sort" />
|
|
21
|
-
</el-popover>
|
|
22
|
-
</div>
|
|
23
|
-
</div>
|
|
24
|
-
<div>
|
|
25
|
-
<el-input v-model="filterText" placeholder="关键字过滤" />
|
|
26
|
-
</div>
|
|
27
|
-
<div v-loading="loadingTreeFlag" class="layout-aside-content">
|
|
28
|
-
<el-tree
|
|
29
|
-
ref="typeTree"
|
|
30
|
-
class="filter-tree"
|
|
31
|
-
node-key="fdId"
|
|
32
|
-
:data="typeTreeList"
|
|
33
|
-
:props="defaultProps"
|
|
34
|
-
default-expand-all
|
|
35
|
-
show-checkbox
|
|
36
|
-
:check-on-click-node="true"
|
|
37
|
-
:highlight-current="true"
|
|
38
|
-
:expand-on-click-node="false"
|
|
39
|
-
:check-strictly="false"
|
|
40
|
-
:filter-node-method="filterNode"
|
|
41
|
-
@check="nodeClickEvent"
|
|
42
|
-
/>
|
|
43
|
-
</div>
|
|
44
|
-
</ap-aside>
|
|
45
|
-
<ap-split-panel />
|
|
46
2
|
<ap-container>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
3
|
+
<ap-aside margin="1111">
|
|
4
|
+
<div class="layout-aside-header">
|
|
5
|
+
<div class="layout-aside-header-title">
|
|
6
|
+
字段类型
|
|
7
|
+
</div>
|
|
8
|
+
<div class="layout-aside-header-icon">
|
|
9
|
+
<i class="el-icon-plus" @click="addTable"/>
|
|
10
|
+
<i class="el-icon-edit-outline" @click="editTable"/>
|
|
11
|
+
<i class="el-icon-delete" @click="deleteTable"/>
|
|
12
|
+
<el-popover ref="popoverRef" placement="bottom" trigger="click">
|
|
13
|
+
<el-button-group>
|
|
14
|
+
<el-button type="primary" icon="el-icon-top" @click="sortTypeBefore">上移</el-button>
|
|
15
|
+
<el-button type="primary" icon="el-icon-bottom" @click="sortTypeAfter">下移</el-button>
|
|
16
|
+
<el-button type="primary" icon="el-icon-s-operation" @click="sortTypeByIndex">
|
|
17
|
+
一键排序
|
|
18
|
+
</el-button>
|
|
19
|
+
</el-button-group>
|
|
20
|
+
<i slot="reference" class="el-icon-sort"/>
|
|
21
|
+
</el-popover>
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
<div>
|
|
25
|
+
<el-input v-model="filterText" placeholder="关键字过滤"/>
|
|
26
|
+
</div>
|
|
27
|
+
<div v-loading="loadingTreeFlag" class="layout-aside-content">
|
|
28
|
+
<el-tree
|
|
29
|
+
ref="typeTree"
|
|
30
|
+
class="filter-tree"
|
|
31
|
+
node-key="fdId"
|
|
32
|
+
:data="typeTreeList"
|
|
33
|
+
:props="defaultProps"
|
|
34
|
+
default-expand-all
|
|
35
|
+
show-checkbox
|
|
36
|
+
:check-on-click-node="true"
|
|
37
|
+
:highlight-current="true"
|
|
38
|
+
:expand-on-click-node="false"
|
|
39
|
+
:check-strictly="false"
|
|
40
|
+
:filter-node-method="filterNode"
|
|
41
|
+
@check="nodeClickEvent"
|
|
42
|
+
/>
|
|
43
|
+
</div>
|
|
44
|
+
</ap-aside>
|
|
45
|
+
<ap-split-panel/>
|
|
46
|
+
<ap-container>
|
|
47
|
+
<ap-header margin="1110">
|
|
48
|
+
<el-form
|
|
49
|
+
ref="searchFormRef"
|
|
50
|
+
:model="searchForm"
|
|
51
|
+
:inline="true"
|
|
52
|
+
class="layout-header-form"
|
|
53
|
+
>
|
|
54
|
+
<el-form-item label="搜索:" class="layout-header-form-item" prop="likeStr">
|
|
55
|
+
<el-input v-model="searchForm.likeStr" placeholder="字段名/注释"/>
|
|
56
|
+
</el-form-item>
|
|
57
|
+
</el-form>
|
|
58
|
+
<el-button type="primary" @click="searchEvent">查询</el-button>
|
|
59
|
+
</ap-header>
|
|
60
|
+
<ap-main margin="0110">
|
|
61
|
+
<ap-table ref="devDbFieldGrid" :options.sync="tableOpt"/>
|
|
62
|
+
</ap-main>
|
|
63
|
+
</ap-container>
|
|
64
64
|
|
|
65
65
|
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
66
|
+
<el-dialog
|
|
67
|
+
:title="dialogTitle"
|
|
68
|
+
:visible.sync="dialogVisible"
|
|
69
|
+
width="35%"
|
|
70
|
+
>
|
|
71
|
+
<el-form ref="dialogForm" :model="dialogForm" :rules="dialogFormRules" label-width="80px">
|
|
72
72
|
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
73
|
+
<el-form-item label="父类别">
|
|
74
|
+
<el-select v-model="dialogForm.fdParentId" filterable placeholder="请选择父节点">
|
|
75
|
+
<el-option label="无" value=""/>
|
|
76
|
+
<el-option
|
|
77
|
+
v-for="item in typeList"
|
|
78
|
+
:key="item.fdId"
|
|
79
|
+
:label="item.fdName"
|
|
80
|
+
:value="item.fdId"
|
|
81
|
+
/>
|
|
82
|
+
</el-select>
|
|
83
|
+
</el-form-item>
|
|
84
84
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
85
|
+
<el-form-item label="类别名称" prop="fdName">
|
|
86
|
+
<el-input v-model="dialogForm.fdName"/>
|
|
87
|
+
</el-form-item>
|
|
88
88
|
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
89
|
+
<el-form-item label="排序" prop="fdSort">
|
|
90
|
+
<el-input-number v-model="dialogForm.fdSort" controls-position="right"/>
|
|
91
|
+
</el-form-item>
|
|
92
|
+
</el-form>
|
|
93
93
|
|
|
94
94
|
|
|
95
|
-
|
|
95
|
+
<span slot="footer" class="dialog-footer">
|
|
96
96
|
<el-button @click="dialogVisible = false">取 消</el-button>
|
|
97
97
|
<el-button type="primary" @click="saveTable">确 定</el-button>
|
|
98
98
|
</span>
|
|
99
|
-
|
|
100
|
-
|
|
99
|
+
</el-dialog>
|
|
100
|
+
</ap-container>
|
|
101
101
|
</template>
|
|
102
102
|
|
|
103
103
|
<script>
|
|
104
|
-
import {
|
|
104
|
+
import {convertToArrayData, convertToTreeData} from 'ap-util/util/DataUtil'
|
|
105
105
|
|
|
106
106
|
export default {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
107
|
+
name: 'DevDbField',
|
|
108
|
+
data() {
|
|
109
|
+
const columns = [
|
|
110
|
+
{
|
|
111
|
+
prop: 'fdFieldTypeId',
|
|
112
|
+
label: '字段类型',
|
|
113
|
+
type: 'select',
|
|
114
|
+
addDefaultValue: this.addDefaultValueFn,
|
|
115
|
+
selectOptionsRemote: 'typeList',
|
|
116
|
+
selectOptionsKey: {label: 'fdName', value: 'fdId'},
|
|
117
|
+
rules: [
|
|
118
|
+
{required: true, message: '请选择类型'}
|
|
119
|
+
]
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
prop: 'fdName',
|
|
123
|
+
label: '字段名称',
|
|
124
|
+
type: 'input',
|
|
125
|
+
rules: [
|
|
126
|
+
{required: true, message: '字段名称必填'},
|
|
127
|
+
{min: 1, max: 30, message: '长度在 1 到 30 个字符'}
|
|
128
|
+
]
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
prop: 'fdComment',
|
|
132
|
+
label: '默认注释',
|
|
133
|
+
type: 'input',
|
|
134
|
+
rules: [
|
|
135
|
+
{required: true, message: '字段注释必填'},
|
|
136
|
+
{min: 1, max: 30, message: '长度在 1 到 30 个字符'}
|
|
137
|
+
]
|
|
138
|
+
}, {
|
|
139
|
+
prop: 'fdDataType',
|
|
140
|
+
label: '数据类型',
|
|
141
|
+
type: 'select',
|
|
142
|
+
selectOptions: [
|
|
143
|
+
{
|
|
144
|
+
label: '常用',
|
|
145
|
+
options: [
|
|
146
|
+
{label: 'char(255)', value: 'char'},
|
|
147
|
+
{label: 'varchar(6.5万)', value: 'varchar'},
|
|
148
|
+
{label: 'tinyint(255)', value: 'tinyint'},
|
|
149
|
+
{label: 'datetime(年月日时分秒)', value: 'datetime'}
|
|
150
|
+
]
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
label: '字符串',
|
|
154
|
+
options: [
|
|
155
|
+
{label: 'char(255)', value: 'char'},
|
|
156
|
+
{label: 'varchar(6.5万)', value: 'varchar'},
|
|
157
|
+
{label: 'text(6.5万)', value: 'text'},
|
|
158
|
+
{label: 'mediumtext(1600万)', value: 'mediumtext'},
|
|
159
|
+
{label: 'longtext(极长)', value: 'longtext'},
|
|
160
|
+
]
|
|
161
|
+
},
|
|
162
|
+
{
|
|
163
|
+
label: '整型数值',
|
|
164
|
+
options: [
|
|
165
|
+
{label: 'tinyint(255)', value: 'tinyint'},
|
|
166
|
+
{label: 'smallint(6.5万)', value: 'smallint'},
|
|
167
|
+
{label: 'mediumint(1.6千万)', value: 'mediumint'},
|
|
168
|
+
{label: 'int(4.2亿)', value: 'int'},
|
|
169
|
+
{label: 'bigint(极大)', value: 'bigint'}
|
|
170
|
+
]
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
label: '浮点数值',
|
|
174
|
+
options: [
|
|
175
|
+
{label: 'float(单精度)', value: 'float'},
|
|
176
|
+
{label: 'double(双精度)', value: 'double'},
|
|
177
|
+
{label: 'decimal(小数值)', value: 'decimal'}
|
|
178
|
+
]
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
label: '日期时间',
|
|
182
|
+
options: [
|
|
183
|
+
{label: 'date(年月日)', value: 'date'},
|
|
184
|
+
{label: 'time(时分秒)', value: 'time'},
|
|
185
|
+
{label: 'year(年)', value: 'year'},
|
|
186
|
+
{label: 'datetime(年月日时分秒)', value: 'datetime'},
|
|
187
|
+
{label: 'timestamp(时间戳)', value: 'timestamp'}
|
|
188
|
+
]
|
|
189
|
+
},
|
|
190
|
+
{
|
|
191
|
+
label: '二进制:图片/文件',
|
|
192
|
+
options: [
|
|
193
|
+
{label: 'blob(6.5万)', value: 'blob'},
|
|
194
|
+
{label: 'mediumblob(1600万)', value: 'mediumblob'},
|
|
195
|
+
{label: 'longblob(极长)', value: 'longblob'},
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
],
|
|
199
|
+
selectFilterable: true,
|
|
200
|
+
selectIsGroup: true,
|
|
201
|
+
selectPlaceholder: '选择数据类型',
|
|
202
|
+
rules: [
|
|
203
|
+
{required: true, message: '数据类型必选'}
|
|
204
|
+
]
|
|
205
|
+
}, {
|
|
206
|
+
prop: 'fdSort',
|
|
207
|
+
label: '排序',
|
|
208
|
+
type: 'inputNumber',
|
|
209
|
+
inputNumberMin: 0,
|
|
210
|
+
// inputNumberMax: 10,
|
|
211
|
+
sortable: true,
|
|
212
|
+
rules: [
|
|
213
|
+
{required: true, message: '请输入排序'}
|
|
214
|
+
],
|
|
215
|
+
addDefaultValue: 0
|
|
216
|
+
}, {
|
|
217
|
+
prop: 'fdDeleted',
|
|
218
|
+
label: '删除',
|
|
219
|
+
type: 'input',
|
|
220
|
+
hide: true,
|
|
221
|
+
addDefaultValue: 0
|
|
222
|
+
}]
|
|
223
|
+
const tableOpt = {
|
|
224
|
+
title: '字段列表',
|
|
225
|
+
columns: columns,
|
|
226
|
+
pagination: {
|
|
227
|
+
pageSizes: [30, 60, 90],
|
|
228
|
+
pageSize: 30
|
|
229
|
+
},
|
|
230
|
+
dataUrl: '/apd/db/DevDbField/getTDevDbFieldGridList',
|
|
231
|
+
saveUrl: '/apd/db/DevDbField/saveTDevDbFieldGridData',
|
|
232
|
+
editPk: 'fdId',
|
|
233
|
+
deletePk: 'fdId',
|
|
234
|
+
deleteUrl: '/apd/db/DevDbField/deleteTDevDbFieldByFdId',
|
|
235
|
+
toolbarBtn: ['add', 'edit', 'del', 'cancel', 'refresh', 'save', 'separator',
|
|
236
|
+
{
|
|
237
|
+
btnType: 'primary',
|
|
238
|
+
text: '上移',
|
|
239
|
+
icon: 'el-icon-top',
|
|
240
|
+
onClick: () => {
|
|
241
|
+
this.sortBefore()
|
|
242
|
+
}
|
|
243
|
+
},
|
|
244
|
+
{
|
|
245
|
+
btnType: 'primary',
|
|
246
|
+
text: '下移',
|
|
247
|
+
icon: 'el-icon-bottom',
|
|
248
|
+
onClick: () => {
|
|
249
|
+
this.sortAfter()
|
|
250
|
+
}
|
|
251
|
+
},
|
|
252
|
+
{
|
|
253
|
+
btnType: 'primary',
|
|
254
|
+
text: '一键排序',
|
|
255
|
+
icon: 'el-icon-s-operation',
|
|
256
|
+
onClick: () => {
|
|
257
|
+
this.doSortByIndex()
|
|
258
|
+
}
|
|
259
|
+
}, , {
|
|
260
|
+
btnType: 'info',
|
|
261
|
+
text: '帮助',
|
|
262
|
+
icon: 'el-icon-question',
|
|
263
|
+
onClick: () => {
|
|
264
|
+
this.openHelp()
|
|
265
|
+
}
|
|
266
|
+
}],
|
|
267
|
+
initData: false,
|
|
268
|
+
beforeAdd: this.beforeAddFn,
|
|
269
|
+
params: () => {
|
|
270
|
+
return {
|
|
271
|
+
fdFieldTypeIds: this.selectedFieldTypeIds,
|
|
272
|
+
likeStr: this.searchForm.likeStr
|
|
273
|
+
}
|
|
274
|
+
}
|
|
263
275
|
}
|
|
264
|
-
}
|
|
265
|
-
}
|
|
266
276
|
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
},
|
|
304
|
-
watch: {
|
|
305
|
-
filterText(val) {
|
|
306
|
-
this.$refs.typeTree.filter(val)
|
|
307
|
-
}
|
|
308
|
-
},
|
|
309
|
-
created() {
|
|
310
|
-
this.loadTreeData()
|
|
311
|
-
},
|
|
312
|
-
methods: {
|
|
313
|
-
// 左侧树:加载数据
|
|
314
|
-
loadTreeData() {
|
|
315
|
-
this.loadingTreeFlag = true
|
|
316
|
-
this.$request({
|
|
317
|
-
url: '/apd/db/DevDbField/getDbFieldTypeList',
|
|
318
|
-
method: 'post'
|
|
319
|
-
}).then(response => {
|
|
320
|
-
this.typeList = JSON.parse(JSON.stringify(response.data))
|
|
321
|
-
this.typeTreeList = convertToTreeData(response.data, {
|
|
322
|
-
idKey: 'fdId',
|
|
323
|
-
parentKey: 'fdParentId',
|
|
324
|
-
childrenKey: 'children'
|
|
325
|
-
})
|
|
326
|
-
}).finally(() => {
|
|
327
|
-
this.loadingTreeFlag = false
|
|
328
|
-
})
|
|
329
|
-
},
|
|
330
|
-
// 左侧树:初始化数据
|
|
331
|
-
initTreeData() {
|
|
332
|
-
// 重置当前选择节点
|
|
333
|
-
this.$refs.typeTree.setCurrentKey()
|
|
334
|
-
this.loadTreeData()
|
|
335
|
-
},
|
|
336
|
-
// 左侧树:过滤节点
|
|
337
|
-
filterNode(value, data) {
|
|
338
|
-
if (!value) return true
|
|
339
|
-
return data.fdName.indexOf(value) !== -1
|
|
340
|
-
},
|
|
341
|
-
// 选择勾选事件
|
|
342
|
-
nodeClickEvent(data, node, comp) {
|
|
343
|
-
const parentKeys = this.$refs.typeTree.getHalfCheckedKeys()
|
|
344
|
-
const selectKeys = this.$refs.typeTree.getCheckedKeys(false)
|
|
345
|
-
this.selectedFieldTypeIds = parentKeys.concat(selectKeys).join(',')
|
|
346
|
-
this.$refs.devDbFieldGrid.refresh()
|
|
347
|
-
},
|
|
348
|
-
// dialog:重置表单
|
|
349
|
-
resetDialogForm() {
|
|
350
|
-
this.dialogForm = {
|
|
351
|
-
fdName: '',
|
|
352
|
-
fdParentId: '',
|
|
353
|
-
fdId: '',
|
|
354
|
-
fdSort: null
|
|
355
|
-
}
|
|
277
|
+
return {
|
|
278
|
+
// ----- 左侧树 -----
|
|
279
|
+
loadingTreeFlag: false,
|
|
280
|
+
filterText: '',
|
|
281
|
+
typeTreeList: [],
|
|
282
|
+
defaultProps: {
|
|
283
|
+
children: 'children',
|
|
284
|
+
label: 'fdName'
|
|
285
|
+
},
|
|
286
|
+
selectedFieldTypeIds: '',
|
|
287
|
+
// ----- dialog -----
|
|
288
|
+
typeList: [],
|
|
289
|
+
dialogVisible: false,
|
|
290
|
+
dialogTitle: '', // dialog标题
|
|
291
|
+
isAddDialog: true, // 添加类型dialog
|
|
292
|
+
dialogForm: {
|
|
293
|
+
fdName: '',
|
|
294
|
+
fdParentId: '',
|
|
295
|
+
fdId: '',
|
|
296
|
+
fdSort: undefined
|
|
297
|
+
},
|
|
298
|
+
dialogFormRules: {
|
|
299
|
+
fdSort: [
|
|
300
|
+
{type: 'number', message: '请输入数字', trigger: 'change'}
|
|
301
|
+
],
|
|
302
|
+
fdName: [
|
|
303
|
+
{required: true, message: '请输入类型名称', trigger: 'blur'},
|
|
304
|
+
{min: 1, max: 10, message: '长度在 1 到 10 个字符', trigger: 'blur'}
|
|
305
|
+
]
|
|
306
|
+
},
|
|
307
|
+
// ----- 表格 -----
|
|
308
|
+
searchForm: {
|
|
309
|
+
listStr: ''
|
|
310
|
+
},
|
|
311
|
+
tableOpt: tableOpt
|
|
312
|
+
}
|
|
356
313
|
},
|
|
357
|
-
|
|
358
|
-
|
|
314
|
+
watch: {
|
|
315
|
+
filterText(val) {
|
|
316
|
+
this.$refs.typeTree.filter(val)
|
|
317
|
+
}
|
|
359
318
|
},
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
this.resetDialogForm()
|
|
363
|
-
this.dialogVisible = true
|
|
364
|
-
this.dialogTitle = '添加字段类型'
|
|
365
|
-
this.isAddDialog = true
|
|
366
|
-
this.dialogForm.fdParentId = this.getCurrentNode().fdId
|
|
319
|
+
created() {
|
|
320
|
+
this.loadTreeData()
|
|
367
321
|
},
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
322
|
+
methods: {
|
|
323
|
+
// 左侧树:加载数据
|
|
324
|
+
loadTreeData() {
|
|
325
|
+
this.loadingTreeFlag = true
|
|
326
|
+
this.$request({
|
|
327
|
+
url: '/apd/db/DevDbField/getDbFieldTypeList',
|
|
328
|
+
method: 'post'
|
|
329
|
+
}).then(response => {
|
|
330
|
+
this.typeList = JSON.parse(JSON.stringify(response.data))
|
|
331
|
+
this.typeTreeList = convertToTreeData(response.data, {
|
|
332
|
+
idKey: 'fdId',
|
|
333
|
+
parentKey: 'fdParentId',
|
|
334
|
+
childrenKey: 'children'
|
|
335
|
+
})
|
|
336
|
+
}).finally(() => {
|
|
337
|
+
this.loadingTreeFlag = false
|
|
338
|
+
})
|
|
339
|
+
},
|
|
340
|
+
// 左侧树:初始化数据
|
|
341
|
+
initTreeData() {
|
|
342
|
+
// 重置当前选择节点
|
|
343
|
+
this.$refs.typeTree.setCurrentKey()
|
|
344
|
+
this.loadTreeData()
|
|
345
|
+
},
|
|
346
|
+
// 左侧树:过滤节点
|
|
347
|
+
filterNode(value, data) {
|
|
348
|
+
if (!value) return true
|
|
349
|
+
return data.fdName.indexOf(value) !== -1
|
|
350
|
+
},
|
|
351
|
+
// 选择勾选事件
|
|
352
|
+
nodeClickEvent(data, node, comp) {
|
|
353
|
+
const parentKeys = this.$refs.typeTree.getHalfCheckedKeys()
|
|
354
|
+
const selectKeys = this.$refs.typeTree.getCheckedKeys(false)
|
|
355
|
+
this.selectedFieldTypeIds = parentKeys.concat(selectKeys).join(',')
|
|
356
|
+
this.$refs.devDbFieldGrid.refresh()
|
|
357
|
+
},
|
|
358
|
+
// dialog:重置表单
|
|
359
|
+
resetDialogForm() {
|
|
360
|
+
this.dialogForm = {
|
|
361
|
+
fdName: '',
|
|
362
|
+
fdParentId: '',
|
|
363
|
+
fdId: '',
|
|
364
|
+
fdSort: null
|
|
365
|
+
}
|
|
366
|
+
},
|
|
367
|
+
getCurrentNode() {
|
|
368
|
+
return this.$refs.typeTree.getCurrentNode() || {}
|
|
369
|
+
},
|
|
370
|
+
// dialog:添加数据
|
|
371
|
+
addTable() {
|
|
372
|
+
this.resetDialogForm()
|
|
373
|
+
this.dialogVisible = true
|
|
374
|
+
this.dialogTitle = '添加字段类型'
|
|
375
|
+
this.isAddDialog = true
|
|
376
|
+
this.dialogForm.fdParentId = this.getCurrentNode().fdId
|
|
377
|
+
},
|
|
378
|
+
// dialog:编辑数据
|
|
379
|
+
editTable() {
|
|
380
|
+
const currentNodeFdId = this.getCurrentNode().fdId
|
|
381
|
+
if (!currentNodeFdId) {
|
|
382
|
+
this.$message.error('请选择需要编辑的数据!')
|
|
383
|
+
return
|
|
384
|
+
}
|
|
375
385
|
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
386
|
+
this.resetDialogForm()
|
|
387
|
+
this.dialogVisible = true
|
|
388
|
+
this.dialogTitle = '编辑字段类型'
|
|
389
|
+
this.isAddDialog = false
|
|
390
|
+
this.dialogForm.fdId = currentNodeFdId
|
|
381
391
|
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
392
|
+
this.$request({
|
|
393
|
+
url: '/apd/db/DevDbField/getDbFieldTypeByFdId',
|
|
394
|
+
method: 'post',
|
|
395
|
+
data: {
|
|
396
|
+
fdId: currentNodeFdId
|
|
397
|
+
}
|
|
398
|
+
}).then(response => {
|
|
399
|
+
this.dialogForm.fdId = response.data.fdId
|
|
400
|
+
this.dialogForm.fdName = response.data.fdName
|
|
401
|
+
this.dialogForm.fdParentId = response.data.fdParentId
|
|
402
|
+
this.dialogForm.fdSort = response.data.fdSort
|
|
403
|
+
})
|
|
404
|
+
},
|
|
405
|
+
// 删除类型数据
|
|
406
|
+
deleteTable() {
|
|
407
|
+
const currentNode = this.getCurrentNode()
|
|
408
|
+
const currentNodeFdId = currentNode.fdId
|
|
409
|
+
if (!currentNodeFdId) {
|
|
410
|
+
this.$message.error('请选择需要删除的数据!')
|
|
411
|
+
return
|
|
412
|
+
}
|
|
403
413
|
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
414
|
+
this.$confirm(`确定要删除【${currentNode.fdName}】?`, '提示', {
|
|
415
|
+
confirmButtonText: '确定',
|
|
416
|
+
cancelButtonText: '取消',
|
|
417
|
+
type: 'warning'
|
|
418
|
+
}).then(() => {
|
|
419
|
+
this.$request({
|
|
420
|
+
url: '/apd/db/DevDbField/deleteDbFieldType',
|
|
421
|
+
method: 'post',
|
|
422
|
+
data: {
|
|
423
|
+
fdId: currentNodeFdId
|
|
424
|
+
}
|
|
425
|
+
}).then(response => {
|
|
426
|
+
this.$message.success(`删除成功!已删除${response.data}条数据!`)
|
|
427
|
+
this.initTreeData()
|
|
428
|
+
})
|
|
429
|
+
})
|
|
430
|
+
},
|
|
431
|
+
checkTypeSort() {
|
|
432
|
+
const currentNode = this.getCurrentNode()
|
|
433
|
+
if (currentNode == null) {
|
|
434
|
+
this.$message.error(`请选择需要操作的节点!`)
|
|
435
|
+
return null
|
|
436
|
+
}
|
|
437
|
+
return currentNode
|
|
438
|
+
},
|
|
439
|
+
// 修改排序
|
|
440
|
+
doTypeSortChange(rowFdId, rowFdSort, exchangeRowFdId, exchangeRowFdSort) {
|
|
441
|
+
this.$request({
|
|
442
|
+
url: '/apd/db/DevDbField/updateDbFieldTypeSort',
|
|
443
|
+
method: 'post',
|
|
444
|
+
data: {rowFdId, rowFdSort, exchangeRowFdId, exchangeRowFdSort}
|
|
445
|
+
}).then(response => {
|
|
446
|
+
this.$message.success(`修改成功!`)
|
|
447
|
+
this.$refs.popoverRef.doClose()
|
|
448
|
+
this.loadTreeData()
|
|
449
|
+
})
|
|
450
|
+
},
|
|
451
|
+
// 排序调整:向上
|
|
452
|
+
sortTypeBefore() {
|
|
453
|
+
const currentNode = this.checkTypeSort()
|
|
454
|
+
if (currentNode == null) {
|
|
455
|
+
return
|
|
456
|
+
}
|
|
447
457
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
458
|
+
const arrayData = convertToArrayData(this.typeTreeList)
|
|
459
|
+
let currentNodeIndex = 0
|
|
460
|
+
for (let i = 0; i < arrayData.length; i++) {
|
|
461
|
+
if (arrayData[i].fdId == currentNode.fdId) {
|
|
462
|
+
currentNodeIndex = i
|
|
463
|
+
break
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
if (currentNodeIndex == 0) {
|
|
467
|
+
this.$message.success(`已经是第一个啦!`)
|
|
468
|
+
return
|
|
469
|
+
}
|
|
460
470
|
|
|
461
|
-
|
|
471
|
+
const exchangeRow = arrayData[currentNodeIndex - 1]
|
|
462
472
|
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
473
|
+
this.doTypeSortChange(currentNode.fdId, exchangeRow.fdSort, exchangeRow.fdId, currentNode.fdSort)
|
|
474
|
+
},
|
|
475
|
+
// 排序调整:向下
|
|
476
|
+
sortTypeAfter() {
|
|
477
|
+
const currentNode = this.checkTypeSort()
|
|
478
|
+
if (currentNode == null) {
|
|
479
|
+
return
|
|
480
|
+
}
|
|
481
|
+
const arrayData = convertToArrayData(this.typeTreeList)
|
|
482
|
+
let currentNodeIndex = 0
|
|
483
|
+
for (let i = 0; i < arrayData.length; i++) {
|
|
484
|
+
if (arrayData[i].fdId == currentNode.fdId) {
|
|
485
|
+
currentNodeIndex = i
|
|
486
|
+
break
|
|
487
|
+
}
|
|
488
|
+
}
|
|
479
489
|
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
490
|
+
if (currentNodeIndex == arrayData.length - 1) {
|
|
491
|
+
this.$message.success(`字段已经是最后一个啦!`)
|
|
492
|
+
return
|
|
493
|
+
}
|
|
484
494
|
|
|
485
|
-
|
|
495
|
+
const exchangeRow = arrayData[currentNodeIndex + 1]
|
|
486
496
|
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
497
|
+
this.doTypeSortChange(currentNode.fdId, exchangeRow.fdSort, exchangeRow.fdId, currentNode.fdSort)
|
|
498
|
+
},
|
|
499
|
+
// 一键排序
|
|
500
|
+
sortTypeByIndex() {
|
|
501
|
+
const arrayData = convertToArrayData(this.typeTreeList)
|
|
502
|
+
const list = []
|
|
503
|
+
for (let i = 0; i < arrayData.length; i++) {
|
|
504
|
+
list.push({
|
|
505
|
+
fdId: arrayData[i].fdId,
|
|
506
|
+
fdSort: i + 1
|
|
507
|
+
})
|
|
508
|
+
}
|
|
509
|
+
this.$request({
|
|
510
|
+
url: '/apd/db/DevDbField/updateDbFieldTypeSortList',
|
|
511
|
+
method: 'post',
|
|
512
|
+
data: {list: JSON.stringify(list)}
|
|
513
|
+
}).then(response => {
|
|
514
|
+
this.$message.success(`排序成功!`)
|
|
515
|
+
this.$refs.popoverRef.doClose()
|
|
516
|
+
this.loadTreeData()
|
|
517
|
+
})
|
|
518
|
+
},
|
|
519
|
+
// dialog:保存类型数据
|
|
520
|
+
saveTable() {
|
|
521
|
+
this.$refs.dialogForm.validate((valid) => {
|
|
522
|
+
if (!valid) {
|
|
523
|
+
this.$message.error(`数据校验失败,请重新填写信息!`)
|
|
524
|
+
return false
|
|
525
|
+
}
|
|
526
|
+
if (this.isAddDialog) {
|
|
527
|
+
// 添加数据
|
|
528
|
+
this.$request({
|
|
529
|
+
url: '/apd/db/DevDbField/insertDbFieldType',
|
|
530
|
+
method: 'post',
|
|
531
|
+
data: this.dialogForm
|
|
532
|
+
}).then(response => {
|
|
533
|
+
this.$message.success(`添加成功!已添加${response.data}条数据!`)
|
|
534
|
+
this.dialogVisible = false
|
|
535
|
+
this.initTreeData()
|
|
536
|
+
})
|
|
537
|
+
} else {
|
|
538
|
+
// 更新数据
|
|
539
|
+
this.$request({
|
|
540
|
+
url: '/apd/db/DevDbField/updateDbFieldType',
|
|
541
|
+
method: 'post',
|
|
542
|
+
data: this.dialogForm
|
|
543
|
+
}).then(response => {
|
|
544
|
+
this.$message.success(`更新成功!已更新${response.data}条数据!`)
|
|
545
|
+
this.dialogVisible = false
|
|
546
|
+
this.initTreeData()
|
|
547
|
+
})
|
|
548
|
+
}
|
|
549
|
+
})
|
|
550
|
+
},
|
|
551
|
+
// 添加行:数据类型默认值
|
|
552
|
+
beforeAddFn() {
|
|
553
|
+
const fdFieldTypeIds = this.selectedFieldTypeIds
|
|
554
|
+
if (fdFieldTypeIds == null || fdFieldTypeIds == '') {
|
|
555
|
+
this.$message.error(`请先选择字段类型!`)
|
|
556
|
+
return false
|
|
557
|
+
}
|
|
558
|
+
return true
|
|
559
|
+
},
|
|
560
|
+
addDefaultValueFn() {
|
|
561
|
+
return this.getCurrentNode().fdId
|
|
562
|
+
},
|
|
563
|
+
checkSort() {
|
|
564
|
+
const selection = this.$refs.devDbFieldGrid.getSelection()
|
|
565
|
+
if (selection.length == 0) {
|
|
566
|
+
this.$message.error(`请选择需要操作的行!`)
|
|
567
|
+
return null
|
|
568
|
+
} else if (selection.length > 1) {
|
|
569
|
+
this.$message.error(`只能选择一行!`)
|
|
570
|
+
return null
|
|
571
|
+
}
|
|
572
|
+
return selection[0]
|
|
573
|
+
},
|
|
574
|
+
// 修改排序
|
|
575
|
+
doSortChange(rowFdId, rowFdSort, exchangeRowFdId, exchangeRowFdSort) {
|
|
576
|
+
this.$request({
|
|
577
|
+
url: '/apd/db/DevDbField/updateDbFieldSort',
|
|
578
|
+
method: 'post',
|
|
579
|
+
data: {rowFdId, rowFdSort, exchangeRowFdId, exchangeRowFdSort}
|
|
580
|
+
}).then(response => {
|
|
581
|
+
this.$message.success(`修改成功!`)
|
|
582
|
+
this.$refs.devDbFieldGrid.refresh()
|
|
583
|
+
})
|
|
584
|
+
},
|
|
585
|
+
// 排序调整:向上
|
|
586
|
+
sortBefore() {
|
|
587
|
+
const rowData = this.checkSort()
|
|
588
|
+
if (rowData == null) {
|
|
589
|
+
return
|
|
590
|
+
}
|
|
591
|
+
const dataIdx = rowData.dataIdx
|
|
592
|
+
if (dataIdx == 1) {
|
|
593
|
+
this.$message.success(`字段已经是第一个啦!`)
|
|
594
|
+
return
|
|
595
|
+
}
|
|
586
596
|
|
|
587
|
-
|
|
597
|
+
const exchangeRow = this.tableOpt.data[dataIdx - 2]
|
|
588
598
|
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
599
|
+
this.doSortChange(rowData.fdId, exchangeRow.fdSort, exchangeRow.fdId, rowData.fdSort)
|
|
600
|
+
},
|
|
601
|
+
// 排序调整:向下
|
|
602
|
+
sortAfter() {
|
|
603
|
+
const rowData = this.checkSort()
|
|
604
|
+
if (rowData == null) {
|
|
605
|
+
return
|
|
606
|
+
}
|
|
607
|
+
const dataIdx = rowData.dataIdx
|
|
608
|
+
if (dataIdx >= this.tableOpt.data.length) {
|
|
609
|
+
this.$message.success(`字段已经是最后一个啦!`)
|
|
610
|
+
return
|
|
611
|
+
}
|
|
612
|
+
const exchangeRow = this.tableOpt.data[dataIdx]
|
|
603
613
|
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
|
|
612
|
-
|
|
613
|
-
|
|
614
|
-
|
|
615
|
-
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
614
|
+
this.doSortChange(rowData.fdId, exchangeRow.fdSort, exchangeRow.fdId, rowData.fdSort)
|
|
615
|
+
},
|
|
616
|
+
doSortByIndex() {
|
|
617
|
+
const data = this.$refs.devDbFieldGrid.getData()
|
|
618
|
+
const list = []
|
|
619
|
+
for (let i = 0; i < data.length; i++) {
|
|
620
|
+
list.push({
|
|
621
|
+
fdId: data[i].fdId,
|
|
622
|
+
fdSort: data[i].dataIdx
|
|
623
|
+
})
|
|
624
|
+
}
|
|
625
|
+
this.$request({
|
|
626
|
+
url: '/apd/db/DevDbField/updateDbFieldSortList',
|
|
627
|
+
method: 'post',
|
|
628
|
+
data: {list: JSON.stringify(list)}
|
|
629
|
+
}).then(response => {
|
|
630
|
+
this.$message.success(`排序成功!`)
|
|
631
|
+
this.$refs.devDbFieldGrid.refresh()
|
|
632
|
+
})
|
|
633
|
+
},
|
|
634
|
+
searchEvent() {
|
|
635
|
+
this.$refs.devDbFieldGrid.refresh()
|
|
636
|
+
},
|
|
637
|
+
openHelp() {
|
|
638
|
+
const msg = `
|
|
629
639
|
<b>一、通用字段:</b><br>
|
|
630
640
|
1、标识类型(0、1):放在【默认-标识】下。<br>
|
|
631
641
|
2、日期:放在【默认-日期】下。<br>
|
|
@@ -634,9 +644,9 @@ export default {
|
|
|
634
644
|
<b>二、特殊字段:</b><br>
|
|
635
645
|
1、字段是业务模块特有的,放在【业务】下的模块。如:固定资产编码fd_asset_type_code,应该放在固定资产下。<br>
|
|
636
646
|
`
|
|
637
|
-
|
|
647
|
+
this.$alert(msg, '字段规范说明', {dangerouslyUseHTMLString: true})
|
|
648
|
+
}
|
|
638
649
|
}
|
|
639
|
-
}
|
|
640
650
|
}
|
|
641
651
|
</script>
|
|
642
652
|
|