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

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

@ -3942,7 +3942,278 @@
<el-row style="margin: 10px 0">
<span class="top-title-box">数据资产</span>
</el-row>
<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-form-item label="数据库名称" required>
<el-input
@ -3953,7 +4224,7 @@
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item label="数据库类型" required>
<!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> -->
<el-select
v-model="ruleForm.sjzcSjklx"
placeholder="请选择数据库类型"
@ -4061,14 +4332,7 @@
</el-col>
<el-col :span="12" style="margin-left: 10px">
<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
v-model="ruleForm.sjzcSjlx"
placeholder="请输入数据类型"
@ -4178,7 +4442,7 @@
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-row> -->
<!-- 业务系统拓扑图 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">业务系统拓扑图</span>
@ -4330,6 +4594,12 @@ export default {
checkStrictly: true,
},
ruleForm: {
sjzcList: [
{
sjzcSjkmc: "",
sjzcSjklx: "",
},
],
//
xjgywxt: {
remark: "",
@ -4527,6 +4797,15 @@ export default {
}
},
methods: {
addSjzcList() {
this.ruleForm.sjzcList.push({
sjzcSjkmc: "",
sjzcSjklx: "",
});
},
removeSjzcList(index) {
this.ruleForm.sjzcList.splice(index, 1);
},
changeState(e) {
if (e != 5) {
this.ruleForm.bfyy = "";
@ -4936,4 +5215,19 @@ export default {
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>

@ -4574,39 +4574,28 @@
<el-row style="margin: 10px 0">
<span class="top-title-box">数据资产</span>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="数据库名称"
required
:prop="`sjzcSjkmc`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
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="ruleForm.sjzcSjkmc"
placeholder="请输入数据库名称"
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
:prop="`sjzcSjklx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据库类型" required>
<!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> -->
<el-select
v-model="ruleForm.sjzcSjklx"
placeholder="请选择数据库类型"
v-model="dataItem.sjzcSjklx"
:placeholder="'请选择数据库类型' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.database_type"
@ -4620,72 +4609,36 @@
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="端口"
required
:prop="`sjzcDk`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="端口" required>
<el-input
v-model="ruleForm.sjzcDk"
placeholder="请输入端口"
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
:prop="`sjzcSjkbb`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据库版本" required>
<el-input
v-model="ruleForm.sjzcSjkbb"
placeholder="请输入数据库版本"
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
:prop="`sjzcSjkIp`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据库所在IP" required>
<el-input
v-model="ruleForm.sjzcSjkIp"
placeholder="请输入数据库所在IP"
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
:prop="`sjzcGxsx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="共享属性" required>
<el-select
v-model="ruleForm.sjzcGxsx"
placeholder="请选择共享属性"
v-model="dataItem.sjzcGxsx"
:placeholder="'请选择共享属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_gxsx"
@ -4699,19 +4652,10 @@
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="开放属性"
required
:prop="`sjzcKfsx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="开放属性" required>
<el-select
v-model="ruleForm.sjzcKfsx"
placeholder="请选择开放属性"
v-model="dataItem.sjzcKfsx"
:placeholder="'请选择开放属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_kfsx"
@ -4723,19 +4667,10 @@
</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-form-item label="数据领域" required>
<el-select
v-model="ruleForm.sjzcSjly"
placeholder="请选择数据领域"
v-model="dataItem.sjzcSjly"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjly"
@ -4749,19 +4684,10 @@
</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-form-item label="更新周期" required>
<el-select
v-model="ruleForm.sjzcGxzq"
placeholder="请选择数据领域"
v-model="dataItem.sjzcGxzq"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_gxzq"
@ -4773,16 +4699,7 @@
</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-form-item label="数据类型" required>
<!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
<el-option
v-for="dict in dict.type.sjzc_gxzq"
@ -4792,45 +4709,27 @@
/>
</el-select> -->
<el-input
v-model="ruleForm.sjzcSjlx"
placeholder="请输入数据类型"
: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
:prop="`sjzcSjl`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据量" required>
<el-input
type="number"
v-model="ruleForm.sjzcSjl"
placeholder="请输入数据量"
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
:prop="`sjzcSjldw`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据量单位" required>
<el-select
v-model="ruleForm.sjzcSjldw"
placeholder="请选择数据量单位"
v-model="dataItem.sjzcSjldw"
:placeholder="'请选择数据量单位' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjldw"
@ -4844,19 +4743,10 @@
</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-form-item label="数据是否出境" required>
<el-select
v-model="ruleForm.sjzcCj"
placeholder="请选择数据是否出境"
v-model="dataItem.sjzcCj"
:placeholder="'请选择数据是否出境' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
@ -4868,19 +4758,10 @@
</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-form-item label="数据分级分类" required>
<el-select
v-model="ruleForm.sjzcSjfjfl"
placeholder="请选择数据分级分类"
v-model="dataItem.sjzcSjfjfl"
:placeholder="'请选择数据分级分类' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjfjfl"
@ -4894,19 +4775,10 @@
</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-form-item label="数据重要程度" required>
<el-select
v-model="ruleForm.sjzcSjzycd"
placeholder="请选择数据重要程度"
v-model="dataItem.sjzcSjzycd"
:placeholder="'请选择数据重要程度' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.zc_xtzyx"
@ -4918,19 +4790,10 @@
</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-form-item label="是否涉密数据" required>
<el-select
v-model="ruleForm.sjzcSmsj"
placeholder="请选择是否涉密数据"
v-model="dataItem.sjzcSmsj"
:placeholder="'请选择是否涉密数据' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
@ -4944,30 +4807,24 @@
</el-row>
<el-row style="display: flex">
<el-col :span="24">
<el-form-item label="数据描述" prop="sjzcSjms">
<el-form-item label="数据描述">
<el-input
type="textarea"
resize="none"
placeholder="请输入数据描述"
:placeholder="'请输入数据描述' + (dataIndex + 1)"
:rows="5"
v-model="ruleForm.sjzcSjms"
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
:prop="`sjzcSjzycd`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
<el-form-item label="是否涉及个人信息" required>
<el-select
v-model="dataItem.sfsjgrxx"
:placeholder="'请填写是否涉及个人信息' + (dataIndex + 1)"
>
<el-select v-model="ruleForm.sfsjgrxx" placeholder="请填写">
<el-option
v-for="dict in dict.type.is_no"
:key="dict.value"
@ -4978,19 +4835,26 @@
</el-form-item>
</el-col>
<el-col :span="12" style="margin-left: 10px">
<el-form-item
label="个人信息数据量"
required
:prop="`sjzcSmsj`"
>
<el-form-item label="个人信息数据量" required>
<el-input
:placeholder="'请填写个人信息数据量' + (dataIndex + 1)"
type="number"
v-model="ruleForm.grxxsjl"
placeholder="请填写"
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="margin: 10px 0">
<!-- <span class="top-title-box">业务系统拓扑图</span> -->
@ -5213,6 +5077,39 @@ export default {
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 {
accept: [
"xls",
@ -5237,6 +5134,12 @@ export default {
checkStrictly: true,
},
ruleForm: {
sjzcList: [
{
sjzcSjkmc: "",
sjzcSjklx: "",
},
],
//
xjgywxt: {
remark: "",
@ -5397,6 +5300,7 @@ export default {
xtfhqkFls: [],
rules: {
sjzcList: [{ validator: changeSjzcList, trigger: "blur" }],
bfyy: [{ validator: changeSateTetx, trigger: "blur" }],
xtmc: [{ required: true, message: "请输入系统名称", trigger: "blur" }],
dwmc: [{ required: true, message: "请输入单位名称", trigger: "blur" }],
@ -5491,6 +5395,15 @@ export default {
}
},
methods: {
addSjzcList() {
this.ruleForm.sjzcList.push({
sjzcSjkmc: "",
sjzcSjklx: "",
});
},
removeSjzcList(index) {
this.ruleForm.sjzcList.splice(index, 1);
},
changeState(e) {
if (e != 5) {
this.ruleForm.bfyy = "";
@ -6185,7 +6098,13 @@ export default {
//
btnPass() {
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) => {
this.$modal.msgSuccess("审核通过");
// this.$router.go(-1);
@ -6216,4 +6135,19 @@ export default {
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>

@ -4464,39 +4464,28 @@
<el-row style="margin: 10px 0">
<span class="top-title-box">数据资产</span>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="数据库名称"
required
:prop="`sjzcSjkmc`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
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="ruleForm.sjzcSjkmc"
placeholder="请输入数据库名称"
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
:prop="`sjzcSjklx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据库类型" required>
<!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> -->
<el-select
v-model="ruleForm.sjzcSjklx"
placeholder="请选择数据库类型"
v-model="dataItem.sjzcSjklx"
:placeholder="'请选择数据库类型' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.database_type"
@ -4510,72 +4499,36 @@
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="端口"
required
:prop="`sjzcDk`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="端口" required>
<el-input
v-model="ruleForm.sjzcDk"
placeholder="请输入端口"
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
:prop="`sjzcSjkbb`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据库版本" required>
<el-input
v-model="ruleForm.sjzcSjkbb"
placeholder="请输入数据库版本"
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
:prop="`sjzcSjkIp`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据库所在IP" required>
<el-input
v-model="ruleForm.sjzcSjkIp"
placeholder="请输入数据库所在IP"
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
:prop="`sjzcGxsx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="共享属性" required>
<el-select
v-model="ruleForm.sjzcGxsx"
placeholder="请选择共享属性"
v-model="dataItem.sjzcGxsx"
:placeholder="'请选择共享属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_gxsx"
@ -4589,19 +4542,10 @@
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="开放属性"
required
:prop="`sjzcKfsx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="开放属性" required>
<el-select
v-model="ruleForm.sjzcKfsx"
placeholder="请选择开放属性"
v-model="dataItem.sjzcKfsx"
:placeholder="'请选择开放属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_kfsx"
@ -4613,19 +4557,10 @@
</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-form-item label="数据领域" required>
<el-select
v-model="ruleForm.sjzcSjly"
placeholder="请选择数据领域"
v-model="dataItem.sjzcSjly"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjly"
@ -4639,19 +4574,10 @@
</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-form-item label="更新周期" required>
<el-select
v-model="ruleForm.sjzcGxzq"
placeholder="请选择数据领域"
v-model="dataItem.sjzcGxzq"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_gxzq"
@ -4663,16 +4589,7 @@
</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-form-item label="数据类型" required>
<!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
<el-option
v-for="dict in dict.type.sjzc_gxzq"
@ -4682,44 +4599,27 @@
/>
</el-select> -->
<el-input
v-model="ruleForm.sjzcSjlx"
placeholder="请输入数据类型"
: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
:prop="`sjzcSjl`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据量" required>
<el-input
v-model="ruleForm.sjzcSjl"
placeholder="请输入数据量"
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
:prop="`sjzcSjldw`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据量单位" required>
<el-select
v-model="ruleForm.sjzcSjldw"
placeholder="请选择数据量单位"
v-model="dataItem.sjzcSjldw"
:placeholder="'请选择数据量单位' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjldw"
@ -4733,19 +4633,10 @@
</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-form-item label="数据是否出境" required>
<el-select
v-model="ruleForm.sjzcCj"
placeholder="请选择数据是否出境"
v-model="dataItem.sjzcCj"
:placeholder="'请选择数据是否出境' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
@ -4757,19 +4648,10 @@
</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-form-item label="数据分级分类" required>
<el-select
v-model="ruleForm.sjzcSjfjfl"
placeholder="请选择数据分级分类"
v-model="dataItem.sjzcSjfjfl"
:placeholder="'请选择数据分级分类' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjfjfl"
@ -4783,19 +4665,10 @@
</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-form-item label="数据重要程度" required>
<el-select
v-model="ruleForm.sjzcSjzycd"
placeholder="请选择数据重要程度"
v-model="dataItem.sjzcSjzycd"
:placeholder="'请选择数据重要程度' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.zc_xtzyx"
@ -4807,19 +4680,10 @@
</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-form-item label="是否涉密数据" required>
<el-select
v-model="ruleForm.sjzcSmsj"
placeholder="请选择是否涉密数据"
v-model="dataItem.sjzcSmsj"
:placeholder="'请选择是否涉密数据' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
@ -4837,13 +4701,52 @@
<el-input
type="textarea"
resize="none"
placeholder="请输入数据描述"
:placeholder="'请输入数据描述' + (dataIndex + 1)"
:rows="5"
v-model="ruleForm.sjzcSjms"
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="margin: 10px 0">
<span class="top-title-box">
@ -5069,6 +4972,12 @@ export default {
checkStrictly: true,
},
ruleForm: {
sjzcList: [
{
sjzcSjkmc: "",
sjzcSjklx: "",
},
],
//
xjgywxt: {
remark: "",
@ -5277,6 +5186,15 @@ export default {
}
},
methods: {
addSjzcList() {
this.ruleForm.sjzcList.push({
sjzcSjkmc: "",
sjzcSjklx: "",
});
},
removeSjzcList(index) {
this.ruleForm.sjzcList.splice(index, 1);
},
importClose() {},
//
resetForm() {
@ -5741,4 +5659,19 @@ export default {
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>

@ -4571,39 +4571,28 @@
<el-row style="margin: 10px 0">
<span class="top-title-box">数据资产</span>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="数据库名称"
required
:prop="`sjzcSjkmc`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
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="ruleForm.sjzcSjkmc"
placeholder="请输入数据库名称"
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
:prop="`sjzcSjklx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据库类型" required>
<!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> -->
<el-select
v-model="ruleForm.sjzcSjklx"
placeholder="请选择数据库类型"
v-model="dataItem.sjzcSjklx"
:placeholder="'请选择数据库类型' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.database_type"
@ -4617,72 +4606,36 @@
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="端口"
required
:prop="`sjzcDk`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="端口" required>
<el-input
v-model="ruleForm.sjzcDk"
placeholder="请输入端口"
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
:prop="`sjzcSjkbb`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据库版本" required>
<el-input
v-model="ruleForm.sjzcSjkbb"
placeholder="请输入数据库版本"
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
:prop="`sjzcSjkIp`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据库所在IP" required>
<el-input
v-model="ruleForm.sjzcSjkIp"
placeholder="请输入数据库所在IP"
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
:prop="`sjzcGxsx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="共享属性" required>
<el-select
v-model="ruleForm.sjzcGxsx"
placeholder="请选择共享属性"
v-model="dataItem.sjzcGxsx"
:placeholder="'请选择共享属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_gxsx"
@ -4696,19 +4649,10 @@
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="开放属性"
required
:prop="`sjzcKfsx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="开放属性" required>
<el-select
v-model="ruleForm.sjzcKfsx"
placeholder="请选择开放属性"
v-model="dataItem.sjzcKfsx"
:placeholder="'请选择开放属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_kfsx"
@ -4720,19 +4664,10 @@
</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-form-item label="数据领域" required>
<el-select
v-model="ruleForm.sjzcSjly"
placeholder="请选择数据领域"
v-model="dataItem.sjzcSjly"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjly"
@ -4746,19 +4681,10 @@
</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-form-item label="更新周期" required>
<el-select
v-model="ruleForm.sjzcGxzq"
placeholder="请选择数据领域"
v-model="dataItem.sjzcGxzq"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_gxzq"
@ -4770,16 +4696,7 @@
</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-form-item label="数据类型" required>
<!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
<el-option
v-for="dict in dict.type.sjzc_gxzq"
@ -4789,45 +4706,27 @@
/>
</el-select> -->
<el-input
v-model="ruleForm.sjzcSjlx"
placeholder="请输入数据类型"
: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
:prop="`sjzcSjl`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据量" required>
<el-input
type="number"
v-model="ruleForm.sjzcSjl"
placeholder="请输入数据量"
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
:prop="`sjzcSjldw`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-form-item label="数据量单位" required>
<el-select
v-model="ruleForm.sjzcSjldw"
placeholder="请选择数据量单位"
v-model="dataItem.sjzcSjldw"
:placeholder="'请选择数据量单位' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjldw"
@ -4841,19 +4740,10 @@
</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-form-item label="数据是否出境" required>
<el-select
v-model="ruleForm.sjzcCj"
placeholder="请选择数据是否出境"
v-model="dataItem.sjzcCj"
:placeholder="'请选择数据是否出境' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
@ -4865,19 +4755,10 @@
</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-form-item label="数据分级分类" required>
<el-select
v-model="ruleForm.sjzcSjfjfl"
placeholder="请选择数据分级分类"
v-model="dataItem.sjzcSjfjfl"
:placeholder="'请选择数据分级分类' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.sjzc_sjfjfl"
@ -4891,19 +4772,10 @@
</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-form-item label="数据重要程度" required>
<el-select
v-model="ruleForm.sjzcSjzycd"
placeholder="请选择数据重要程度"
v-model="dataItem.sjzcSjzycd"
:placeholder="'请选择数据重要程度' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.zc_xtzyx"
@ -4915,19 +4787,10 @@
</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-form-item label="是否涉密数据" required>
<el-select
v-model="ruleForm.sjzcSmsj"
placeholder="请选择是否涉密数据"
v-model="dataItem.sjzcSmsj"
:placeholder="'请选择是否涉密数据' + (dataIndex + 1)"
>
<el-option
v-for="dict in dict.type.is_no"
@ -4941,17 +4804,55 @@
</el-row>
<el-row style="display: flex">
<el-col :span="24">
<el-form-item label="数据描述" prop="sjzcSjms">
<el-form-item label="数据描述">
<el-input
type="textarea"
resize="none"
placeholder="请输入数据描述"
:placeholder="'请输入数据描述' + (dataIndex + 1)"
:rows="5"
v-model="ruleForm.sjzcSjms"
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="margin: 10px 0">
<span class="top-title-box">
@ -5176,6 +5077,12 @@ export default {
checkStrictly: true,
},
ruleForm: {
sjzcList: [
{
sjzcSjkmc: "",
sjzcSjklx: "",
},
],
//
xjgywxt: {
remark: "",
@ -5397,6 +5304,15 @@ export default {
}
},
methods: {
addSjzcList() {
this.ruleForm.sjzcList.push({
sjzcSjkmc: "",
sjzcSjklx: "",
});
},
removeSjzcList(index) {
this.ruleForm.sjzcList.splice(index, 1);
},
importClose() {},
//
resetForm() {
@ -5854,4 +5770,19 @@ export default {
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>

Loading…
Cancel
Save