web资产关于数据资产模块修改

lijinlongNew
许宏杰 4 weeks ago
parent 4d542a30b9
commit 3ae6d654b4

@ -3942,7 +3942,278 @@
<el-row style="margin: 10px 0"> <el-row style="margin: 10px 0">
<span class="top-title-box">数据资产</span> <span class="top-title-box">数据资产</span>
</el-row> </el-row>
<el-row style="display: flex"> <el-form-item
prop="sjzcList"
v-for="(dataItem, dataIndex) in ruleForm.sjzcList"
:key="dataIndex"
class="listFormItem"
>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="数据库名称" required>
<el-input
v-model="dataItem.sjzcSjkmc"
:placeholder="'请输入数据库名称' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据库类型" required>
<el-select
v-model="dataItem.sjzcSjklx"
:placeholder="'请选择数据库类型' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.database_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="端口" required>
<el-input
v-model="dataItem.sjzcDk"
:placeholder="'请输入端口' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据库版本" required>
<el-input
v-model="dataItem.sjzcSjkbb"
:placeholder="'请输入数据库版本' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="数据库所在IP" required>
<el-input
v-model="dataItem.sjzcSjkIp"
:placeholder="'请输入数据库所在IP' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="共享属性" required>
<el-select
v-model="dataItem.sjzcGxsx"
:placeholder="'请选择共享属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_gxsx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="开放属性" required>
<el-select
v-model="dataItem.sjzcKfsx"
:placeholder="'请选择开放属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_kfsx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据领域" required>
<el-select
v-model="dataItem.sjzcSjly"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjly"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="更新周期" required>
<el-select
v-model="dataItem.sjzcGxzq"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_gxzq"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据类型" required>
<el-input
:placeholder="'请输入数据类型' + (dataIndex + 1)"
v-model="dataItem.sjzcSjlx"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="数据量" required>
<el-input
type="number"
v-model="dataItem.sjzcSjl"
:placeholder="'请输入数据量' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据量单位" required>
<el-select
v-model="dataItem.sjzcSjldw"
:placeholder="'请选择数据量单位' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjldw"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="数据是否出境" required>
<el-select
v-model="dataItem.sjzcCj"
:placeholder="'请选择数据是否出境' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据分级分类" required>
<el-select
v-model="dataItem.sjzcSjfjfl"
:placeholder="'请选择数据分级分类' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjfjfl"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="数据重要程度" required>
<el-select
v-model="dataItem.sjzcSjzycd"
:placeholder="'请选择数据重要程度' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.zc_xtzyx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="是否涉密数据" required>
<el-select
v-model="dataItem.sjzcSmsj"
:placeholder="'请选择是否涉密数据' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="24">
<el-form-item label="数据描述">
<el-input
type="textarea"
resize="none"
:placeholder="'请输入数据描述' + (dataIndex + 1)"
:rows="5"
v-model="dataItem.sjzcSjms"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="是否涉及个人信息" required>
<el-select
v-model="dataItem.sfsjgrxx"
:placeholder="'请填写是否涉及个人信息' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="个人信息数据量" required>
<el-input
:placeholder="'请填写个人信息数据量' + (dataIndex + 1)"
type="number"
v-model="dataItem.grxxsjl"
></el-input>
</el-form-item>
</el-col>
</el-row>
<i
v-if="dataIndex > 0"
@click="removeSjzcList(dataIndex)"
class="el-icon-remove-outline removeRow"
></i>
</el-form-item>
<el-row>
<el-form-item>
<el-button @click="addSjzcList()"></el-button>
</el-form-item>
</el-row>
<!-- <el-row style="display: flex">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="数据库名称" required> <el-form-item label="数据库名称" required>
<el-input <el-input
@ -3953,7 +4224,7 @@
</el-col> </el-col>
<el-col :span="12" style="margin-left: 10px"> <el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据库类型" required> <el-form-item label="数据库类型" required>
<!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> -->
<el-select <el-select
v-model="ruleForm.sjzcSjklx" v-model="ruleForm.sjzcSjklx"
placeholder="请选择数据库类型" placeholder="请选择数据库类型"
@ -4061,14 +4332,7 @@
</el-col> </el-col>
<el-col :span="12" style="margin-left: 10px"> <el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据类型" required> <el-form-item label="数据类型" required>
<!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
<el-option
v-for="dict in dict.type.sjzc_gxzq"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> -->
<el-input <el-input
v-model="ruleForm.sjzcSjlx" v-model="ruleForm.sjzcSjlx"
placeholder="请输入数据类型" placeholder="请输入数据类型"
@ -4178,7 +4442,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row> -->
<!-- 业务系统拓扑图 --> <!-- 业务系统拓扑图 -->
<el-row style="margin: 10px 0"> <el-row style="margin: 10px 0">
<span class="top-title-box">业务系统拓扑图</span> <span class="top-title-box">业务系统拓扑图</span>
@ -4330,6 +4594,12 @@ export default {
checkStrictly: true, checkStrictly: true,
}, },
ruleForm: { ruleForm: {
sjzcList: [
{
sjzcSjkmc: "",
sjzcSjklx: "",
},
],
// //
xjgywxt: { xjgywxt: {
remark: "", remark: "",
@ -4527,6 +4797,15 @@ export default {
} }
}, },
methods: { methods: {
addSjzcList() {
this.ruleForm.sjzcList.push({
sjzcSjkmc: "",
sjzcSjklx: "",
});
},
removeSjzcList(index) {
this.ruleForm.sjzcList.splice(index, 1);
},
changeState(e) { changeState(e) {
if (e != 5) { if (e != 5) {
this.ruleForm.bfyy = ""; this.ruleForm.bfyy = "";
@ -4936,4 +5215,19 @@ export default {
padding-left: 10px; padding-left: 10px;
} }
} }
::v-deep .listFormItem {
position: relative;
margin-bottom: 0;
& > .el-form-item__content {
margin-left: 0 !important;
.el-form-item {
margin-bottom: 22px;
}
}
.removeRow {
position: absolute;
bottom: 0;
right: 0;
}
}
</style> </style>

@ -4574,422 +4574,286 @@
<el-row style="margin: 10px 0"> <el-row style="margin: 10px 0">
<span class="top-title-box">数据资产</span> <span class="top-title-box">数据资产</span>
</el-row> </el-row>
<el-row style="display: flex">
<el-col :span="12"> <el-form-item
<el-form-item prop="sjzcList"
label="数据库名称" v-for="(dataItem, dataIndex) in ruleForm.sjzcList"
required :key="dataIndex"
:prop="`sjzcSjkmc`" class="listFormItem"
:rules="{ >
required: true, <el-row style="display: flex">
message: '请输入', <el-col :span="12">
trigger: 'blur', <el-form-item label="数据库名称" required>
}" <el-input
> v-model="dataItem.sjzcSjkmc"
<el-input :placeholder="'请输入数据库名称' + (dataIndex + 1)"
v-model="ruleForm.sjzcSjkmc" ></el-input>
placeholder="请输入数据库名称" </el-form-item>
></el-input> </el-col>
</el-form-item> <el-col :span="12" style="margin-left: 10px">
</el-col> <el-form-item label="数据库类型" required>
<el-col :span="12" style="margin-left: 10px"> <!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> -->
<el-form-item <el-select
label="数据库类型" v-model="dataItem.sjzcSjklx"
required :placeholder="'请选择数据库类型' + (dataIndex + 1)"
:prop="`sjzcSjklx`" >
:rules="{ <el-option
required: true, v-for="dict in dict.type.database_type"
message: '请输入', :key="dict.value"
trigger: 'blur', :label="dict.label"
}" :value="dict.value"
> />
<!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> --> </el-select>
<el-select </el-form-item>
v-model="ruleForm.sjzcSjklx" </el-col>
placeholder="请选择数据库类型" </el-row>
> <el-row style="display: flex">
<el-option <el-col :span="12">
v-for="dict in dict.type.database_type" <el-form-item label="端口" required>
:key="dict.value" <el-input
:label="dict.label" v-model="dataItem.sjzcDk"
:value="dict.value" :placeholder="'请输入端口' + (dataIndex + 1)"
/> ></el-input>
</el-select> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12" style="margin-left: 10px">
</el-row> <el-form-item label="数据库版本" required>
<el-row style="display: flex"> <el-input
<el-col :span="12"> v-model="dataItem.sjzcSjkbb"
<el-form-item :placeholder="'请输入数据库版本' + (dataIndex + 1)"
label="端口" ></el-input>
required </el-form-item>
:prop="`sjzcDk`" </el-col>
:rules="{ </el-row>
required: true, <el-row style="display: flex">
message: '请输入', <el-col :span="12">
trigger: 'blur', <el-form-item label="数据库所在IP" required>
}" <el-input
> v-model="dataItem.sjzcSjkIp"
<el-input :placeholder="'请输入数据库所在IP' + (dataIndex + 1)"
v-model="ruleForm.sjzcDk" ></el-input>
placeholder="请输入端口" </el-form-item>
></el-input> </el-col>
</el-form-item> <el-col :span="12" style="margin-left: 10px">
</el-col> <el-form-item label="共享属性" required>
<el-col :span="12" style="margin-left: 10px"> <el-select
<el-form-item v-model="dataItem.sjzcGxsx"
label="数据库版本" :placeholder="'请选择共享属性' + (dataIndex + 1)"
required >
:prop="`sjzcSjkbb`" <el-option
:rules="{ v-for="dict in dict.type.sjzc_gxsx"
required: true, :key="dict.value"
message: '请输入', :label="dict.label"
trigger: 'blur', :value="dict.value"
}" />
> </el-select>
<el-input </el-form-item>
v-model="ruleForm.sjzcSjkbb" </el-col>
placeholder="请输入数据库版本" </el-row>
></el-input> <el-row style="display: flex">
</el-form-item> <el-col :span="12">
</el-col> <el-form-item label="开放属性" required>
</el-row> <el-select
<el-row style="display: flex"> v-model="dataItem.sjzcKfsx"
<el-col :span="12"> :placeholder="'请选择开放属性' + (dataIndex + 1)"
<el-form-item >
label="数据库所在IP" <el-option
required v-for="dict in dict.type.sjzc_kfsx"
:prop="`sjzcSjkIp`" :key="dict.value"
:rules="{ :label="dict.label"
required: true, :value="dict.value"
message: '请输入', />
trigger: 'blur', </el-select>
}" </el-form-item>
> </el-col>
<el-input <el-col :span="12" style="margin-left: 10px">
v-model="ruleForm.sjzcSjkIp" <el-form-item label="数据领域" required>
placeholder="请输入数据库所在IP" <el-select
></el-input> v-model="dataItem.sjzcSjly"
</el-form-item> :placeholder="'请选择数据领域' + (dataIndex + 1)"
</el-col> >
<el-col :span="12" style="margin-left: 10px"> <el-option
<el-form-item v-for="dict in dict.type.sjzc_sjly"
label="共享属性" :key="dict.value"
required :label="dict.label"
:prop="`sjzcGxsx`" :value="dict.value"
:rules="{ />
required: true, </el-select>
message: '请输入', </el-form-item>
trigger: 'blur', </el-col>
}" </el-row>
> <el-row style="display: flex">
<el-select <el-col :span="12">
v-model="ruleForm.sjzcGxsx" <el-form-item label="更新周期" required>
placeholder="请选择共享属性" <el-select
> v-model="dataItem.sjzcGxzq"
<el-option :placeholder="'请选择数据领域' + (dataIndex + 1)"
v-for="dict in dict.type.sjzc_gxsx" >
:key="dict.value" <el-option
:label="dict.label" v-for="dict in dict.type.sjzc_gxzq"
:value="dict.value" :key="dict.value"
/> :label="dict.label"
</el-select> :value="dict.value"
</el-form-item> />
</el-col> </el-select>
</el-row> </el-form-item>
<el-row style="display: flex"> </el-col>
<el-col :span="12"> <el-col :span="12" style="margin-left: 10px">
<el-form-item <el-form-item label="数据类型" required>
label="开放属性" <!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
required
:prop="`sjzcKfsx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcKfsx"
placeholder="请选择开放属性"
>
<el-option
v-for="dict in dict.type.sjzc_kfsx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="数据领域"
required
:prop="`sjzcSjly`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcSjly"
placeholder="请选择数据领域"
>
<el-option
v-for="dict in dict.type.sjzc_sjly"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="更新周期"
required
:prop="`sjzcGxzq`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcGxzq"
placeholder="请选择数据领域"
>
<el-option
v-for="dict in dict.type.sjzc_gxzq"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="数据类型"
required
:prop="`sjzcSjlx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
<el-option
v-for="dict in dict.type.sjzc_gxzq"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> -->
<el-input
v-model="ruleForm.sjzcSjlx"
placeholder="请输入数据类型"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="数据量"
required
:prop="`sjzcSjl`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-input
type="number"
v-model="ruleForm.sjzcSjl"
placeholder="请输入数据量"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="数据量单位"
required
:prop="`sjzcSjldw`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcSjldw"
placeholder="请选择数据量单位"
>
<el-option
v-for="dict in dict.type.sjzc_sjldw"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="数据是否出境"
required
:prop="`sjzcCj`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcCj"
placeholder="请选择数据是否出境"
>
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="数据分级分类"
required
:prop="`sjzcSjfjfl`"
:rules="{
required: true,
message: '请输入',
trigger: 'change',
}"
>
<el-select
v-model="ruleForm.sjzcSjfjfl"
placeholder="请选择数据分级分类"
>
<el-option
v-for="dict in dict.type.sjzc_sjfjfl"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="数据重要程度"
required
:prop="`sjzcSjzycd`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcSjzycd"
placeholder="请选择数据重要程度"
>
<el-option
v-for="dict in dict.type.zc_xtzyx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="是否涉密数据"
required
:prop="`sjzcSmsj`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcSmsj"
placeholder="请选择是否涉密数据"
>
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="24">
<el-form-item label="数据描述" prop="sjzcSjms">
<el-input
type="textarea"
resize="none"
placeholder="请输入数据描述"
:rows="5"
v-model="ruleForm.sjzcSjms"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="是否涉及个人信息"
required
:prop="`sjzcSjzycd`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select v-model="ruleForm.sfsjgrxx" placeholder="请填写">
<el-option <el-option
v-for="dict in dict.type.is_no" v-for="dict in dict.type.sjzc_gxzq"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
/> />
</el-select> </el-select> -->
</el-form-item> <el-input
</el-col> :placeholder="'请输入数据类型' + (dataIndex + 1)"
<el-col :span="12" style="margin-left: 10px"> v-model="dataItem.sjzcSjlx"
<el-form-item ></el-input>
label="个人信息数据量" </el-form-item>
required </el-col>
:prop="`sjzcSmsj`" </el-row>
> <el-row style="display: flex">
<el-input <el-col :span="12">
type="number" <el-form-item label="数据量" required>
v-model="ruleForm.grxxsjl" <el-input
placeholder="请填写" type="number"
></el-input> v-model="dataItem.sjzcSjl"
</el-form-item> :placeholder="'请输入数据量' + (dataIndex + 1)"
</el-col> ></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据量单位" required>
<el-select
v-model="dataItem.sjzcSjldw"
:placeholder="'请选择数据量单位' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjldw"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="数据是否出境" required>
<el-select
v-model="dataItem.sjzcCj"
:placeholder="'请选择数据是否出境' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据分级分类" required>
<el-select
v-model="dataItem.sjzcSjfjfl"
:placeholder="'请选择数据分级分类' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjfjfl"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="数据重要程度" required>
<el-select
v-model="dataItem.sjzcSjzycd"
:placeholder="'请选择数据重要程度' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.zc_xtzyx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="是否涉密数据" required>
<el-select
v-model="dataItem.sjzcSmsj"
:placeholder="'请选择是否涉密数据' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="24">
<el-form-item label="数据描述">
<el-input
type="textarea"
resize="none"
:placeholder="'请输入数据描述' + (dataIndex + 1)"
:rows="5"
v-model="dataItem.sjzcSjms"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="是否涉及个人信息" required>
<el-select
v-model="dataItem.sfsjgrxx"
:placeholder="'请填写是否涉及个人信息' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="个人信息数据量" required>
<el-input
:placeholder="'请填写个人信息数据量' + (dataIndex + 1)"
type="number"
v-model="dataItem.grxxsjl"
></el-input>
</el-form-item>
</el-col>
</el-row>
<i
v-if="dataIndex > 0"
@click="removeSjzcList(dataIndex)"
class="el-icon-remove-outline removeRow"
></i>
</el-form-item>
<el-row>
<el-form-item>
<el-button @click="addSjzcList()"></el-button>
</el-form-item>
</el-row> </el-row>
<!-- 业务系统拓扑图 --> <!-- 业务系统拓扑图 -->
<el-row style="margin: 10px 0"> <el-row style="margin: 10px 0">
@ -5213,6 +5077,39 @@ export default {
callback(); callback();
} }
}; };
const changeSjzcList = (rule, value, callback) => {
if (value.length > 0) {
let sum = 0;
value.forEach((item) => {
if (hasEmptyValues(item)) {
sum++;
}
});
console.log(sum, "dddddd");
if (sum > 0) {
callback(new Error("数据资产存在空值"));
} else {
callback();
}
}
};
const hasEmptyValues = (obj) => {
for (const key in obj) {
if (Object.hasOwn(obj, key)) {
//
const value = obj[key];
// null undefined
if (value === null || value === undefined) {
return true;
}
//
if (typeof value === "string" && value.trim() === "") {
return true;
}
}
}
return false;
};
return { return {
accept: [ accept: [
"xls", "xls",
@ -5237,6 +5134,12 @@ export default {
checkStrictly: true, checkStrictly: true,
}, },
ruleForm: { ruleForm: {
sjzcList: [
{
sjzcSjkmc: "",
sjzcSjklx: "",
},
],
// //
xjgywxt: { xjgywxt: {
remark: "", remark: "",
@ -5397,6 +5300,7 @@ export default {
xtfhqkFls: [], xtfhqkFls: [],
rules: { rules: {
sjzcList: [{ validator: changeSjzcList, trigger: "blur" }],
bfyy: [{ validator: changeSateTetx, trigger: "blur" }], bfyy: [{ validator: changeSateTetx, trigger: "blur" }],
xtmc: [{ required: true, message: "请输入系统名称", trigger: "blur" }], xtmc: [{ required: true, message: "请输入系统名称", trigger: "blur" }],
dwmc: [{ required: true, message: "请输入单位名称", trigger: "blur" }], dwmc: [{ required: true, message: "请输入单位名称", trigger: "blur" }],
@ -5491,6 +5395,15 @@ export default {
} }
}, },
methods: { methods: {
addSjzcList() {
this.ruleForm.sjzcList.push({
sjzcSjkmc: "",
sjzcSjklx: "",
});
},
removeSjzcList(index) {
this.ruleForm.sjzcList.splice(index, 1);
},
changeState(e) { changeState(e) {
if (e != 5) { if (e != 5) {
this.ruleForm.bfyy = ""; this.ruleForm.bfyy = "";
@ -6185,7 +6098,13 @@ export default {
// //
btnPass() { btnPass() {
this.loading = true; this.loading = true;
assetAudit({ currentId: Number(this.id), auditState: "2", xzType: 1 }) assetAudit({
currentId: Number(this.id),
auditState: "2",
xzType: 1,
dwmc: this.ruleForm.dwmc,
xtmc: this.ruleForm.xtmc,
})
.then((res) => { .then((res) => {
this.$modal.msgSuccess("审核通过"); this.$modal.msgSuccess("审核通过");
// this.$router.go(-1); // this.$router.go(-1);
@ -6216,4 +6135,19 @@ export default {
padding-left: 10px; padding-left: 10px;
} }
} }
::v-deep .listFormItem {
position: relative;
margin-bottom: 0;
& > .el-form-item__content {
margin-left: 0 !important;
.el-form-item {
margin-bottom: 22px;
}
}
.removeRow {
position: absolute;
bottom: 0;
right: 0;
}
}
</style> </style>

@ -4464,216 +4464,133 @@
<el-row style="margin: 10px 0"> <el-row style="margin: 10px 0">
<span class="top-title-box">数据资产</span> <span class="top-title-box">数据资产</span>
</el-row> </el-row>
<el-row style="display: flex">
<el-col :span="12"> <el-form-item
<el-form-item prop="sjzcList"
label="数据库名称" v-for="(dataItem, dataIndex) in ruleForm.sjzcList"
required :key="dataIndex"
:prop="`sjzcSjkmc`" class="listFormItem"
:rules="{ >
required: true, <el-row style="display: flex">
message: '请输入', <el-col :span="12">
trigger: 'blur', <el-form-item label="数据库名称" required>
}" <el-input
> v-model="dataItem.sjzcSjkmc"
<el-input :placeholder="'请输入数据库名称' + (dataIndex + 1)"
v-model="ruleForm.sjzcSjkmc" ></el-input>
placeholder="请输入数据库名称" </el-form-item>
></el-input> </el-col>
</el-form-item> <el-col :span="12" style="margin-left: 10px">
</el-col> <el-form-item label="数据库类型" required>
<el-col :span="12" style="margin-left: 10px"> <!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> -->
<el-form-item <el-select
label="数据库类型" v-model="dataItem.sjzcSjklx"
required :placeholder="'请选择数据库类型' + (dataIndex + 1)"
:prop="`sjzcSjklx`" >
:rules="{ <el-option
required: true, v-for="dict in dict.type.database_type"
message: '请输入', :key="dict.value"
trigger: 'blur', :label="dict.label"
}" :value="dict.value"
> />
<!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> --> </el-select>
<el-select </el-form-item>
v-model="ruleForm.sjzcSjklx" </el-col>
placeholder="请选择数据库类型" </el-row>
> <el-row style="display: flex">
<el-option <el-col :span="12">
v-for="dict in dict.type.database_type" <el-form-item label="端口" required>
:key="dict.value" <el-input
:label="dict.label" v-model="dataItem.sjzcDk"
:value="dict.value" :placeholder="'请输入端口' + (dataIndex + 1)"
/> ></el-input>
</el-select> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12" style="margin-left: 10px">
</el-row> <el-form-item label="数据库版本" required>
<el-row style="display: flex"> <el-input
<el-col :span="12"> v-model="dataItem.sjzcSjkbb"
<el-form-item :placeholder="'请输入数据库版本' + (dataIndex + 1)"
label="端口" ></el-input>
required </el-form-item>
:prop="`sjzcDk`" </el-col>
:rules="{ </el-row>
required: true, <el-row style="display: flex">
message: '请输入', <el-col :span="12">
trigger: 'blur', <el-form-item label="数据库所在IP" required>
}" <el-input
> v-model="dataItem.sjzcSjkIp"
<el-input :placeholder="'请输入数据库所在IP' + (dataIndex + 1)"
v-model="ruleForm.sjzcDk" ></el-input>
placeholder="请输入端口" </el-form-item>
></el-input> </el-col>
</el-form-item> <el-col :span="12" style="margin-left: 10px">
</el-col> <el-form-item label="共享属性" required>
<el-col :span="12" style="margin-left: 10px"> <el-select
<el-form-item v-model="dataItem.sjzcGxsx"
label="数据库版本" :placeholder="'请选择共享属性' + (dataIndex + 1)"
required >
:prop="`sjzcSjkbb`" <el-option
:rules="{ v-for="dict in dict.type.sjzc_gxsx"
required: true, :key="dict.value"
message: '请输入', :label="dict.label"
trigger: 'blur', :value="dict.value"
}" />
> </el-select>
<el-input </el-form-item>
v-model="ruleForm.sjzcSjkbb" </el-col>
placeholder="请输入数据库版本" </el-row>
></el-input> <el-row style="display: flex">
</el-form-item> <el-col :span="12">
</el-col> <el-form-item label="开放属性" required>
</el-row> <el-select
<el-row style="display: flex"> v-model="dataItem.sjzcKfsx"
<el-col :span="12"> :placeholder="'请选择开放属性' + (dataIndex + 1)"
<el-form-item >
label="数据库所在IP" <el-option
required v-for="dict in dict.type.sjzc_kfsx"
:prop="`sjzcSjkIp`" :key="dict.value"
:rules="{ :label="dict.label"
required: true, :value="dict.value"
message: '请输入', />
trigger: 'blur', </el-select>
}" </el-form-item>
> </el-col>
<el-input <el-col :span="12" style="margin-left: 10px">
v-model="ruleForm.sjzcSjkIp" <el-form-item label="数据领域" required>
placeholder="请输入数据库所在IP" <el-select
></el-input> v-model="dataItem.sjzcSjly"
</el-form-item> :placeholder="'请选择数据领域' + (dataIndex + 1)"
</el-col> >
<el-col :span="12" style="margin-left: 10px"> <el-option
<el-form-item v-for="dict in dict.type.sjzc_sjly"
label="共享属性" :key="dict.value"
required :label="dict.label"
:prop="`sjzcGxsx`" :value="dict.value"
:rules="{ />
required: true, </el-select>
message: '请输入', </el-form-item>
trigger: 'blur', </el-col>
}" </el-row>
> <el-row style="display: flex">
<el-select <el-col :span="12">
v-model="ruleForm.sjzcGxsx" <el-form-item label="更新周期" required>
placeholder="请选择共享属性" <el-select
> v-model="dataItem.sjzcGxzq"
<el-option :placeholder="'请选择数据领域' + (dataIndex + 1)"
v-for="dict in dict.type.sjzc_gxsx" >
:key="dict.value" <el-option
:label="dict.label" v-for="dict in dict.type.sjzc_gxzq"
:value="dict.value" :key="dict.value"
/> :label="dict.label"
</el-select> :value="dict.value"
</el-form-item> />
</el-col> </el-select>
</el-row> </el-form-item>
<el-row style="display: flex"> </el-col>
<el-col :span="12"> <el-col :span="12" style="margin-left: 10px">
<el-form-item <el-form-item label="数据类型" required>
label="开放属性" <!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
required
:prop="`sjzcKfsx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcKfsx"
placeholder="请选择开放属性"
>
<el-option
v-for="dict in dict.type.sjzc_kfsx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="数据领域"
required
:prop="`sjzcSjly`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcSjly"
placeholder="请选择数据领域"
>
<el-option
v-for="dict in dict.type.sjzc_sjly"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="更新周期"
required
:prop="`sjzcGxzq`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcGxzq"
placeholder="请选择数据领域"
>
<el-option
v-for="dict in dict.type.sjzc_gxzq"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="数据类型"
required
:prop="`sjzcSjlx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
<el-option <el-option
v-for="dict in dict.type.sjzc_gxzq" v-for="dict in dict.type.sjzc_gxzq"
:key="dict.value" :key="dict.value"
@ -4681,169 +4598,155 @@
:value="dict.value" :value="dict.value"
/> />
</el-select> --> </el-select> -->
<el-input <el-input
v-model="ruleForm.sjzcSjlx" :placeholder="'请输入数据类型' + (dataIndex + 1)"
placeholder="请输入数据类型" v-model="dataItem.sjzcSjlx"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row style="display: flex"> <el-row style="display: flex">
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item label="数据量" required>
label="数据量" <el-input
required type="number"
:prop="`sjzcSjl`" v-model="dataItem.sjzcSjl"
:rules="{ :placeholder="'请输入数据量' + (dataIndex + 1)"
required: true, ></el-input>
message: '请输入', </el-form-item>
trigger: 'blur', </el-col>
}" <el-col :span="12" style="margin-left: 10px">
> <el-form-item label="数据量单位" required>
<el-input <el-select
v-model="ruleForm.sjzcSjl" v-model="dataItem.sjzcSjldw"
placeholder="请输入数据量" :placeholder="'请选择数据量单位' + (dataIndex + 1)"
></el-input> >
</el-form-item> <el-option
</el-col> v-for="dict in dict.type.sjzc_sjldw"
<el-col :span="12" style="margin-left: 10px"> :key="dict.value"
<el-form-item :label="dict.label"
label="数据量单位" :value="dict.value"
required />
:prop="`sjzcSjldw`" </el-select>
:rules="{ </el-form-item>
required: true, </el-col>
message: '请输入', </el-row>
trigger: 'blur', <el-row style="display: flex">
}" <el-col :span="12">
> <el-form-item label="数据是否出境" required>
<el-select <el-select
v-model="ruleForm.sjzcSjldw" v-model="dataItem.sjzcCj"
placeholder="请选择数据量单位" :placeholder="'请选择数据是否出境' + (dataIndex + 1)"
> >
<el-option <el-option
v-for="dict in dict.type.sjzc_sjldw" v-for="dict in dict.type.is_no"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> <el-col :span="12" style="margin-left: 10px">
<el-row style="display: flex"> <el-form-item label="数据分级分类" required>
<el-col :span="12"> <el-select
<el-form-item v-model="dataItem.sjzcSjfjfl"
label="数据是否出境" :placeholder="'请选择数据分级分类' + (dataIndex + 1)"
required >
:prop="`sjzcCj`" <el-option
:rules="{ v-for="dict in dict.type.sjzc_sjfjfl"
required: true, :key="dict.value"
message: '请输入', :label="dict.label"
trigger: 'blur', :value="dict.value"
}" />
> </el-select>
<el-select </el-form-item>
v-model="ruleForm.sjzcCj" </el-col>
placeholder="请选择数据是否出境" </el-row>
> <el-row style="display: flex">
<el-option <el-col :span="12">
v-for="dict in dict.type.is_no" <el-form-item label="数据重要程度" required>
:key="dict.value" <el-select
:label="dict.label" v-model="dataItem.sjzcSjzycd"
:value="dict.value" :placeholder="'请选择数据重要程度' + (dataIndex + 1)"
/> >
</el-select> <el-option
</el-form-item> v-for="dict in dict.type.zc_xtzyx"
</el-col> :key="dict.value"
<el-col :span="12" style="margin-left: 10px"> :label="dict.label"
<el-form-item :value="dict.value"
label="数据分级分类" />
required </el-select>
:prop="`sjzcSjfjfl`" </el-form-item>
:rules="{ </el-col>
required: true, <el-col :span="12" style="margin-left: 10px">
message: '请输入', <el-form-item label="是否涉密数据" required>
trigger: 'change', <el-select
}" v-model="dataItem.sjzcSmsj"
> :placeholder="'请选择是否涉密数据' + (dataIndex + 1)"
<el-select >
v-model="ruleForm.sjzcSjfjfl" <el-option
placeholder="请选择数据分级分类" v-for="dict in dict.type.is_no"
> :key="dict.value"
<el-option :label="dict.label"
v-for="dict in dict.type.sjzc_sjfjfl" :value="dict.value"
:key="dict.value" />
:label="dict.label" </el-select>
:value="dict.value" </el-form-item>
/> </el-col>
</el-select> </el-row>
</el-form-item> <el-row style="display: flex">
</el-col> <el-col :span="24">
</el-row> <el-form-item label="数据描述">
<el-row style="display: flex"> <el-input
<el-col :span="12"> type="textarea"
<el-form-item resize="none"
label="数据重要程度" :placeholder="'请输入数据描述' + (dataIndex + 1)"
required :rows="5"
:prop="`sjzcSjzycd`" v-model="dataItem.sjzcSjms"
:rules="{ ></el-input>
required: true, </el-form-item>
message: '请输入', </el-col>
trigger: 'blur', </el-row>
}" <el-row style="display: flex">
> <el-col :span="12">
<el-select <el-form-item label="是否涉及个人信息" required>
v-model="ruleForm.sjzcSjzycd" <el-select
placeholder="请选择数据重要程度" v-model="dataItem.sfsjgrxx"
> :placeholder="'请填写是否涉及个人信息' + (dataIndex + 1)"
<el-option >
v-for="dict in dict.type.zc_xtzyx" <el-option
:key="dict.value" v-for="dict in dict.type.is_no"
:label="dict.label" :key="dict.value"
:value="dict.value" :label="dict.label"
/> :value="dict.value"
</el-select> />
</el-form-item> </el-select>
</el-col> </el-form-item>
<el-col :span="12" style="margin-left: 10px"> </el-col>
<el-form-item <el-col :span="12" style="margin-left: 10px">
label="是否涉密数据" <el-form-item label="个人信息数据量" required>
required <el-input
:prop="`sjzcSmsj`" :placeholder="'请填写个人信息数据量' + (dataIndex + 1)"
:rules="{ type="number"
required: true, v-model="dataItem.grxxsjl"
message: '请输入', ></el-input>
trigger: 'blur', </el-form-item>
}" </el-col>
> </el-row>
<el-select <!-- <i
v-model="ruleForm.sjzcSmsj" v-if="dataIndex > 0"
placeholder="请选择是否涉密数据" @click="removeSjzcList(dataIndex)"
> class="el-icon-remove-outline removeRow"
<el-option ></i> -->
v-for="dict in dict.type.is_no" </el-form-item>
:key="dict.value"
:label="dict.label" <el-row>
:value="dict.value" <el-form-item>
/> <el-button @click="addSjzcList()"></el-button>
</el-select> </el-form-item>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="24">
<el-form-item label="数据描述">
<el-input
type="textarea"
resize="none"
placeholder="请输入数据描述"
:rows="5"
v-model="ruleForm.sjzcSjms"
></el-input>
</el-form-item>
</el-col>
</el-row> </el-row>
<!-- 业务系统拓扑图 --> <!-- 业务系统拓扑图 -->
<el-row style="margin: 10px 0"> <el-row style="margin: 10px 0">
<span class="top-title-box"> <span class="top-title-box">
@ -5069,6 +4972,12 @@ export default {
checkStrictly: true, checkStrictly: true,
}, },
ruleForm: { ruleForm: {
sjzcList: [
{
sjzcSjkmc: "",
sjzcSjklx: "",
},
],
// //
xjgywxt: { xjgywxt: {
remark: "", remark: "",
@ -5277,6 +5186,15 @@ export default {
} }
}, },
methods: { methods: {
addSjzcList() {
this.ruleForm.sjzcList.push({
sjzcSjkmc: "",
sjzcSjklx: "",
});
},
removeSjzcList(index) {
this.ruleForm.sjzcList.splice(index, 1);
},
importClose() {}, importClose() {},
// //
resetForm() { resetForm() {
@ -5741,4 +5659,19 @@ export default {
padding-left: 10px; padding-left: 10px;
} }
} }
::v-deep .listFormItem {
position: relative;
margin-bottom: 0;
& > .el-form-item__content {
margin-left: 0 !important;
.el-form-item {
margin-bottom: 22px;
}
}
.removeRow {
position: absolute;
bottom: 0;
right: 0;
}
}
</style> </style>

@ -4571,216 +4571,133 @@
<el-row style="margin: 10px 0"> <el-row style="margin: 10px 0">
<span class="top-title-box">数据资产</span> <span class="top-title-box">数据资产</span>
</el-row> </el-row>
<el-row style="display: flex">
<el-col :span="12"> <el-form-item
<el-form-item prop="sjzcList"
label="数据库名称" v-for="(dataItem, dataIndex) in ruleForm.sjzcList"
required :key="dataIndex"
:prop="`sjzcSjkmc`" class="listFormItem"
:rules="{ >
required: true, <el-row style="display: flex">
message: '请输入', <el-col :span="12">
trigger: 'blur', <el-form-item label="数据库名称" required>
}" <el-input
> v-model="dataItem.sjzcSjkmc"
<el-input :placeholder="'请输入数据库名称' + (dataIndex + 1)"
v-model="ruleForm.sjzcSjkmc" ></el-input>
placeholder="请输入数据库名称" </el-form-item>
></el-input> </el-col>
</el-form-item> <el-col :span="12" style="margin-left: 10px">
</el-col> <el-form-item label="数据库类型" required>
<el-col :span="12" style="margin-left: 10px"> <!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> -->
<el-form-item <el-select
label="数据库类型" v-model="dataItem.sjzcSjklx"
required :placeholder="'请选择数据库类型' + (dataIndex + 1)"
:prop="`sjzcSjklx`" >
:rules="{ <el-option
required: true, v-for="dict in dict.type.database_type"
message: '请输入', :key="dict.value"
trigger: 'blur', :label="dict.label"
}" :value="dict.value"
> />
<!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> --> </el-select>
<el-select </el-form-item>
v-model="ruleForm.sjzcSjklx" </el-col>
placeholder="请选择数据库类型" </el-row>
> <el-row style="display: flex">
<el-option <el-col :span="12">
v-for="dict in dict.type.database_type" <el-form-item label="端口" required>
:key="dict.value" <el-input
:label="dict.label" v-model="dataItem.sjzcDk"
:value="dict.value" :placeholder="'请输入端口' + (dataIndex + 1)"
/> ></el-input>
</el-select> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12" style="margin-left: 10px">
</el-row> <el-form-item label="数据库版本" required>
<el-row style="display: flex"> <el-input
<el-col :span="12"> v-model="dataItem.sjzcSjkbb"
<el-form-item :placeholder="'请输入数据库版本' + (dataIndex + 1)"
label="端口" ></el-input>
required </el-form-item>
:prop="`sjzcDk`" </el-col>
:rules="{ </el-row>
required: true, <el-row style="display: flex">
message: '请输入', <el-col :span="12">
trigger: 'blur', <el-form-item label="数据库所在IP" required>
}" <el-input
> v-model="dataItem.sjzcSjkIp"
<el-input :placeholder="'请输入数据库所在IP' + (dataIndex + 1)"
v-model="ruleForm.sjzcDk" ></el-input>
placeholder="请输入端口" </el-form-item>
></el-input> </el-col>
</el-form-item> <el-col :span="12" style="margin-left: 10px">
</el-col> <el-form-item label="共享属性" required>
<el-col :span="12" style="margin-left: 10px"> <el-select
<el-form-item v-model="dataItem.sjzcGxsx"
label="数据库版本" :placeholder="'请选择共享属性' + (dataIndex + 1)"
required >
:prop="`sjzcSjkbb`" <el-option
:rules="{ v-for="dict in dict.type.sjzc_gxsx"
required: true, :key="dict.value"
message: '请输入', :label="dict.label"
trigger: 'blur', :value="dict.value"
}" />
> </el-select>
<el-input </el-form-item>
v-model="ruleForm.sjzcSjkbb" </el-col>
placeholder="请输入数据库版本" </el-row>
></el-input> <el-row style="display: flex">
</el-form-item> <el-col :span="12">
</el-col> <el-form-item label="开放属性" required>
</el-row> <el-select
<el-row style="display: flex"> v-model="dataItem.sjzcKfsx"
<el-col :span="12"> :placeholder="'请选择开放属性' + (dataIndex + 1)"
<el-form-item >
label="数据库所在IP" <el-option
required v-for="dict in dict.type.sjzc_kfsx"
:prop="`sjzcSjkIp`" :key="dict.value"
:rules="{ :label="dict.label"
required: true, :value="dict.value"
message: '请输入', />
trigger: 'blur', </el-select>
}" </el-form-item>
> </el-col>
<el-input <el-col :span="12" style="margin-left: 10px">
v-model="ruleForm.sjzcSjkIp" <el-form-item label="数据领域" required>
placeholder="请输入数据库所在IP" <el-select
></el-input> v-model="dataItem.sjzcSjly"
</el-form-item> :placeholder="'请选择数据领域' + (dataIndex + 1)"
</el-col> >
<el-col :span="12" style="margin-left: 10px"> <el-option
<el-form-item v-for="dict in dict.type.sjzc_sjly"
label="共享属性" :key="dict.value"
required :label="dict.label"
:prop="`sjzcGxsx`" :value="dict.value"
:rules="{ />
required: true, </el-select>
message: '请输入', </el-form-item>
trigger: 'blur', </el-col>
}" </el-row>
> <el-row style="display: flex">
<el-select <el-col :span="12">
v-model="ruleForm.sjzcGxsx" <el-form-item label="更新周期" required>
placeholder="请选择共享属性" <el-select
> v-model="dataItem.sjzcGxzq"
<el-option :placeholder="'请选择数据领域' + (dataIndex + 1)"
v-for="dict in dict.type.sjzc_gxsx" >
:key="dict.value" <el-option
:label="dict.label" v-for="dict in dict.type.sjzc_gxzq"
:value="dict.value" :key="dict.value"
/> :label="dict.label"
</el-select> :value="dict.value"
</el-form-item> />
</el-col> </el-select>
</el-row> </el-form-item>
<el-row style="display: flex"> </el-col>
<el-col :span="12"> <el-col :span="12" style="margin-left: 10px">
<el-form-item <el-form-item label="数据类型" required>
label="开放属性" <!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
required
:prop="`sjzcKfsx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcKfsx"
placeholder="请选择开放属性"
>
<el-option
v-for="dict in dict.type.sjzc_kfsx"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="数据领域"
required
:prop="`sjzcSjly`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcSjly"
placeholder="请选择数据领域"
>
<el-option
v-for="dict in dict.type.sjzc_sjly"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="更新周期"
required
:prop="`sjzcGxzq`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select
v-model="ruleForm.sjzcGxzq"
placeholder="请选择数据领域"
>
<el-option
v-for="dict in dict.type.sjzc_gxzq"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="数据类型"
required
:prop="`sjzcSjlx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
<el-option <el-option
v-for="dict in dict.type.sjzc_gxzq" v-for="dict in dict.type.sjzc_gxzq"
:key="dict.value" :key="dict.value"
@ -4788,170 +4705,154 @@
:value="dict.value" :value="dict.value"
/> />
</el-select> --> </el-select> -->
<el-input <el-input
v-model="ruleForm.sjzcSjlx" :placeholder="'请输入数据类型' + (dataIndex + 1)"
placeholder="请输入数据类型" v-model="dataItem.sjzcSjlx"
></el-input> ></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row style="display: flex"> <el-row style="display: flex">
<el-col :span="12"> <el-col :span="12">
<el-form-item <el-form-item label="数据量" required>
label="数据量" <el-input
required type="number"
:prop="`sjzcSjl`" v-model="dataItem.sjzcSjl"
:rules="{ :placeholder="'请输入数据量' + (dataIndex + 1)"
required: true, ></el-input>
message: '请输入', </el-form-item>
trigger: 'blur', </el-col>
}" <el-col :span="12" style="margin-left: 10px">
> <el-form-item label="数据量单位" required>
<el-input <el-select
type="number" v-model="dataItem.sjzcSjldw"
v-model="ruleForm.sjzcSjl" :placeholder="'请选择数据量单位' + (dataIndex + 1)"
placeholder="请输入数据量" >
></el-input> <el-option
</el-form-item> v-for="dict in dict.type.sjzc_sjldw"
</el-col> :key="dict.value"
<el-col :span="12" style="margin-left: 10px"> :label="dict.label"
<el-form-item :value="dict.value"
label="数据量单位" />
required </el-select>
:prop="`sjzcSjldw`" </el-form-item>
:rules="{ </el-col>
required: true, </el-row>
message: '请输入', <el-row style="display: flex">
trigger: 'blur', <el-col :span="12">
}" <el-form-item label="数据是否出境" required>
> <el-select
<el-select v-model="dataItem.sjzcCj"
v-model="ruleForm.sjzcSjldw" :placeholder="'请选择数据是否出境' + (dataIndex + 1)"
placeholder="请选择数据量单位" >
> <el-option
<el-option v-for="dict in dict.type.is_no"
v-for="dict in dict.type.sjzc_sjldw" :key="dict.value"
:key="dict.value" :label="dict.label"
:label="dict.label" :value="dict.value"
:value="dict.value" />
/> </el-select>
</el-select> </el-form-item>
</el-form-item> </el-col>
</el-col> <el-col :span="12" style="margin-left: 10px">
</el-row> <el-form-item label="数据分级分类" required>
<el-row style="display: flex"> <el-select
<el-col :span="12"> v-model="dataItem.sjzcSjfjfl"
<el-form-item :placeholder="'请选择数据分级分类' + (dataIndex + 1)"
label="数据是否出境" >
required <el-option
:prop="`sjzcCj`" v-for="dict in dict.type.sjzc_sjfjfl"
:rules="{ :key="dict.value"
required: true, :label="dict.label"
message: '请输入', :value="dict.value"
trigger: 'blur', />
}" </el-select>
> </el-form-item>
<el-select </el-col>
v-model="ruleForm.sjzcCj" </el-row>
placeholder="请选择数据是否出境" <el-row style="display: flex">
> <el-col :span="12">
<el-option <el-form-item label="数据重要程度" required>
v-for="dict in dict.type.is_no" <el-select
:key="dict.value" v-model="dataItem.sjzcSjzycd"
:label="dict.label" :placeholder="'请选择数据重要程度' + (dataIndex + 1)"
:value="dict.value" >
/> <el-option
</el-select> v-for="dict in dict.type.zc_xtzyx"
</el-form-item> :key="dict.value"
</el-col> :label="dict.label"
<el-col :span="12" style="margin-left: 10px"> :value="dict.value"
<el-form-item />
label="数据分级分类" </el-select>
required </el-form-item>
:prop="`sjzcSjfjfl`" </el-col>
:rules="{ <el-col :span="12" style="margin-left: 10px">
required: true, <el-form-item label="是否涉密数据" required>
message: '请输入', <el-select
trigger: 'change', v-model="dataItem.sjzcSmsj"
}" :placeholder="'请选择是否涉密数据' + (dataIndex + 1)"
> >
<el-select <el-option
v-model="ruleForm.sjzcSjfjfl" v-for="dict in dict.type.is_no"
placeholder="请选择数据分级分类" :key="dict.value"
> :label="dict.label"
<el-option :value="dict.value"
v-for="dict in dict.type.sjzc_sjfjfl" />
:key="dict.value" </el-select>
:label="dict.label" </el-form-item>
:value="dict.value" </el-col>
/> </el-row>
</el-select> <el-row style="display: flex">
</el-form-item> <el-col :span="24">
</el-col> <el-form-item label="数据描述">
</el-row> <el-input
<el-row style="display: flex"> type="textarea"
<el-col :span="12"> resize="none"
<el-form-item :placeholder="'请输入数据描述' + (dataIndex + 1)"
label="数据重要程度" :rows="5"
required v-model="dataItem.sjzcSjms"
:prop="`sjzcSjzycd`" ></el-input>
:rules="{ </el-form-item>
required: true, </el-col>
message: '请输入', </el-row>
trigger: 'blur', <el-row style="display: flex">
}" <el-col :span="12">
> <el-form-item label="是否涉及个人信息" required>
<el-select <el-select
v-model="ruleForm.sjzcSjzycd" v-model="dataItem.sfsjgrxx"
placeholder="请选择数据重要程度" :placeholder="'请填写是否涉及个人信息' + (dataIndex + 1)"
> >
<el-option <el-option
v-for="dict in dict.type.zc_xtzyx" v-for="dict in dict.type.is_no"
:key="dict.value" :key="dict.value"
:label="dict.label" :label="dict.label"
:value="dict.value" :value="dict.value"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12" style="margin-left: 10px"> <el-col :span="12" style="margin-left: 10px">
<el-form-item <el-form-item label="个人信息数据量" required>
label="是否涉密数据" <el-input
required :placeholder="'请填写个人信息数据量' + (dataIndex + 1)"
:prop="`sjzcSmsj`" type="number"
:rules="{ v-model="dataItem.grxxsjl"
required: true, ></el-input>
message: '请输入', </el-form-item>
trigger: 'blur', </el-col>
}" </el-row>
> <!-- <i
<el-select v-if="dataIndex > 0"
v-model="ruleForm.sjzcSmsj" @click="removeSjzcList(dataIndex)"
placeholder="请选择是否涉密数据" class="el-icon-remove-outline removeRow"
> ></i> -->
<el-option </el-form-item>
v-for="dict in dict.type.is_no" <el-row>
:key="dict.value" <el-form-item>
:label="dict.label" <el-button @click="addSjzcList()"></el-button>
:value="dict.value" </el-form-item>
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="24">
<el-form-item label="数据描述" prop="sjzcSjms">
<el-input
type="textarea"
resize="none"
placeholder="请输入数据描述"
:rows="5"
v-model="ruleForm.sjzcSjms"
></el-input>
</el-form-item>
</el-col>
</el-row> </el-row>
<!-- 业务系统拓扑图 --> <!-- 业务系统拓扑图 -->
<el-row style="margin: 10px 0"> <el-row style="margin: 10px 0">
<span class="top-title-box"> <span class="top-title-box">
@ -5176,6 +5077,12 @@ export default {
checkStrictly: true, checkStrictly: true,
}, },
ruleForm: { ruleForm: {
sjzcList: [
{
sjzcSjkmc: "",
sjzcSjklx: "",
},
],
// //
xjgywxt: { xjgywxt: {
remark: "", remark: "",
@ -5397,6 +5304,15 @@ export default {
} }
}, },
methods: { methods: {
addSjzcList() {
this.ruleForm.sjzcList.push({
sjzcSjkmc: "",
sjzcSjklx: "",
});
},
removeSjzcList(index) {
this.ruleForm.sjzcList.splice(index, 1);
},
importClose() {}, importClose() {},
// //
resetForm() { resetForm() {
@ -5854,4 +5770,19 @@ export default {
padding-left: 10px; padding-left: 10px;
} }
} }
::v-deep .listFormItem {
position: relative;
margin-bottom: 0;
& > .el-form-item__content {
margin-left: 0 !important;
.el-form-item {
margin-bottom: 22px;
}
}
.removeRow {
position: absolute;
bottom: 0;
right: 0;
}
}
</style> </style>

Loading…
Cancel
Save