Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
csbr-daop
/
fe-data-trusted-space
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
3c2a1245
authored
2025-01-08 11:49:03 +0800
by
xukangle
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
fix: 修改分类分级
1 parent
ec743969
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
154 additions
and
90 deletions
src/api/modules/dataInventory.ts
src/components/Form/index.vue
src/views/data_inventory/classifyGradeCatalogue.vue
src/views/data_inventory/configureRules.vue
src/views/data_inventory/tableCreateExisting.vue
src/api/modules/dataInventory.ts
View file @
3c2a124
...
...
@@ -756,7 +756,13 @@ export const updateDbDirTable = (data) => request({
export
const
createTableSql
=
(
data
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_APP_CHECK_BASEURL
}
/db-dir/table/create-table-sql`
,
method
:
'post'
,
data
data
,
responseType
:
'blob'
,
})
/**删除新建表 */
export
const
deleteDbDirTable
=
(
params
)
=>
request
({
url
:
`
${
import
.
meta
.
env
.
VITE_APP_CHECK_BASEURL
}
/db-dir/table/del?tableGuid=
${
params
.
tableGuid
}
`
,
method
:
'get'
,
})
/**
...
...
src/components/Form/index.vue
View file @
3c2a124
...
...
@@ -1138,7 +1138,8 @@ const panelChange = (scope, row) => {
:value=
"child.props?.value ? opts[child.props.value] : opts.value"
:disabled=
"opts.disabled"
/>
</el-select>
<el-input
v-else
v-model
.
trim=
"formInline[child.field]"
:placeholder=
"child.placeholder"
:clearable=
"child.clearable"
:maxlength=
"child.maxlength ?? ''"
/>
:clearable=
"child.clearable"
:maxlength=
"child.maxlength ?? ''"
@
change=
"(val) => inputChange(val, child)"
@
input=
"(val) => inputEventChange(val, child)"
/>
</el-form-item>
</
template
>
</div>
...
...
src/views/data_inventory/classifyGradeCatalogue.vue
View file @
3c2a124
...
...
@@ -26,12 +26,13 @@ import {
getDbDirFieldSelectList
,
updateDataAsset
,
getDictionaryAll
,
getNewDataTypeList
getNewDataTypeList
,
deleteDbDirTable
}
from
'@/api/modules/dataInventory'
;
import
{
TableColumnWidth
}
from
"@/utils/enum"
;
import
router
from
"@/router"
;
import
{
download
}
from
"@/utils/common"
;
import
{
vi
}
from
"element-plus/es/locale"
;
const
currentPath
=
ref
<
string
[]
>
([]);
const
currentDatabasePath
=
ref
<
string
[]
>
([]);
const
{
proxy
}
=
getCurrentInstance
()
as
any
;
...
...
@@ -105,7 +106,7 @@ const getDictionaryList = () => {
dictionaryList
.
value
=
[];
if
(
res
.
code
==
proxy
.
$passCode
)
{
dictionaryList
.
value
=
res
.
data
||
[];
classEditFormItems
.
value
[
4
].
options
=
res
.
data
||
[];
classEditFormItems
.
value
[
5
].
options
=
res
.
data
||
[];
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
...
...
@@ -544,11 +545,13 @@ const batchControlRules = () => {
// 如果全都是单文本框或者全都是双文本框,则继续后续操作
if
(
isSingleInputField
)
{
classEditFormItems
.
value
[
5
].
visible
=
true
;
classEditFormItems
.
value
[
6
].
visible
=
false
;
}
else
if
(
isDoubleInputField
)
{
classEditFormItems
.
value
[
5
].
visible
=
false
;
classEditFormItems
.
value
[
4
].
visible
=
false
;
classEditFormItems
.
value
[
6
].
visible
=
true
;
classEditFormItems
.
value
[
7
].
visible
=
false
;
}
else
if
(
isDoubleInputField
)
{
classEditFormItems
.
value
[
4
].
visible
=
true
;
classEditFormItems
.
value
[
6
].
visible
=
false
;
classEditFormItems
.
value
[
7
].
visible
=
true
;
}
classEditFormItems
.
value
[
0
].
default
=
selectedRulesData
.
value
.
rulesName
;
drawerInfo
.
value
.
visible
=
true
;
...
...
@@ -607,7 +610,7 @@ const dataBaseTableInfo = ref({
}
},
{
label
:
"状态"
,
field
:
"state"
,
type
:
'tag'
,
width
:
120
,
getName
:
(
scope
)
=>
{
label
:
"状态"
,
field
:
"state"
,
type
:
'tag'
,
width
:
120
,
align
:
"center"
,
getName
:
(
scope
)
=>
{
let
status
=
scope
.
row
.
state
;
// 0 草稿中 1 已建表 2 已有默认表
return
status
==
0
?
'草稿中'
:
status
==
1
?
'已建表'
:
'已有默认表'
;
...
...
@@ -615,7 +618,7 @@ const dataBaseTableInfo = ref({
},
{
label
:
"修改人"
,
field
:
"taskUpdateUserName"
,
width
:
100
},
{
label
:
"修改时间"
,
field
:
"updateTime"
,
width
:
TableColumnWidth
.
DATETIME
},
{
label
:
"描述"
,
field
:
"description"
,
width
:
120
,
align
:
'
center
'
},
{
label
:
"描述"
,
field
:
"description"
,
width
:
120
,
align
:
'
left
'
},
{
label
:
"规划数据资产"
,
field
:
"isDataAsset"
,
type
:
'switch'
,
activeText
:
'是'
,
inactiveText
:
'否'
,
activeValue
:
'Y'
,
inactiveValue
:
'N'
,
switchWidth
:
56
,
width
:
120
,
align
:
'center'
},
],
...
...
@@ -628,7 +631,7 @@ const dataBaseTableInfo = ref({
actionInfo
:
{
label
:
"操作"
,
type
:
"btn"
,
width
:
2
0
0
,
width
:
2
4
0
,
fixed
:
'right'
,
btns
:
(
scope
)
=>
{
return
[
...
...
@@ -668,6 +671,7 @@ const dataBaseTableInfo = ref({
database
:
scope
.
row
.
database
,
databaseChName
:
scope
.
row
.
databaseChName
,
databaseGuid
:
scope
.
row
.
databaseGuid
,
state
:
scope
.
row
.
state
,
}
});
}
else
{
...
...
@@ -682,11 +686,43 @@ const dataBaseTableInfo = ref({
database
:
scope
.
row
.
database
,
databaseChName
:
scope
.
row
.
databaseChName
,
databaseGuid
:
scope
.
row
.
databaseGuid
,
state
:
scope
.
row
.
state
,
}
});
}
},
disabled
:
scope
.
row
.
state
!==
2
?
false
:
true
},
{
//删除
label
:
"删除"
,
value
:
"delete"
,
click
:
(
scope
)
=>
{
console
.
log
(
'删除'
,
scope
);
proxy
.
$confirm
(
'此操作将永久删除该表, 是否继续?'
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(
async
()
=>
{
const
res
:
any
=
await
deleteDbDirTable
({
tableGuid
:
scope
.
row
.
tableGuid
});
if
(
res
.
code
==
proxy
.
$passCode
)
{
proxy
.
$ElMessage
.
success
(
'删除成功'
);
dataBaseTableInfo
.
value
.
loading
=
true
;
await
getDataBaseTableData
({
pageIndex
:
dataBasePage
.
value
.
curr
,
pageSize
:
dataBasePage
.
value
.
limit
});
dataBaseTableInfo
.
value
.
loading
=
false
;
}
else
{
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
}).
catch
(()
=>
{
proxy
.
$ElMessage
({
type
:
'info'
,
message
:
'已取消删除'
});
});
},
disabled
:
scope
.
row
.
state
==
2
?
true
:
false
}
]
}
...
...
@@ -770,6 +806,7 @@ const classEditFormItems = ref<any>([{
placeholder
:
'请选择'
,
field
:
'orderNumLength'
,
options
:
selectLength
.
value
,
default
:
''
,
required
:
false
,
clearable
:
true
,
},
...
...
@@ -783,37 +820,41 @@ const classEditFormItems = ref<any>([{
required
:
false
,
clearable
:
true
,
col
:
'numberClass'
,
vis
a
ble
:
true
,
vis
i
ble
:
true
,
},
// {
// label: '',
// type: 'input-group',
// placeholder: '请输入',
// field: 'orderNum1',
// default: '',
// children: [
// {
// type: 'input',
// placeholder: '请输入',
// field: 'startNumber',
// default: '',
// clearable: true,
// required: false,
{
label
:
''
,
type
:
'input-group'
,
placeholder
:
'请输入'
,
field
:
'orderNum1'
,
default
:
''
,
children
:
[
{
type
:
'input'
,
placeholder
:
'请输入'
,
field
:
'startNumber'
,
default
:
''
,
maxlength
:
6
,
regexp
:
/
\D
/g
,
clearable
:
true
,
required
:
false
,
// },
// {
// type: 'input',
// placeholder: '请输入',
// field: 'endNumber',
// default: '',
// clearable: true,
// required: false,
// },
// ],
// col: 'col2',
// clearable: true,
// visable: false,
// },
},
{
type
:
'input'
,
placeholder
:
'请输入'
,
field
:
'endNumber'
,
default
:
''
,
maxlength
:
6
,
regexp
:
/
\D
/g
,
clearable
:
true
,
required
:
false
,
},
],
col
:
'numberClass'
,
clearable
:
true
,
visible
:
false
,
},
{
label
:
'精度'
,
type
:
'input'
,
...
...
@@ -824,6 +865,7 @@ const classEditFormItems = ref<any>([{
required
:
false
,
clearable
:
true
,
block
:
true
,
visible
:
true
,
},
{
label
:
'关联字典'
,
field
:
'dictionaryGuid'
,
...
...
@@ -849,35 +891,34 @@ const classEditFormItems = ref<any>([{
clearable
:
true
,
block
:
false
,
disabled
:
false
,
vis
able
:
tru
e
,
vis
ible
:
fals
e
,
},
{
label
:
'字段取值范围'
,
type
:
'input-group'
,
placeholder
:
'请输入'
,
field
:
'fieldValueRange'
,
default
:
''
,
children
:
[
{
type
:
'input'
,
placeholder
:
'请输入'
,
field
:
'startValue'
,
default
:
''
,
clearable
:
true
,
required
:
true
,
required
:
false
,
regexp
:
/
\D
/g
,
},
{
type
:
'input'
,
placeholder
:
'请输入'
,
field
:
'endValue'
,
default
:
''
,
clearable
:
true
,
required
:
true
,
required
:
false
,
regexp
:
/
\D
/g
,
},
],
col
:
'col2'
,
clearable
:
true
,
vis
a
ble
:
true
,
vis
i
ble
:
true
,
},
// 替换为下拉
{
...
...
@@ -885,7 +926,7 @@ const classEditFormItems = ref<any>([{
type
:
"select"
,
field
:
"isUnique"
,
disabled
:
false
,
default
:
'
N
'
,
default
:
''
,
options
:
[
{
label
:
"是"
,
value
:
"Y"
,
disabled
:
false
},
{
label
:
"否"
,
value
:
"N"
,
disabled
:
false
},
...
...
@@ -909,7 +950,7 @@ const classEditFormItems = ref<any>([{
type
:
"select"
,
field
:
"isNotNull"
,
disabled
:
false
,
default
:
'
N
'
,
default
:
''
,
options
:
[
{
label
:
"是"
,
value
:
"Y"
,
disabled
:
false
},
{
label
:
"否"
,
value
:
"N"
,
disabled
:
false
},
...
...
@@ -973,8 +1014,18 @@ const drawerBtnClick = async (btn, info) => {
}
else
{
btn
.
loading
=
true
;
console
.
log
(
'drawerBtnClick'
,
info
);
const
{
orderNumLength
,
orderNum
,
fieldValueRange
,
startValue
,
endValue
,
fieldPrecision
,
dictionaryGuid
,
isUnique
,
isNotNull
}
=
info
;
const
{
orderNumLength
,
orderNum
,
startNumber
,
endNumber
,
fieldValueRange
,
startValue
,
endValue
,
fieldPrecision
,
dictionaryGuid
,
isUnique
,
isNotNull
}
=
info
;
// 判断长度orderNumLength,orderNum 要么都有值,要么都没有值,不能只有一个有值,一个没有值精确提醒
let
fieldLengthCondition
:
any
=
''
;
if
((
orderNumLength
===
'between'
&&
!
startNumber
)
||
(
orderNumLength
===
'between'
&&
!
endNumber
))
{
proxy
.
$ElMessage
.
error
(
'请选择长度边界范围'
);
btn
.
loading
=
false
;
return
;
}
else
{
fieldLengthCondition
=
orderNumLength
+
'#'
+
startNumber
+
'#'
+
endNumber
;
}
if
(
orderNumLength
!==
'between'
)
{
if
(
orderNumLength
&&
!
orderNum
)
{
proxy
.
$ElMessage
.
error
(
'请填写长度'
);
btn
.
loading
=
false
;
...
...
@@ -985,13 +1036,14 @@ const drawerBtnClick = async (btn, info) => {
btn
.
loading
=
false
;
return
;
}
let
fieldLengthCondition
:
any
=
''
;
if
(
!
orderNumLength
&&
!
orderNum
)
{
fieldLengthCondition
=
''
;
}
if
(
orderNumLength
&&
orderNum
)
{
fieldLengthCondition
=
orderNumLength
+
'#'
+
orderNum
;
}
}
const
params
:
any
=
[];
selectedRulesData
.
value
.
guids
.
forEach
((
item
:
any
)
=>
{
...
...
@@ -1037,8 +1089,6 @@ const drawerBtnClick = async (btn, info) => {
btn
.
loading
=
false
;
proxy
.
$ElMessage
.
error
(
res
.
msg
);
}
}
}
...
...
@@ -1047,10 +1097,13 @@ const drawerSelectChange = (val, row, info) => {
if
(
val
===
'between'
)
{
classEditFormItems
.
value
.
forEach
(
item
=>
{
if
(
item
.
field
===
'orderNum'
)
{
item
.
vis
a
ble
=
false
;
item
.
vis
i
ble
=
false
;
}
if
(
item
.
field
===
'orderNum1'
)
{
item
.
visable
=
true
;
item
.
visible
=
true
;
}
if
(
item
.
field
===
'orderNumLength'
)
{
item
.
default
=
val
;
}
});
}
...
...
@@ -1657,18 +1710,9 @@ const selectChange = (val, row, info) => {
// 这里应该是onActivated 钩子,路由从configure-路由从configure-rules跳转过来要重新请求数据、
onActivated
(
async
()
=>
{
if
(
localStorage
.
getItem
(
'shouldReloadData'
)
===
'true'
)
{
await
getExecGuid
();
activeName
.
value
=
'second'
;
await
getDataBaseTreeData
();
await
getDataBaseTableData
({
exexGuid
:
execGuidInfo
.
value
.
execGuid
});
getDataBaseFieldData
(
{
exexGuid
:
execGuidInfo
.
value
.
execGuid
}
);
getDbDirTableSelectData
(
1
,
{});
localStorage
.
removeItem
(
'shouldReloadData'
);
}
});
...
...
src/views/data_inventory/configureRules.vue
View file @
3c2a124
...
...
@@ -520,8 +520,10 @@ const validatePositiveInteger = (row: any, field: string) => {
<el-table-column
prop=
"fieldPrecision"
label=
"精度"
width=
"120"
align=
"center"
>
<
template
#
default=
"scope"
>
<span
v-if=
"!scope.row.isEdit || !editableFields.fieldPrecision"
>
{{
scope
.
row
.
fieldPrecision
?
scope
.
row
.
fieldPrecision
:
'--'
}}
</span>
<!-- 判断是否是浮点型,并且当前行是否可编辑 -->
<span
v-if=
"!scope.row.isEdit || !editableFields.fieldPrecision || scope.row.fieldType !== 'float'"
>
{{
scope
.
row
.
fieldPrecision
?
scope
.
row
.
fieldPrecision
:
'--'
}}
</span>
<el-input
v-else
v-model=
"scope.row.fieldPrecision"
placeholder=
"请输入精度"
clearable
/>
</
template
>
</el-table-column>
...
...
src/views/data_inventory/tableCreateExisting.vue
View file @
3c2a124
...
...
@@ -21,6 +21,7 @@ import {
}
from
"@/api/modules/dataInventory"
;
import
existingTableSelect
from
"./existingTableSelect.vue"
;
import
useUserStore
from
"@/store/modules/user"
;
import
{
download
}
from
"@/utils/common"
;
/** 草稿中未建表时就可以编辑表相关信息。如果建表之后就只能编辑字段。 不能修改字段英文名称,数据库修改英文名就相当于删除再添加。都可以直接跳转到*/
...
...
@@ -228,6 +229,7 @@ const selectedDatabaseTableInfo = ref<any>([]);
const
datasourceSelectedRows
:
Ref
<
any
>
=
ref
([]);
// 记录数据库databaseGuid
const
handlDsSelectedChange
=
(
v
,
curr
)
=>
{
tableDataInfo
.
value
[
0
].
description
=
curr
.
description
||
''
;
selectedDatabaseTableInfo
.
value
=
curr
||
''
;
datasourceSelectedRows
.
value
=
v
||
[];
const
params
:
any
=
[];
...
...
@@ -374,7 +376,7 @@ const editableFields = {
classifyDetailGuid
:
true
,
// 分类可编辑
fieldType
:
true
,
// 字段类型可编辑
fieldChName
:
true
,
// 字段中文名可编辑
sourceFieldChName
:
true
,
// 源字段中文名可编辑
}
const
tableFieldsLoading
=
ref
(
false
)
...
...
@@ -802,6 +804,7 @@ const saveOrUpdate = async (params: any = {}, type) => {
if
(
res1
.
code
===
proxy
.
$passCode
)
{
proxy
.
$ElMessage
.
success
(
'编辑成功!'
);
userStore
.
setTabbar
(
userStore
.
tabbar
.
filter
((
tab
:
any
)
=>
tab
.
fullPath
!==
fullPath
));
localStorage
.
setItem
(
'shouldReloadData'
,
'true'
);
router
.
push
({
name
:
'classifyGradeCatalogue'
});
}
else
{
saveBtn
.
value
=
false
...
...
@@ -810,12 +813,12 @@ const saveOrUpdate = async (params: any = {}, type) => {
break
;
case
2
:
// 生成建表语句
c
onst
res2
:
any
=
await
createTableSql
(
finalParams
);
if
(
res2
.
code
===
proxy
.
$passCode
)
{
proxy
.
$ElMessage
.
success
(
'建表sql生成成功!'
);
}
else
{
proxy
.
$ElMessage
.
error
(
res2
.
msg
);
}
c
reateTableSql
(
finalParams
).
then
((
res
:
any
)
=>
{
download
(
res
,
'分类分级目录数据.xlsx'
,
'excel'
)
}
);
break
;
default
:
break
;
...
...
@@ -975,7 +978,7 @@ onActivated(() => {
<span
style=
"color:red;margin-left: 2px;"
>
*
</span>
</
template
>
<
template
#
default=
"scope"
>
<el-input
v-model=
"scope.row.tableName"
placeholder=
"请输入表名称"
/>
<el-input
v-model=
"scope.row.tableName"
placeholder=
"请输入表名称"
:disabled=
"route.query.state === '1'"
/>
</
template
>
</el-table-column>
...
...
@@ -1019,7 +1022,9 @@ onActivated(() => {
<el-table-column
prop=
"fieldChName"
label=
"目标字段中文名"
width=
"150"
show-overflow-tooltip
>
<!-- 可以编辑 -->
<
template
#
default=
"scope"
>
<span
v-if=
"!scope.row.isEdit || !editableFields.fieldChName"
>
{{
scope
.
row
.
fieldChName
?
<span
v-if=
"!scope.row.isEdit || !editableFields.fieldChName || (scope.row.isPrimary === 'Y' && route.query.editOpt === '1')"
>
{{
scope
.
row
.
fieldChName
?
scope
.
row
.
fieldChName
:
'--'
}}
</span>
<el-input
v-else
v-model=
"scope.row.fieldChName"
placeholder=
"请输入"
/>
...
...
@@ -1029,7 +1034,9 @@ onActivated(() => {
<!-- 字段英文名(可编辑) -->
<el-table-column
prop=
"fieldName"
label=
"目标字段英文名"
width=
"150"
show-overflow-tooltip
>
<
template
#
default=
"scope"
>
<span
v-if=
"!scope.row.isEdit || !editableFields.fieldName"
>
{{
scope
.
row
.
fieldName
?
<span
v-if=
"!scope.row.isEdit || !editableFields.fieldName || (scope.row.isPrimary === 'Y' && route.query.editOpt === '1')"
>
{{
scope
.
row
.
fieldName
?
scope
.
row
.
fieldName
:
'--'
}}
</span>
<el-input
v-else
v-model=
"scope.row.fieldName"
placeholder=
"必填"
...
...
@@ -1037,25 +1044,29 @@ onActivated(() => {
</
template
>
</el-table-column>
<!-- 源数据库 -->
<el-table-column
prop=
"sourceDatabase"
label=
"源数据库"
width=
"150"
show-overflow-tooltip
>
<el-table-column
prop=
"sourceDatabase"
label=
"源数据库"
width=
"150"
show-overflow-tooltip
v-if=
"route.query.foundMode == '1'"
>
<
template
#
default=
"scope"
>
{{
scope
.
row
.
sourceDatabase
?
scope
.
row
.
sourceDatabase
:
'--'
}}
</
template
>
</el-table-column>
<!-- 源数据表 -->
<el-table-column
prop=
"sourceTableName"
label=
"源数据表"
width=
"150"
show-overflow-tooltip
>
<el-table-column
prop=
"sourceTableName"
label=
"源数据表"
width=
"150"
show-overflow-tooltip
v-if=
"route.query.foundMode === '1'"
>
<
template
#
default=
"scope"
>
{{
scope
.
row
.
sourceTableName
?
scope
.
row
.
sourceTableName
:
'--'
}}
</
template
>
</el-table-column>
<!-- 源字段中文 -->
<el-table-column
prop=
"sourceFieldName"
label=
"源字段中文"
width=
"150"
show-overflow-tooltip
>
<el-table-column
prop=
"sourceFieldName"
label=
"源字段中文"
width=
"150"
show-overflow-tooltip
v-if=
"route.query.foundMode === '1'"
>
<
template
#
default=
"scope"
>
{{
scope
.
row
.
sourceFieldName
?
scope
.
row
.
sourceFieldName
:
'--'
}}
</
template
>
</el-table-column>
<!-- 源字段英文 -->
<el-table-column
prop=
"sourceFieldChName"
label=
"源字段英文"
width=
"120"
show-overflow-tooltip
>
<el-table-column
prop=
"sourceFieldChName"
label=
"源字段英文"
width=
"120"
show-overflow-tooltip
v-if=
"route.query.foundMode === '1'"
>
<
template
#
default=
"scope"
>
<!--
{{
scope
.
row
.
sourceFieldName
?
scope
.
row
.
sourceFieldName
:
'--'
}}
-->
...
...
@@ -1067,7 +1078,7 @@ onActivated(() => {
<!-- 源端字段 fieldType fieldTypeProps-->
<el-table-column
prop=
"fieldType"
label=
"源端字段类型"
width=
"120"
>
<
template
#
default=
"scope"
>
<div
v-if=
"scope.row.isEdit"
>
<div
v-if=
"scope.row.isEdit
&& !(scope.row.isPrimary === 'Y' && $route.query.editOpt === '1')
"
>
<el-select
v-model=
"scope.row.fieldType"
placeholder=
"选择类型"
clearable
filterable
:props=
"fieldTypeProps"
>
<el-option
v-for=
"(item, index) in fieldData"
:key=
"index"
:label=
"item.label"
...
...
@@ -1084,7 +1095,7 @@ onActivated(() => {
<el-table-column
prop=
"fieldLength"
label=
"长度"
width=
"100"
align=
"left"
>
<
template
#
default=
"scope"
>
<!-- 非编辑状态 -->
<span
v-if=
"!scope.row.isEdit"
>
<span
v-if=
"!scope.row.isEdit
|| (scope.row.isPrimary === 'Y' && route.query.editOpt === '1')
"
>
{{
[
'varchar'
,
'decimal'
,
'char'
].
includes
(
scope
.
row
.
fieldType
)
?
scope
.
row
.
fieldLength
||
'--'
:
'--'
}}
</span>
...
...
@@ -1128,9 +1139,9 @@ onActivated(() => {
<!-- 数据是否唯一(可编辑) -->
<el-table-column
prop=
"isPrimary"
label=
"是否主键"
width=
"100"
align=
"left"
>
<
template
#
default=
"scope"
>
<span
v-if=
"!scope.row.isEdit || !editableFields.isPrimary"
>
{{
scope
.
row
.
isPrimary
?
(
scope
.
row
.
isPrimary
===
'Y'
?
'是'
:
'否'
)
:
'--'
}}
</span>
<span
v-if=
"!scope.row.isEdit || !editableFields.isPrimary || (scope.row.isPrimary === 'Y' && route.query.editOpt === '1')"
>
{{
scope
.
row
.
isPrimary
||
'--'
}}
</span>
<el-select
v-else
v-model=
"scope.row.isPrimary"
placeholder=
"请选择"
>
<el-option
label=
"Y"
value=
"Y"
/>
<el-option
label=
"N"
value=
"N"
/>
...
...
@@ -1140,8 +1151,8 @@ onActivated(() => {
<!-- 是否必填(可编辑) -->
<el-table-column
prop=
"notNull"
label=
"是否必填"
width=
"100"
align=
"left"
>
<
template
#
default=
"scope"
>
<span
v-if=
"!scope.row.isEdit
"
>
{{
scope
.
row
.
notNull
?
(
scope
.
row
.
notNull
===
'Y'
?
'是'
:
'否'
)
:
'--'
}}
</span>
<span
v-if=
"!scope.row.isEdit
|| (scope.row.isPrimary === 'Y' && route.query.editOpt === '1')"
>
{{
scope
.
row
.
notNull
||
'--'
}}
</span>
<el-select
v-else
v-model=
"scope.row.notNull"
placeholder=
"请选择"
>
<el-option
label=
"Y"
value=
"Y"
/>
<el-option
label=
"N"
value=
"N"
/>
...
...
@@ -1188,8 +1199,8 @@ onActivated(() => {
<
template
#
default=
"scope"
>
<span
class=
"text_btn"
v-if=
"!scope.row.isEdit"
@
click=
"editRow(scope.row)"
>
编辑
</span>
<span
class=
"text_btn"
v-else
@
click=
"saveRow(scope.row)"
>
保存
</span>
<el-divider
direction=
"vertical"
/>
<span
class=
"text_btn"
@
click=
"deleteRow(scope.$index)"
>
删除
</span>
<el-divider
direction=
"vertical"
v-if=
"scope.row.isPrimary != 'Y'"
/>
<span
class=
"text_btn"
@
click=
"deleteRow(scope.$index)"
v-if=
"scope.row.isPrimary != 'Y'"
>
删除
</span>
</
template
>
</el-table-column>
</el-table>
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment