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
77758f0c
authored
2025-06-28 13:02:53 +0800
by
fanguang
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
fix
1 parent
8dc1dbcf
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
83 additions
and
56 deletions
src/views/data_meta/components/standardDialog.vue
src/views/data_meta/components/standardDialog.vue
View file @
77758f0
...
...
@@ -29,8 +29,10 @@
show-checkbox
check-strictly
placeholder=
"请选择"
:disabled=
"parentGuidDisabled"
:disabled=
"treeSelectDisabled"
clearable
@
check=
"parentGuidCheck"
@
clear=
"parentGuidClear"
/>
<!--
<el-cascader
v-model=
"form.parentGuid"
...
...
@@ -73,26 +75,26 @@
</el-form-item>
</el-col>
<el-col
:span=
"24"
>
<el-form-item
label=
"自定义字段选择"
v-if=
"f
orm.fieldRQVOS
"
required
>
<el-form-item
label=
"自定义字段选择"
v-if=
"f
ieldsTableShow
"
required
>
<div
class=
"table-form"
>
<div
class=
"table-form-wrapper"
v-for=
"item,index in form.fieldRQVOS"
:key=
"index"
>
<div
class=
"table-form-item"
>
<el-select
v-model=
"item.fileNameCode"
style=
"width:160px"
filterable
clearable
:disabled=
"fieldsDisabled
|| fieldsControlDisabled
"
>
<el-select
v-model=
"item.fileNameCode"
style=
"width:160px"
filterable
clearable
:disabled=
"fieldsDisabled"
>
<el-option
v-for=
"item in fieldOptions"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
</el-select>
</div>
<div
class=
"table-form-item"
>
<el-select
v-model=
"item.isNotnull"
style=
"width: 96px"
placeholder=
"是否必填"
clearable
:disabled=
"fieldsDisabled
|| fieldsControlDisabled
"
>
<el-select
v-model=
"item.isNotnull"
style=
"width: 96px"
placeholder=
"是否必填"
clearable
:disabled=
"fieldsDisabled"
>
<el-option
v-for=
"item in isBooleanOptions"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
</el-select>
</div>
<div
class=
"table-form-item"
>
<el-select
v-model=
"item.isDisplay"
style=
"width:96px"
placeholder=
"是否展示"
clearable
:disabled=
"fieldsDisabled
|| fieldsControlDisabled
"
>
<el-select
v-model=
"item.isDisplay"
style=
"width:96px"
placeholder=
"是否展示"
clearable
:disabled=
"fieldsDisabled"
>
<el-option
v-for=
"item in isBooleanOptions"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
</el-select>
</div>
<div
class=
"table-form-item"
>
<el-select
v-model=
"item.inputTypeCode"
style=
"width:130px"
clearable
:disabled=
"fieldsDisabled
|| fieldsControlDisabled
"
<el-select
v-model=
"item.inputTypeCode"
style=
"width:130px"
clearable
:disabled=
"fieldsDisabled"
@
change=
"v => inputTypeChange(v, item)"
>
<el-option
v-for=
"item in inputOptions"
:label=
"item.label"
:value=
"item.value"
:key=
"item.value"
></el-option>
</el-select>
...
...
@@ -102,24 +104,24 @@
v-if=
"item.inputTypeCode == 2"
v-model=
"item.dataTypeCode"
style=
"width:160px"
filterable
clearable
:disabled=
"fieldsDisabled
|| fieldsControlDisabled
"
>
:disabled=
"fieldsDisabled"
>
<el-option
v-for=
"item in allDictOptions"
:label=
"item.dictTypeName"
:value=
"item.dictTypeName"
:key=
"item.guid"
></el-option>
</el-select>
<el-input
v-else-if=
"item.inputTypeCode == 3"
v-model=
"item.validateExpression"
:disabled=
"fieldsDisabled
|| fieldsControlDisabled
"
:disabled=
"fieldsDisabled"
placeholder=
"请输入"
></el-input>
</div>
<div
class=
"table-form-operation"
v-if=
"!fieldsDisabled
&& !fieldsControlDisabled
"
>
<div
class=
"table-form-operation"
v-if=
"!fieldsDisabled"
>
<!--
<el-icon
color=
"#4fa1a4"
@
click=
"() => addTableItem(index)"
>
<CirclePlus
/>
</el-icon>
-->
<el-icon
color=
"#b2b2b2"
@
click=
"() => deleteTableItem(index)"
:size=
"22"
class=
"custom-icon"
style=
"margin-top:3px"
><Delete
/></el-icon>
</div>
</div>
<div
class=
"table-form-add"
v-if=
"!fieldsDisabled
&& !fieldsControlDisabled
"
>
<div
class=
"table-form-add"
v-if=
"!fieldsDisabled"
>
<el-icon
color=
"#4fa1a4"
@
click=
"() => addTableItem(index)"
:size=
"20"
class=
"custom-icon"
>
<CirclePlus
/>
</el-icon>
...
...
@@ -186,35 +188,6 @@ const visible = computed({
const
title
=
computed
(()
=>
{
return
props
.
type
===
'add'
?
'新增元数据标准'
:
'编辑元数据标准'
})
const
parentGuidDisabled
=
computed
(()
=>
{
// 元数据标准有数据,有子集,不可编辑上级标准
let
{
currentNode
,
type
}
=
props
if
(
type
===
'add'
)
{
return
false
}
if
(
currentNode
.
isHaveData
===
'Y'
||
currentNode
.
children
)
{
return
true
}
})
const
fieldsDisabled
=
computed
(()
=>
{
// 二级节点: 该节点,所有子节点有字段数据后不可修改
// 三级节点以下:禁止修改
let
{
currentNode
,
type
}
=
props
if
(
type
===
'add'
)
{
return
false
}
if
(
currentNode
.
level
==
2
)
{
if
(
currentNode
.
isHaveData
===
'Y'
||
currentNode
.
children
)
{
return
true
}
return
false
}
if
(
currentNode
.
level
<=
3
)
{
return
true
}
})
const
fieldsControlDisabled
=
ref
(
true
)
const
treeSelectData
=
ref
([])
/**
* 配置项列表
...
...
@@ -266,16 +239,53 @@ function parentGuidChange (val) {
form
.
value
.
fieldRQVOS
=
[{...
tableFormTpl
}]
}
}
function
parentGuidCheck
(
node
,
{
checkedKeys
})
{
fieldsControlDisabled
.
value
=
false
if
(
node
.
level
==
1
)
{
let
fieldRQVOS
=
null
if
(
checkedKeys
.
length
)
{
fieldRQVOS
=
[{...
tableFormTpl
}]
/** 上级标准树选择 */
const
treeSelectData
=
ref
([])
const
treeCurrentNode
=
ref
({})
const
treeSelectDisabled
=
ref
(
false
)
const
fieldsDisabled
=
ref
(
false
)
const
fieldsTableShow
=
ref
(
false
)
watch
(
()
=>
treeCurrentNode
,
(
currentNode
:
any
)
=>
{
console
.
log
(
'currentNode'
,
currentNode
.
value
)
let
{
level
,
isHaveData
}
=
currentNode
.
value
fieldsTableShow
.
value
=
level
?
true
:
false
fieldsDisabled
.
value
=
false
if
(
!
level
)
{
form
.
value
.
fieldRQVOS
=
null
return
}
if
(
props
.
type
===
'add'
)
{
if
(
level
==
1
)
{
// 所选为一级节点,当前二级节点
form
.
value
.
fieldRQVOS
=
[{...
tableFormTpl
}]
}
if
(
level
>=
2
)
{
// 所选为二级节点,当前三级节点以下,只读
fieldsDisabled
.
value
=
true
}
form
.
value
.
fieldRQVOS
=
fieldRQVOS
}
else
if
(
props
.
type
===
'edit'
)
{
if
(
level
==
1
)
{
// 所选为一级节点,当前二级节点
form
.
value
.
fieldRQVOS
=
[{...
tableFormTpl
}]
fieldsDisabled
.
value
=
false
}
if
(
level
>=
2
)
{
fieldsDisabled
.
value
=
true
}
}
},
{
deep
:
true
}
)
function
parentGuidCheck
(
node
,
{
checkedKeys
})
{
// fieldsControlDisabled.value = false
treeCurrentNode
.
value
=
node
if
(
checkedKeys
.
length
===
0
)
{
treeCurrentNode
.
value
=
{}
return
}
if
(
node
.
level
==
1
)
return
// 上级标准带出标准编号和发布单位
// loading.value = true
...
...
@@ -289,14 +299,12 @@ function parentGuidCheck (node, {checkedKeys}) {
form
.
value
.
publishingUnitCode
=
data
.
publishingUnitCode
}
form
.
value
.
fieldRQVOS
=
data
.
fieldRSVOS
if
(
data
.
fieldRSVOS
)
{
fieldsControlDisabled
.
value
=
true
}
else
{
fieldsControlDisabled
.
value
=
false
}
}
})
}
function
parentGuidClear
()
{
treeCurrentNode
.
value
=
{}
}
const
tableFormTpl
=
{
fileNameCode
:
''
,
...
...
@@ -335,6 +343,17 @@ function getDetail () {
const
data
=
res
.
data
data
.
fieldRQVOS
=
data
.
fieldRSVOS
form
.
value
=
{
...
data
}
let
{
level
,
isHaveData
}
=
treeCurrentNode
.
value
if
(
level
==
1
)
{
// 所选为一级节点,当前二级节点
fieldsTableShow
.
value
=
false
}
if
(
level
==
2
)
{
fieldsDisabled
.
value
=
isHaveData
===
'Y'
?
true
:
false
}
if
(
level
>=
3
)
{
fieldsDisabled
.
value
=
true
}
}
}).
finally
(()
=>
loading
.
value
=
false
)
}
...
...
@@ -377,32 +396,40 @@ watch(
()
=>
visible
.
value
,
(
v
)
=>
{
if
(
!
v
)
return
// console.log(props.currentNode)
// 上级标准:不能选自己,有数据的标准不能选
// treeSelectData.value = JSON.parse(JSON.stringify(props.standardOptions))
if
(
props
.
type
===
'edit'
)
{
fieldsControlDisabled
.
value
=
false
// fieldsControlDisabled.value = false
getTreeSelectOptions
().
then
(()
=>
{
getDetail
().
then
(()
=>
formatOptions
(
treeSelectData
.
value
))
})
treeCurrentNode
.
value
=
props
.
currentNode
}
else
{
fieldsControlDisabled
.
value
=
true
//
fieldsControlDisabled.value = true
form
.
value
=
{
...
formTpl
}
getTreeSelectOptions
().
then
(()
=>
formatOptions
(
treeSelectData
.
value
))
getTreeSelectOptions
().
then
(()
=>
{
formatOptions
(
treeSelectData
.
value
)
})
treeCurrentNode
.
value
=
{}
}
setTimeout
(()
=>
{
formEl
.
value
.
clearValidate
()
},
100
)
}
)
function
formatOptions
(
options
)
{
function
formatOptions
(
options
,
level
=
1
)
{
options
.
forEach
((
item
:
any
)
=>
{
let
disabled
=
form
.
value
.
guid
===
item
.
guid
?
true
:
false
if
(
item
.
isHaveData
===
'Y'
)
{
disabled
=
true
}
item
.
disabled
=
disabled
item
.
level
=
level
if
(
item
.
children
)
{
formatOptions
(
item
.
children
)
formatOptions
(
item
.
children
,
level
+
1
)
}
})
}
...
...
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