You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

6215 lines
217 KiB

4 weeks ago
<template>
4 weeks ago
<div class="L-assets-info">
<el-backtop target=".L-assets-info" />
4 weeks ago
<div class="assets-info-top">
<el-row style="margin: 10px 0">
<span class="top-title-box">基本信息</span>
</el-row>
<div class="assets-info-box" v-loading="loading">
4 weeks ago
<el-form
:model="ruleForm"
v-if="!loading"
4 weeks ago
:rules="rules"
ref="ruleFormRef"
label-width="170px"
class="demo-ruleForm"
label-position="right"
:disabled="disabled"
>
<el-row>
<el-col :span="12">
<el-form-item
label="系统名称"
required
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
prop="xtmc"
>
4 weeks ago
<el-input
v-model="ruleForm.xtmc"
:disabled="pageType === 'change'"
4 weeks ago
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="单位名称"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
prop="dwmc"
disabled
>
<el-input v-model="ruleForm.dwmc" disabled></el-input>
4 weeks ago
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="系统域名">
<el-input v-model="ruleForm.xtym"></el-input>
4 weeks ago
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="访问网址" class="fangwenwangzhi">
<el-row>
<el-col :span="23">
4 weeks ago
<el-input
placeholder="请输入内容"
v-model="ruleForm.fwwz"
class="input-with-select"
>
<template slot="prepend">
<el-select v-model="select">
<el-option label="http" value="http"></el-option>
<el-option label="https" value="https"></el-option>
4 weeks ago
</el-select>
<span class="wangzhispan">://</span>
</template>
</el-input>
</el-col>
<el-col :span="1">
<el-popover placement="top" width="250" trigger="hover">
4 weeks ago
<div>说明请仔细填写访问地址确保网站地址能被访问</div>
<i
slot="reference"
class="el-icon-document-copy"
style="
margin-left: 5px;
font-size: 16px;
cursor: pointer;
"
></i>
4 weeks ago
</el-popover>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="建设(运营)单位">
<el-input
v-model="ruleForm.jsyydw"
placeholder="请输入建设(运营)单位"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="互联网开放用途"
required
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
prop="hlwkfyt"
>
4 weeks ago
<el-select
v-model="ruleForm.hlwkfyt"
placeholder="请选择互联网开放用途"
>
<el-option
v-for="dict in zc_hlwkfyt"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="Ip/Port" required class="IpPort">
<el-row>
4 weeks ago
<el-col :span="19">
<el-form-item
prop="ipAddress"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.ipAddress"
style="width: 100%"
placeholder="请输入IP地址"
></el-input>
</el-form-item>
</el-col>
<el-col class="line" :span="1">:</el-col>
4 weeks ago
<el-col :span="4">
<el-form-item
prop="ipPort"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.ipPort"
style="width: 100%"
placeholder="端口号"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="是否自建互联网专线IP"
required
prop="isZjhlwip"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.isZjhlwip"
placeholder="请选择是否自建互联网专线IP"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
:label="'关联域名' + (index == 0 ? '' : index)"
v-for="(domain, index) in ruleForm.glymList"
:key="domain.value"
:prop="'glymList.' + index + '.glym'"
>
<el-row>
4 weeks ago
<el-col :span="23">
<el-input
v-model="domain.key"
placeholder="请输入关联域名"
></el-input>
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
4 weeks ago
>
<i
@click="addForm('glymList')"
v-if="index == 0"
class="el-icon-circle-plus-outline"
style="margin-left: 5px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
<i
@click="removeDomainOne(domain, 'glymList')"
v-else
class="el-icon-remove-outline"
style="margin-left: 5px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="域名到期时间" class="yumingdaoqishijian">
4 weeks ago
<el-date-picker
v-model="ruleForm.ymdqsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
:label="'关联IP' + (index == 0 ? '' : index)"
v-for="(domain, index) in ruleForm.glIpList"
:key="domain.value"
:prop="'glIpList.' + index + '.glIp'"
>
<el-row>
4 weeks ago
<el-col :span="23">
<el-input
placeholder="请输入ip地址"
v-model="domain.key"
class="input-selct-slot"
>
<el-select
slot="prepend"
v-model="domain.ipType"
placeholder="选择设备IP"
>
<el-option
v-for="dict in sb_ip"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.label"
/>
</el-select>
<el-input
slot="append"
v-model="domain.port"
placeholder="请输入端口"
></el-input>
</el-input>
<!-- <el-input
v-model="domain.key"
placeholder="请输入关联IP"
></el-input> -->
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
4 weeks ago
>
<i
@click="addForm('glIpList')"
v-if="index == 0"
class="el-icon-circle-plus-outline"
style="margin-left: 5px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
<i
@click="removeDomainOne(domain, 'glIpList')"
v-else
class="el-icon-remove-outline"
style="margin-left: 5px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="到期提醒人" class="daoqitixingren">
<el-row :gutter="10">
4 weeks ago
<el-col :span="6">
<el-form-item prop="Ip">
4 weeks ago
<el-input
v-model="ruleForm.ymtxrXm"
style="width: 100%"
placeholder="请输入姓名"
></el-input>
</el-form-item>
</el-col>
<el-col :span="18">
4 weeks ago
<el-form-item
prop="ymtxrLxfs"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.ymtxrLxfs"
style="width: 100%"
placeholder="请输入11位移动电话号码"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="系统重要性">
<el-select
v-model="ruleForm.xtzyx"
placeholder="请选择系统重要性"
>
<el-option
v-for="dict in zc_xtzyx"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="是否关基系统"
required
prop="gjxt"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.gjxt"
placeholder="请选择是否关基系统"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="系统类型"
required
prop="xtlx"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select v-model="ruleForm.xtlx" placeholder="请选择系统类型">
4 weeks ago
<el-option
v-for="dict in zc_xtlx"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="机房信息"
required
prop="jfxx"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.jfxx"
style="width: 100%"
placeholder="请输入机房信息"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="使用时间"
class="shiyongshijian"
required
prop="sysj"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-date-picker
v-model="ruleForm.sysj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd hh:mm:ss"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="是否是互联网系统"
required
prop="hlwxt"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.hlwxt"
placeholder="请选择是否是互联网系统"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="系统编号">
<el-input
v-model="ruleForm.xtbh"
style="width: 100%"
placeholder="请输入系统编号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="系统状态"
required
prop="xtzt"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.xtzt"
placeholder="请选择系统状态"
@change="changeState"
>
<el-option
v-for="dict in zc_xtzt"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="在线状态">
<el-select v-model="ruleForm.zxzt" placeholder="请选择在线状态">
4 weeks ago
<el-option
v-for="dict in zc_zxzt"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="C-机密性">
<el-select v-model="ruleForm.cjmx" placeholder="请选择C-机密性">
4 weeks ago
<el-option
v-for="dict in zc_c_i_a"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="I-完整性">
<el-select v-model="ruleForm.iwzx" placeholder="请选择I-完整性">
4 weeks ago
<el-option
v-for="dict in zc_c_i_a"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="A-可用性">
<el-select v-model="ruleForm.akyx" placeholder="请选择A-可用性">
4 weeks ago
<el-option
v-for="dict in zc_c_i_a"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="存活率">
<el-select v-model="ruleForm.chl" placeholder="请选择存活率">
4 weeks ago
<el-option
v-for="dict in zc_c_i_a"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="地理位置">
<el-cascader
size="large"
:props="formProps"
4 weeks ago
:options="options"
v-model="dlwz"
>
</el-cascader>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="经度">
<el-input
v-model="ruleForm.jd"
placeholder="请输入经度"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="纬度">
<el-input
v-model="ruleForm.wd"
placeholder="请输入纬度"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row v-show="ruleForm.xtzt == 5">
<el-col :span="24">
<el-form-item
label="关停原因"
prop="bfyy"
:required="ruleForm.xtzt == 5"
>
<el-input
type="textarea"
resize="none"
placeholder="请输入关停原因"
:rows="5"
v-model="ruleForm.bfyy"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="系统特征">
<el-checkbox-group v-model="xttz">
<el-checkbox
label="党政机关门户网站、重点新闻网站"
name="type"
>
党政机关门户网站重点新闻网站
</el-checkbox>
<el-checkbox label="大型网络平台" name="type">
4 weeks ago
大型网络平台
</el-checkbox>
<el-checkbox
label="系统业务覆盖单个地市级行政区30%以上人口的工作、生活"
name="type"
>
系统业务覆盖单个地市级行政区30%以上人口的工作生活
</el-checkbox>
<el-checkbox
label="系统业务覆盖10万人以上用水、用电、用气、用油、取暖或交通出行"
name="type"
>
系统业务覆盖10万人以上用水用电用气用油取暖或交通出行
</el-checkbox>
<el-checkbox
label="存储超过5万人以上个人敏感信息"
name="type"
>
存储超过5万人以上个人敏感信息
</el-checkbox>
<el-checkbox
label="存储超过100万条以上地理、人口、资源等国家基础数据"
name="type"
>
存储超过100万条以上地理人口资源等国家基础数据
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="用户规模"
required
prop="yhgm"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-select v-model="ruleForm.yhgm" placeholder="请选择用户规模">
4 weeks ago
<el-option
v-for="dict in zc_yhgm"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="互联网接入运营商"
required
prop="hlwjryys"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.hlwjryys"
style="width: 100%"
placeholder="请输入互联网接入运营商"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="资产物理接入地址"
required
prop="zcwljrdz"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.zcwljrdz"
style="width: 100%"
placeholder="请输入资产物理接入地址"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="是否部署云平台"
required
prop="bsypt"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.bsypt"
@change="yunpingtaiChange"
placeholder="请选择是否部署云平台"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="云服务商名称"
required
prop="yfwsmc"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.yfwsmc"
style="width: 100%"
placeholder="请输入云服务商名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="网站访问协议/开通协议"
required
prop="wzfwxy"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.wzfwxy"
style="width: 100%"
placeholder="请输入网站访问协议/开通协议"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="系统部署方式"
@change="xtbsfsChange"
required
prop="xtbsfs"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
>
<el-select
v-model="ruleForm.xtbsfs"
placeholder="请选择系统部署方式"
>
<el-option
v-for="dict in zc_xtbsfs"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="是否对公众开放"
required
prop="dgzkf"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.dgzkf"
placeholder="请选择是否对公众开放"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="DNS">
<el-input
v-model="ruleForm.dns"
style="width: 100%"
placeholder="请输入DNS"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="系统标签">
<el-input
v-model="ruleForm.xtbq"
style="width: 100%"
placeholder="请输入系统标签"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12" v-if="ruleForm.xtbsfs == 3">
<el-form-item
label="托管单位"
required
prop="tgdw"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.tgdw"
style="width: 100%"
placeholder="请输入托管单位"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" v-if="ruleForm.xtbsfs == 4">
<el-form-item
label="云服务商"
required
prop="yfws"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.yfws"
style="width: 100%"
placeholder="请输入云服务商"
></el-input>
</el-form-item>
</el-col>
<!-- <el-col :span="12">
<el-form-item label="互联网开放用途" required prop="hlwkfyt" :rules="{
required: true, message: '请输入', trigger: 'blur'
}">
<el-select v-model="ruleForm.hlwkfyt" placeholder="请选择互联网开放用途">
<el-option v-for="dict in zc_hlwkfyt" :key="dict.value" :label="dict.label"
:value="dict.value" />
</el-select>
</el-form-item>
</el-col> -->
4 weeks ago
</el-row>
</el-form>
<el-row>
<el-col
:span="24"
style="text-align: right; margin: 10px 0"
v-if="!isMore"
>
<el-button @click="isMore = true" class="more-button"
>更多</el-button
>
</el-col>
</el-row>
<el-form
v-if="isMore"
:model="ruleForm"
:rules="rules"
ref="ruleFormRef"
label-width="170px"
class="demo-ruleForm"
label-position="right"
:disabled="disabled"
>
4 weeks ago
<!-- 隐藏部分 -->
<div v-if="isMore">
<!-- 系统防护信息 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">系统防护信息</span>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="防篡改">
<el-checkbox-group v-model="xtfhqkFcg">
<!-- <el-checkbox label="网页防篡改产品" name="type"></el-checkbox>
<el-checkbox label="软硬件waf" name="type"></el-checkbox>
<el-checkbox label="云防篡改平台服务" name="type"></el-checkbox>
<el-checkbox label="其他" name="type"></el-checkbox>
<el-checkbox label="无" name="type"></el-checkbox> -->
4 weeks ago
<el-checkbox
v-for="dict in xtfhqk_fcg"
4 weeks ago
:key="dict.value"
:label="dict.value"
:name="dict.value"
>
{{ dict.label }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="防泄露">
<el-checkbox-group v-model="xtfhqkFxl">
<!-- <el-checkbox label="加密传输" name="type"></el-checkbox>
<el-checkbox label="加密存储" name="type"></el-checkbox>
<el-checkbox label="散列存储" name="type"></el-checkbox>
<el-checkbox label="脱敏存储/展示" name="type"></el-checkbox>
<el-checkbox label="存储区域隔离控制" name="type"></el-checkbox>
<el-checkbox label="数据库审计产品" name="type"></el-checkbox>
<el-checkbox label="大数据分析平台" name="type"></el-checkbox>
<el-checkbox label="apt" name="type"></el-checkbox>
<el-checkbox label="dlp" name="type"></el-checkbox>
<el-checkbox label="其他" name="type"></el-checkbox>
<el-checkbox label="无" name="type"></el-checkbox> -->
4 weeks ago
<el-checkbox
v-for="dict in xtfhqk_fxl"
4 weeks ago
:key="dict.value"
:label="dict.value"
:name="dict.value"
>
{{ dict.label }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="防中断">
<el-checkbox-group v-model="xtfhqkFzd">
<!-- <el-checkbox label="备份恢复演练" name="type"></el-checkbox>
<el-checkbox label="应用及灾备" name="type"></el-checkbox>
<el-checkbox label="硬件冗余" name="type"></el-checkbox>
<el-checkbox label="CDN" name="type"></el-checkbox>
<el-checkbox label="抗ddos产品" name="type"></el-checkbox>
<el-checkbox label="资源可扩展" name="type"></el-checkbox>
<el-checkbox label="流量清洗服务" name="type"></el-checkbox>
<el-checkbox label="其他" name="type"></el-checkbox>
<el-checkbox label="无" name="type"></el-checkbox> -->
4 weeks ago
<el-checkbox
v-for="dict in xtfhqk_fzd"
4 weeks ago
:key="dict.value"
:label="dict.value"
:name="dict.value"
>
{{ dict.label }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="防勒索">
<el-checkbox-group v-model="xtfhqkFls">
<!-- <el-checkbox label="数据备份" name="type"></el-checkbox>
<el-checkbox label="补丁更新" name="type"></el-checkbox>
<el-checkbox label="防病毒网关" name="type"></el-checkbox>
<el-checkbox label="防病毒软件" name="type"></el-checkbox>
<el-checkbox label="系统安全加固" name="type"></el-checkbox>
<el-checkbox label="区域隔离" name="type"></el-checkbox>
<el-checkbox label="主机审计系统" name="type"></el-checkbox>
<el-checkbox label="其他" name="type"></el-checkbox>
<el-checkbox label="无" name="type"></el-checkbox> -->
4 weeks ago
<el-checkbox
v-for="dict in xtfhqk_fls"
4 weeks ago
:key="dict.value"
:label="dict.value"
:name="dict.value"
>
{{ dict.label }}
</el-checkbox>
</el-checkbox-group>
</el-form-item>
</el-col>
</el-row>
<!-- 相关业务 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">相关业务</span>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="覆盖范围" prop="xgywFgfw">
4 weeks ago
<el-select
v-model="ruleForm.xgywFgfw"
placeholder="请选择覆盖范围"
>
<el-option
v-for="dict in fgfw"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="网络性质" prop="xgywWlxz">
4 weeks ago
<el-select
v-model="ruleForm.xgywWlxz"
placeholder="请选择网络性质"
>
<el-option
v-for="dict in wlxz"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="业务类型" prop="xgywYwlx">
4 weeks ago
<el-select
v-model="ruleForm.xgywYwlx"
placeholder="请选择业务类型"
>
<el-option
v-for="dict in ywlx"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="互联情况" prop="xgywHlqk">
4 weeks ago
<el-select
v-model="ruleForm.xgywHlqk"
placeholder="请选择互联网情况"
>
<el-option
v-for="dict in hlqk"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="服务对象" prop="xgywFwdx">
4 weeks ago
<el-select
v-model="ruleForm.xgywFwdx"
placeholder="请选择服务对象"
>
<el-option
v-for="dict in fwdx"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="服务范围" prop="xgywFwfw">
4 weeks ago
<el-select
v-model="ruleForm.xgywFwfw"
placeholder="请选择服务范围"
>
<el-option
v-for="dict in fwfw"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item
label="业务描述"
required
prop="xgywYwms"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
type="textarea"
resize="none"
placeholder="请输入业务描述"
:rows="5"
v-model="ruleForm.xgywYwms"
></el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 联系人 -->
<el-row style="margin: 10px 0">
<el-col :span="24"
><span class="top-title-box">联系人</span>
</el-col>
<!-- 联系人的姓名/联系方式都是必填项 邮箱不是 -->
<el-row :gutter="20">
<el-col :span="24">
<el-form-item
label="分管责任人"
required
class="daoqitixingren"
>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item
prop="fgfzrxm"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-input
v-model="ruleForm.fgfzrxm"
style="width: 100%"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
prop="fgfzrlxfs"
:rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.fgfzrlxfs"
style="width: 100%"
placeholder="请输入联系方式"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
prop="fgfzryx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change'],
},
]"
>
<el-input
v-model="ruleForm.fgfzryx"
style="width: 100%"
placeholder="请输入邮箱"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item
label="部门负责人"
required
class="daoqitixingren"
>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item
prop="bmfzrxm"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-input
v-model="ruleForm.bmfzrxm"
style="width: 100%"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
prop="bmfzrlxfs"
:rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.bmfzrlxfs"
style="width: 100%"
placeholder="请输入联系方式"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
prop="bmfzryx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change'],
},
]"
>
<el-input
v-model="ruleForm.bmfzryx"
style="width: 100%"
placeholder="请输入邮箱"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item
label="第一联系人"
required
class="daoqitixingren"
>
<el-row :gutter="10">
<el-col :span="8">
<el-form-item
prop="dylxrxm"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-input
v-model="ruleForm.dylxrxm"
style="width: 100%"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
prop="dylxrlxfs"
:rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.dylxrlxfs"
style="width: 100%"
placeholder="请输入联系方式"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
prop="dylxryx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change'],
},
]"
>
<el-input
v-model="ruleForm.dylxryx"
style="width: 100%"
placeholder="请输入邮箱"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item
:label="'其他联系人' + (index == 0 ? '' : index)"
v-for="(domain, index) in ruleForm.otherConcat"
:key="domain.key"
:prop="'otherConcat.' + index + '.value'"
>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item prop="name">
<el-input
v-model="domain.qtlxrxm"
style="width: 100%"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
:prop="'otherConcat.' + index + '.qtlxrlxfs'"
:rules="[
{
required: true,
message: '请输入',
trigger: 'blur',
},
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.qtlxrlxfs"
style="width: 100%"
placeholder="请输入联系方式"
></el-input>
</el-form-item>
</el-col>
<el-col :span="7">
<el-form-item
:prop="'otherConcat.' + index + '.qtlxryx'"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change'],
},
]"
>
<el-input
v-model="domain.qtlxryx"
style="width: 100%"
placeholder="请输入邮箱"
></el-input>
</el-form-item>
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
>
<i
@click="removeDomain(domain, 'otherConcat')"
class="el-icon-remove-outline"
style="font-size: 16px; cursor: pointer"
></i>
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row v-if="pageType !== 'look'">
<el-col :span="24">
<el-form-item prop="btn">
<el-button @click="addOtherConcat('otherConcat')"
>添加其他联系人</el-button
>
</el-form-item>
</el-col>
</el-row>
4 weeks ago
</el-row>
<!-- ICP备案 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">ICP备案信息</span>
4 weeks ago
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="是否备案"
required
prop="ipcSfba"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.ipcSfba"
@change="sfbaICPChange"
placeholder="请选择是否备案"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div v-if="ruleForm.ipcSfba == 1">
<el-row>
<el-col :span="12">
<el-form-item label="备案有效性">
<el-select
v-model="ruleForm.ipcBayxx"
placeholder="请选择备案有效性"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备案网站名称">
<el-input
v-model="ruleForm.ipcBawzmc"
style="width: 100%"
placeholder="请输入备案网站名称"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备案网站首页">
<el-input
v-model="ruleForm.ipcBawzsy"
style="width: 100%"
placeholder="请输入备案网站首页"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="ICP备案编号"
required
prop="ipcIpcbabh"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.ipcIpcbabh"
style="width: 100%"
placeholder="请输入ICP备案编号"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="备案域名"
required
prop="ipcBaym"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.ipcBaym"
style="width: 100%"
placeholder="请输入备案域名"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备案单位名称">
<el-input
v-model="ruleForm.ipcBadwmc"
style="width: 100%"
placeholder="请输入备案单位名称"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="备案单位性质">
<el-select
v-model="ruleForm.ipcBadwxz"
placeholder="请选择备案单位性质"
>
<el-option
v-for="dict in dwlx"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="备案联系人">
<el-input
v-model="ruleForm.ipcBalxr"
style="width: 100%"
placeholder="请输入备案联系人"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="备案联系人电话"
prop="ipcBalxrdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.ipcBalxrdh"
style="width: 100%"
placeholder="请输入备案联系人电话"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="审核时间">
<el-date-picker
v-model="ruleForm.shsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 公安机关备案信息 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">公安机关备案信息</span>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="是否备案"
required
prop="gajgSfba"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.gajgSfba"
@change="sfbaGajgChange"
placeholder="请选择是否备案"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<!-- 公安机关备案信息 -->
<div v-if="ruleForm.gajgSfba == 1">
<el-row style="margin: 10px 0">
<span class="top-title-two-box">公安机关备案信息</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="备案机关">
<el-input
v-model="ruleForm.gajgBajg"
style="width: 100%"
placeholder="请输入备案机关"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label="公安机关备案号"
required
prop="gajgBah"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.gajgBah"
style="width: 100%"
placeholder="请输入公安机关备案号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="备案日期">
<el-date-picker
v-model="ruleForm.gajgBarq"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 系统架构 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">系统架构</span>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="开发商"
required
prop="xtjgKfs"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.xtjgKfs"
style="width: 100%"
placeholder="请输入开发商"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="系统版本"
required
prop="xtjgXtbb"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.xtjgXtbb"
style="width: 100%"
placeholder="请输入系统版本"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="技术架构"
required
prop="xtjgJsjg"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.xtjgJsjg"
style="width: 100%"
placeholder="请输入技术架构"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="服务组件"
required
prop="xtjgFwzj"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.xtjgFwzj"
style="width: 100%"
placeholder="请输入服务组件"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="Web容器名称"
required
prop="xtjgWebMc"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.xtjgWebMc"
style="width: 100%"
placeholder="请输入Web容器名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="Web容器版本"
required
prop="xtjgWebBb"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.xtjgWebBb"
style="width: 100%"
placeholder="请输入Web容器版本"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="是否国产化系统"
required
prop="xtjgGcxt"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.xtjgGcxt"
placeholder="请选择是否国产化系统"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
label="是否有国产设备"
required
prop="xtjgGcsb"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.xtjgGcsb"
placeholder="请选择是否有国产设备"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="系统设备国产化率">
<el-input
placeholder="请输入内容"
type="number"
v-model="ruleForm.xtjgGchl"
>
<template slot="append">%</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 等保信息 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">等保信息</span>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item
label="是否等保系统"
required
prop="dbxxSfdbxt"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.dbxxSfdbxt"
@change="sfdbxtChange"
placeholder="请选择是否等保系统"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<div v-if="ruleForm.dbxxSfdbxt == 1">
<!-- 等保信息 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">等保信息</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
label="等保测评备案号"
required
prop="dbxxDbcpbah"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.dbxxDbcpbah"
style="width: 100%"
placeholder="请输入等保测评备案号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
<el-form-item
label="等保等级"
required
prop="dbxxDbdj"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.dbxxDbdj"
placeholder="请选择等保等级"
>
<el-option
v-for="dict in dbxx_dbdj"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="主管部门">
<el-input
v-model="ruleForm.dbxxZgbm"
style="width: 100%"
placeholder="请输入主管部门"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="专家评审">
<el-select
v-model="ruleForm.dbxxZjps"
placeholder="请选择专家评审"
>
<el-option
v-for="dict in dbxx_zjps"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="主管部门评审">
<el-select
v-model="ruleForm.dbxxZgbmps"
placeholder="请选择主管部门评审"
>
<el-option
v-for="dict in dbxx_zjps"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="">
<el-form-item
label="定级时间"
required
prop="dbxxDjsj"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-date-picker
v-model="ruleForm.dbxxDjsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
label="测评得分"
required
prop="dbxxCpdf"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
v-model="ruleForm.dbxxCpdf"
type="number"
style="width: 100%"
placeholder="请输入测评得分"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
<el-form-item
label="是否有第三方测评"
required
prop="dbxxSfydsfcp"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="ruleForm.dbxxSfydsfcp"
placeholder="请选择是否有第三方测评"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 第三方测评 -->
<div v-if="ruleForm.dbxxSfydsfcp == 1">
<el-row style="margin: 10px 0">
<span class="top-title-two-box">第三方测评</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="测评机构名称">
<el-input
v-model="ruleForm.sfCpjgmc"
style="width: 100%"
placeholder="请输入测评机构名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="测评机构联系人">
<el-input
v-model="ruleForm.sfCpjglxr"
style="width: 100%"
placeholder="请输入测评机构联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="测评机构地址">
<el-input
v-model="ruleForm.sfCpjgdz"
style="width: 100%"
placeholder="请输入测评机构地址"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
label="测评机构联系人电话"
prop="sfCpjglxrdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.sfCpjglxrdh"
style="width: 100%"
placeholder="请输入测评机构联系人电话"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="测评时联系人">
<el-input
v-model="ruleForm.sfCpslxr"
style="width: 100%"
placeholder="请输入测评时联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="测评师姓名">
<el-input
v-model="ruleForm.sfCpsxm"
style="width: 100%"
placeholder="请输入测评师姓名"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
label="测评时联系人电话"
prop="sfCpslxrdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.sfCpslxrdh"
style="width: 100%"
placeholder="请输入测评时联系人电话"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item
label="测评师电话"
prop="sfCpsdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.sfCpsdh"
style="width: 100%"
placeholder="请输入测评师电话"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="推荐等保办">
<el-input
v-model="ruleForm.sfTjdbb"
style="width: 100%"
placeholder="请输入推荐等保办"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="测评师证书等级">
<el-select
v-model="ruleForm.sfCpszsdj"
placeholder="请选择测评师证书等级"
>
<el-option
v-for="dict in sf_cpszsdj"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="测评等级">
<el-select
v-model="ruleForm.sfCpdj"
placeholder="请选择测评等级"
>
<el-option
v-for="dict in dbxx_dbdj"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="推荐日期">
<el-date-picker
v-model="ruleForm.sfTjrq"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="报告日期">
<el-date-picker
v-model="ruleForm.sfBgrq"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="测评结论">
<el-input
type="textarea"
resize="none"
placeholder="请输入测评结论"
:rows="5"
v-model="ruleForm.sfCpjl"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- 密评信息 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">密评信息</span>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="是否密评系统">
<el-select
v-model="ruleForm.mpSfmpxt"
placeholder="请选择是否密评系统"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="密评得分">
<el-input
placeholder="请输入密评得分"
type="number"
v-model="ruleForm.mpMpdf"
></el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 供应链信息 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">供应链信息</span>
</el-row>
<div
v-for="(domain, index) in ruleForm.chepingUnit"
:key="domain.remark"
:prop="'chepingUnit.' + index + '.value'"
>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
required
:prop="`chepingUnit[${index}].name`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'测评单位名称' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.name"
placeholder="请输入测评单位名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:label="'统一社会信用代码' + (index == 0 ? '' : index)"
:rules="[
{
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.tyshxydm"
placeholder="请输入统一信用代码"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
:label="'联系人' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.lxr"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:label="'联系电话' + (index == 0 ? '' : index)"
:prop="'chepingUnit.' + index + '.lxdh'"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.lxdh"
placeholder="请输入联系电话"
></el-input>
</el-form-item>
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
4 weeks ago
>
<i
@click="addGongyinglian('chepingUnit', 1)"
v-if="index == 0"
class="el-icon-circle-plus-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
<i
@click="removeDomain(domain, 'chepingUnit')"
v-else
class="el-icon-remove-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</div>
<div
v-for="(domain, index) in ruleForm.yjgysUnit"
:key="domain.remark"
:prop="'yjgysUnit.' + index + '.value'"
>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
:label="'硬件供应商单位名称' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.name"
placeholder="请输入硬件供应商单位名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:label="'统一社会信用代码' + (index == 0 ? '' : index)"
:rules="[
{
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.tyshxydm"
placeholder="请输入统一信用代码"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
:label="'联系人' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.lxr"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:label="'联系电话' + (index == 0 ? '' : index)"
:prop="'yjgysUnit.' + index + '.lxdh'"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.lxdh"
placeholder="请输入联系电话"
></el-input>
</el-form-item>
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
4 weeks ago
>
<i
@click="addGongyinglian('yjgysUnit', 2)"
v-if="index == 0"
class="el-icon-circle-plus-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
<i
@click="removeDomain(domain, 'yjgysUnit')"
v-else
class="el-icon-remove-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</div>
<div
v-for="(domain, index) in ruleForm.jfywUnit"
:key="domain.remark"
:prop="'jfywUnit.' + index + '.value'"
>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
:label="'机房运维单位名称' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.name"
placeholder="请输入机房运维单位名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:label="'统一社会信用代码' + (index == 0 ? '' : index)"
:rules="[
{
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.tyshxydm"
placeholder="请输入统一信用代码"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
:label="'联系人' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.lxr"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:label="'联系电话' + (index == 0 ? '' : index)"
:prop="'jfywUnit.' + index + '.lxdh'"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.lxdh"
placeholder="请输入联系电话"
></el-input>
</el-form-item>
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
4 weeks ago
>
<i
@click="addGongyinglian('jfywUnit', 3)"
v-if="index == 0"
class="el-icon-circle-plus-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
<i
@click="removeDomain(domain, 'jfywUnit')"
v-else
class="el-icon-remove-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</div>
<div
v-for="(domain, index) in ruleForm.xtsjUnit"
4 weeks ago
:key="domain.remark"
:prop="'xtsjUnit.' + index + '.value'"
4 weeks ago
>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
:label="'系统设计单位名称' + (index == 0 ? '' : index)"
4 weeks ago
>
<el-input
v-model="domain.name"
placeholder="请输入系统设计单位名称"
4 weeks ago
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:label="'统一社会信用代码' + (index == 0 ? '' : index)"
:rules="[
{
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.tyshxydm"
placeholder="请输入统一信用代码"
></el-input>
4 weeks ago
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
:label="'联系人' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.lxr"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" style="">
<el-form-item
class="daoqitixingren"
:label="'联系电话' + (index == 0 ? '' : index)"
:prop="'xtsjUnit.' + index + '.lxdh'"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.lxdh"
placeholder="请输入联系电话"
></el-input>
</el-form-item>
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
>
<i
@click="addGongyinglian('xtsjUnit', 4)"
v-if="index == 0"
class="el-icon-circle-plus-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
<i
@click="removeDomain(domain, 'xtsjUnit')"
v-else
class="el-icon-remove-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
</el-col>
</el-row>
</div>
<div
v-for="(domain, index) in ruleForm.xtjsUnit"
:key="domain.remark"
:prop="'xtjsUnit.' + index + '.value'"
>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
required
:prop="`xtjsUnit[${index}].name`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
:label="'系统建设单位名称' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.name"
placeholder="请输入系统建设单位名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
class="daoqitixingren"
:prop="`xtjsUnit[${index}].tyshxydm`"
:rules="[
{ required: true, message: '请输入', trigger: 'blur' },
{
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur',
},
]"
required
:label="'统一社会信用代码' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.tyshxydm"
placeholder="请输入统一信用代码"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
required
:prop="`xtjsUnit[${index}].lxr`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
:label="'联系人' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.lxr"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:label="'联系电话' + (index == 0 ? '' : index)"
:prop="'xtjsUnit.' + index + '.lxdh'"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
{
required: true,
message: '请输入',
trigger: 'blur',
},
]"
4 weeks ago
>
<el-input
v-model="domain.lxdh"
placeholder="请输入联系电话"
></el-input>
4 weeks ago
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="供应商注册地址"
required
:prop="`xtjsUnit[${index}].gyszcdz`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
placeholder="请输入供应商注册地址"
v-model="domain.gyszcdz"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" style="">
<el-form-item
label="注册地是否为太仓"
required
:prop="`xtjsUnit[${index}].sfwtc`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="domain.sfwtc"
placeholder="请选择注册地是否为太仓"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
4 weeks ago
>
<i
@click="addGongyinglian('xtjsUnit', 5)"
v-if="index == 0"
class="el-icon-circle-plus-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
<i
@click="removeDomain(domain, 'xtjsUnit')"
v-else
class="el-icon-remove-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</div>
<div
v-for="(domain, index) in ruleForm.xtyyUnit"
:key="domain.remark"
:prop="'xtyyUnit.' + index + '.value'"
>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
required
:prop="`xtyyUnit[${index}].name`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'系统运营单位名称' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.name"
placeholder="请输入系统运营单位名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
class="daoqitixingren"
required
:prop="`xtyyUnit[${index}].tyshxydm`"
:rules="[
{ required: true, message: '请输入', trigger: 'blur' },
{
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur',
},
]"
:label="'统一社会信用代码' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.tyshxydm"
placeholder="请输入统一信用代码"
></el-input>
</el-form-item>
4 weeks ago
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
required
:prop="`xtyyUnit[${index}].lxr`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'联系人' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.lxr"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:label="'联系电话' + (index == 0 ? '' : index)"
:prop="'xtyyUnit.' + index + '.lxdh'"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
{
required: true,
message: '请输入',
trigger: 'blur',
},
]"
4 weeks ago
>
<el-input
v-model="domain.lxdh"
placeholder="请输入联系电话"
></el-input>
4 weeks ago
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="供应商注册地址"
required
:prop="`xtyyUnit[${index}].gyszcdz`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-input
placeholder="请输入供应商注册地址"
v-model="domain.gyszcdz"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" style="">
<el-form-item
label="注册地是否为太仓"
required
:prop="`xtyyUnit[${index}].sfwtc`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
4 weeks ago
<el-select
v-model="domain.sfwtc"
placeholder="请选择注册地是否为太仓"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
4 weeks ago
>
<i
@click="addGongyinglian('xtyyUnit', 7)"
v-if="index == 0"
class="el-icon-circle-plus-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
<i
@click="removeDomain(domain, 'xtyyUnit')"
v-else
class="el-icon-remove-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
</el-col>
</el-row>
</div>
<div
v-for="(domain, index) in ruleForm.aqfwUnit"
:key="domain.remark"
:prop="'aqfwUnit.' + index + '.value'"
>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
:label="'安全服务单位' + (index == 0 ? '' : index)"
4 weeks ago
>
<el-input
v-model="domain.name"
placeholder="请输入安全服务单位名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
class="daoqitixingren"
:label="'统一社会信用代码' + (index == 0 ? '' : index)"
:rules="[
{
pattern: /^[a-zA-Z0-9]{18}$/,
message: '请输入正确格式的18位统一社会信用代码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.tyshxydm"
placeholder="请输入统一信用代码"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
:label="'联系人' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.lxr"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="11" style="">
<el-form-item
class="daoqitixingren"
:label="'联系电话' + (index == 0 ? '' : index)"
:prop="'aqfwUnit.' + index + '.lxdh'"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="domain.lxdh"
placeholder="请输入联系电话"
></el-input>
</el-form-item>
</el-col>
<el-col
:span="1"
style="text-align: center"
v-if="pageType !== 'look'"
>
<i
@click="addGongyinglian('aqfwUnit', 6)"
v-if="index == 0"
class="el-icon-circle-plus-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
<i
@click="removeDomain(domain, 'aqfwUnit')"
v-else
class="el-icon-remove-outline"
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</div>
<!-- 基础网络 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">基础网络</span>
</el-row>
<!-- 服务器信息 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">服务器信息</span>
</el-row>
<div v-for="(domain, index) in ruleForm.fwqxx" :key="domain.key">
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="8">
<el-form-item
class="daoqitixingren"
required
:prop="`fwqxx[${index}].sblx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'设备类型' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.sblx"
placeholder="请输入设备类型"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:prop="`fwqxx[${index}].pp`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'品牌' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.pp"
placeholder="请输入品牌"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:label="'设备IP' + (index == 0 ? '' : index)"
>
<el-row style="display: flex; width: 100%" :gutter="10">
4 weeks ago
<el-col :span="8">
<el-form-item
:prop="`fwqxx[${index}].ipType`"
:rules="{
required: true,
message: '请输入',
trigger: 'change',
}"
4 weeks ago
>
<el-select
v-model="domain.ipType"
placeholder="请选择设备IP"
>
<el-option
v-for="dict in sb_ip"
:key="dict.value"
:label="dict.label"
:value="dict.label"
/>
</el-select>
</el-form-item>
4 weeks ago
</el-col>
<el-col :span="16" style="">
<el-form-item
:prop="`fwqxx[${index}].sbIp`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-input
v-model="domain.sbIp"
placeholder="请输入"
></el-input>
</el-form-item>
4 weeks ago
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
class="daoqitixingren"
required
:prop="`fwqxx[${index}].czxt`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'操作系统' + (index == 0 ? '' : index)"
>
<el-select
v-model="domain.czxt"
placeholder="请选择操作系统"
>
<el-option
v-for="dict in fwq_czxt"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item
class="daoqitixingren"
required
:prop="`fwqxx[${index}].czxtbb`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'操作系统版本' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.czxtbb"
placeholder="请输入操作系统版本"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
class="daoqitixingren"
required
:prop="`fwqxx[${index}].yjxh`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'硬件型号' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjxh"
placeholder="请输入硬件型号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:prop="`fwqxx[${index}].yjxlh`"
4 weeks ago
:label="'硬件序列号' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjxlh"
placeholder="请输入硬件序列号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:prop="`fwqxx[${index}].yjbbxx`"
4 weeks ago
:label="'硬件版本信息' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjbbxx"
placeholder="请输入硬件版本信息"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
class="daoqitixingren"
required
:prop="`fwqxx[${index}].yjyt`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'硬件用途' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjyt"
placeholder="请输入硬件用途"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:prop="`fwqxx[${index}].yjbsxx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'硬件部署位置' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjbsxx"
placeholder="请输入硬件部署位置"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<i
@click="removeDomain(domain, 'fwqxx')"
4 weeks ago
v-if="index !== 0"
class="el-icon-remove-outline"
4 weeks ago
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</div>
<el-row>
4 weeks ago
<el-form-item>
<el-button @click="addServer('fwqxx', 1)">添加服务器</el-button>
</el-form-item>
</el-row>
<!-- 网络设备 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">网络设备</span>
</el-row>
<div
v-for="(domain, index) in ruleForm.wlsb"
4 weeks ago
:key="domain.key"
:prop="'wlsb.' + index + '.value'"
>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
class="daoqitixingren"
required
:prop="`wlsb[${index}].sblx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'设备类型' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.sblx"
placeholder="请输入安全服务单位名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:prop="`wlsb[${index}].pp`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'品牌' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.pp"
placeholder="请输入品牌"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:label="'设备IP' + (index == 0 ? '' : index)"
>
<el-row style="display: flex; width: 100%" :gutter="10">
4 weeks ago
<el-col :span="8">
<el-form-item
:prop="`wlsb[${index}].ipType`"
:rules="{
required: true,
message: '请输入',
trigger: 'change',
}"
4 weeks ago
>
<el-select
v-model="domain.ipType"
placeholder="请选择设备IP"
>
<el-option
v-for="dict in sb_ip"
:key="dict.value"
:label="dict.label"
:value="dict.label"
/>
</el-select>
</el-form-item>
4 weeks ago
</el-col>
<el-col :span="16" style="">
<el-form-item
:prop="`wlsb[${index}].sbIp`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-input
v-model="domain.sbIp"
placeholder="请输入"
></el-input>
</el-form-item>
4 weeks ago
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
class="daoqitixingren"
required
:prop="`wlsb[${index}].yjxh`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'硬件型号' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjxh"
placeholder="请输入硬件型号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:prop="`wlsb[${index}].yjxlh`"
4 weeks ago
:label="'硬件序列号' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjxlh"
placeholder="请输入硬件序列号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:prop="`wlsb[${index}].yjbbxx`"
4 weeks ago
:label="'硬件版本信息' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjbbxx"
placeholder="请输入硬件版本信息"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="8">
<el-form-item
class="daoqitixingren"
required
:prop="`wlsb[${index}].yjyt`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'硬件用途' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjyt"
placeholder="请输入硬件用途"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:prop="`wlsb[${index}].yjbsxx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'硬件部署位置' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjbsxx"
placeholder="请输入硬件部署位置"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<i
@click="removeDomain(domain, 'wlsb')"
4 weeks ago
v-if="index !== 0"
class="el-icon-remove-outline"
4 weeks ago
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</div>
<el-row>
4 weeks ago
<el-form-item>
<el-button @click="addServer('wlsb', 2)"
>添加网络设备</el-button
>
</el-form-item>
</el-row>
<!-- 安全设备 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">安全设备</span>
</el-row>
<div
v-for="(domain, index) in ruleForm.aqsb"
4 weeks ago
:key="domain.key"
:prop="'aqsb.' + index + '.value'"
>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="8">
<el-form-item
class="daoqitixingren"
required
:prop="`aqsb[${index}].sblx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'设备类型' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.sblx"
placeholder="请输入安全服务单位名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:prop="`aqsb[${index}].pp`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'品牌' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.pp"
placeholder="请输入品牌"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:label="'设备IP' + (index == 0 ? '' : index)"
>
<el-row style="display: flex; width: 100%" :gutter="10">
4 weeks ago
<el-col :span="8">
<el-form-item
:prop="`aqsb[${index}].ipType`"
:rules="{
required: true,
message: '请输入',
trigger: 'change',
}"
4 weeks ago
>
<el-select
v-model="domain.ipType"
placeholder="请选择设备IP"
>
<el-option
v-for="dict in sb_ip"
:key="dict.value"
:label="dict.label"
:value="dict.label"
/>
</el-select>
</el-form-item>
4 weeks ago
</el-col>
<el-col :span="16" style="">
<el-form-item
:prop="`aqsb[${index}].sbIp`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
>
<el-input
v-model="domain.sbIp"
placeholder="请输入"
></el-input>
</el-form-item>
4 weeks ago
</el-col>
</el-row>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
class="daoqitixingren"
required
:prop="`aqsb[${index}].yjxh`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'硬件型号' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjxh"
placeholder="请输入硬件型号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:label="'硬件序列号' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjxlh"
placeholder="请输入硬件序列号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
:label="'硬件版本信息' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjbbxx"
placeholder="请输入硬件版本信息"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item
class="daoqitixingren"
required
:prop="`aqsb[${index}].yjyt`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'硬件用途' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjyt"
placeholder="请输入硬件用途"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
class="daoqitixingren"
required
:prop="`aqsb[${index}].yjbsxx`"
:rules="{
required: true,
message: '请输入',
trigger: 'blur',
}"
4 weeks ago
:label="'硬件部署位置' + (index == 0 ? '' : index)"
>
<el-input
v-model="domain.yjbsxx"
placeholder="请输入硬件部署位置"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="" v-if="!disabled">
4 weeks ago
<i
@click="removeDomain(domain, 'aqsb')"
4 weeks ago
v-if="index !== 0"
class="el-icon-remove-outline"
4 weeks ago
style="margin-top: 10px; font-size: 16px; cursor: pointer"
></i>
4 weeks ago
</el-col>
</el-row>
</div>
<el-row>
4 weeks ago
<el-form-item>
<el-button @click="addServer('aqsb', 3)"
>添加安全设备</el-button
>
</el-form-item>
</el-row>
<!-- 新监管业务形态 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">新监管业务形态</span>
</el-row>
<el-row style="margin: 20px 0">
<el-radio-group
v-model="ruleForm.xjgywxt.remark"
size="medium"
@input="changeRadio"
style="margin-left: 170px"
>
<el-radio label="1" border>云平台</el-radio>
<el-radio label="2" border>大数据</el-radio>
<el-radio label="3" border>物联网</el-radio>
<el-radio label="4" border>移动APP</el-radio>
<el-radio label="5" border>工业控制</el-radio>
<el-radio label="6" border>CDN</el-radio>
4 weeks ago
</el-radio-group>
</el-row>
<div v-if="ruleForm.xjgywxt.remark == 1">
<!-- 云平台 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">云平台</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="云平台服务商">
<el-input
v-model="ruleForm.xjgywxt.yptFws"
style="width: 100%"
placeholder="请输入云平台服务商"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="是否租户级安全">
<el-select
v-model="ruleForm.xjgywxt.yptSfzh"
placeholder="请选择是否租户级安全"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="云平台类型">
<el-input
v-model="ruleForm.xjgywxt.yptLx"
style="width: 100%"
placeholder="请输入备案网站首页"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="硬件资源大小">
<el-input
v-model="ruleForm.xjgywxt.yptYjzydx"
style="width: 100%"
placeholder="请输入硬件资源大小"
>
<template slot="append">支持G\TB\PB</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="平台架构">
<el-input
v-model="ruleForm.xjgywxt.yptPtjg"
style="width: 100%"
placeholder="请输入平台架构"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="互联网IP段">
<el-input
v-model="ruleForm.xjgywxt.yptIp"
style="width: 100%"
placeholder="请输入互联网IP段"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="机房联系人">
<el-input
v-model="ruleForm.xjgywxt.yptJflxr"
style="width: 100%"
placeholder="请输入机房联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
label="机房联系人电话"
prop="xjgywxt.yptJflxrdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.xjgywxt.yptJflxrdh"
style="width: 100%"
placeholder="请输入机房联系人电话"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="服务器设备类型">
<el-input
v-model="ruleForm.xjgywxt.yptFwqsblx"
style="width: 100%"
placeholder="请输入服务器设备类型"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-if="ruleForm.xjgywxt.remark == 2">
<!-- 大数据 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">大数据</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="平台服务商">
<el-input
v-model="ruleForm.xjgywxt.dsjPtfws"
style="width: 100%"
placeholder="请输入平台服务商"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="敏感数据类型">
<el-input
v-model="ruleForm.xjgywxt.dsjMgsjlx"
style="width: 100%"
placeholder="请输入敏感数据类型"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="硬件资源">
<el-input
v-model="ruleForm.xjgywxt.dsjYjzy"
style="width: 100%"
placeholder="请输入硬件资源"
>
<template slot="append">支持G\TB\PB</template>
</el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="系统数据量">
<el-input
v-model="ruleForm.xjgywxt.dsjXtsjl"
style="width: 100%"
placeholder="请输入系统数据量"
>
<template slot="append">支持G\TB\PB</template>
</el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="机房联系人">
<el-input
v-model="ruleForm.xjgywxt.dsjJflxr"
style="width: 100%"
placeholder="请输入机房联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
label="机房联系人电话"
prop="xjgywxt.dsjJflxrdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.xjgywxt.dsjJflxrdh"
style="width: 100%"
placeholder="请输入机房联系人电话"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="是否数据审计">
<el-select
v-model="ruleForm.xjgywxt.dsjSfsjsj"
placeholder="请选择是否数据审计"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-if="ruleForm.xjgywxt.remark == 3">
<!-- 一般物联网设备 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">一般物联网设备</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="系统集成商名称">
<el-input
v-model="ruleForm.xjgywxt.wlwsbXtjcs"
style="width: 100%"
placeholder="请输入系统集成商名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="用户数量">
<el-input
v-model="ruleForm.xjgywxt.wlwsbYhsl"
style="width: 100%"
placeholder="请输入用户数量"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="服务对象">
<el-select
v-model="ruleForm.xjgywxt.wlwsbFwdx"
placeholder="请选择服务对象"
>
<el-option
v-for="dict in wlw_fwdx"
4 weeks ago
: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="8">
<el-form-item label="终端数量">
<el-input
v-model="ruleForm.xjgywxt.wlwsbZdsl"
style="width: 100%"
placeholder="请输入终端数量"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="网络互连情况">
<el-select
v-model="ruleForm.xjgywxt.wlwsbWlhlqk"
placeholder="请选择网络互连情况"
>
<el-option
v-for="dict in wlw_wlhlqk"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="联系人">
<el-input
v-model="ruleForm.xjgywxt.wlwsbLxr"
style="width: 100%"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="服务范围">
<el-select
v-model="ruleForm.xjgywxt.wlwsbFwfw"
placeholder="请选择服务范围"
>
<el-option
v-for="dict in wlw_fwfw"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
label="联系人电话"
prop="xjgywxt.wlwsbLxrdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.xjgywxt.wlwsbLxrdh"
style="width: 100%"
placeholder="请输入联系人电话"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="服务内容">
<el-input
v-model="ruleForm.xjgywxt.wlwsbFwnr"
style="width: 100%"
placeholder="请输入服务内容"
></el-input>
</el-form-item>
</el-col>
</el-row>
<!-- 摄像头 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">摄像头</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="摄像头品牌">
<el-input
v-model="ruleForm.xjgywxt.sxtPp"
style="width: 100%"
placeholder="请输入摄像头品牌"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="位置">
<el-input
v-model="ruleForm.xjgywxt.sxtWz"
style="width: 100%"
placeholder="请输入位置"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="摄像头IP">
<el-input
v-model="ruleForm.xjgywxt.sxtIp"
style="width: 100%"
placeholder="请输入摄像头IP"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="区域">
<el-input
v-model="ruleForm.xjgywxt.sxtQy"
style="width: 100%"
placeholder="请输入区域"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="摄像头数量">
<el-input
v-model="ruleForm.xjgywxt.sxtSl"
style="width: 100%"
placeholder="请输入摄像头数量"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="端口">
<el-input
v-model="ruleForm.xjgywxt.sxtDk"
style="width: 100%"
placeholder="请输入端口"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="设备型号">
<el-input
v-model="ruleForm.xjgywxt.sxtSbxh"
style="width: 100%"
placeholder="请输入设备型号"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="固定版本">
<el-input
v-model="ruleForm.xjgywxt.sxtGdbb"
style="width: 100%"
placeholder="请输入固定版本"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-if="ruleForm.xjgywxt.remark == 4">
<!-- 移动APP -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">移动APP</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="移动APP系统">
<el-input
v-model="ruleForm.xjgywxt.appXt"
style="width: 100%"
placeholder="请输入移动APP系统"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="服务端域名">
<el-input
v-model="ruleForm.xjgywxt.appYm"
style="width: 100%"
placeholder="请输入服务端域名"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="移动APP渠道">
<el-input
v-model="ruleForm.xjgywxt.appQd"
style="width: 100%"
placeholder="请输入移动APP渠道"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="服务端IP">
<el-input
v-model="ruleForm.xjgywxt.appIp"
style="width: 100%"
placeholder="请输入服务端IP"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="联系人">
<el-input
v-model="ruleForm.xjgywxt.appLxr"
style="width: 100%"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
label="联系人电话"
prop="xjgywxt.appLxrdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.xjgywxt.appLxrdh"
style="width: 100%"
placeholder="请输入联系人电话"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="是否有身份认证">
<el-select
v-model="ruleForm.xjgywxt.appSfysfrz"
placeholder="请选择是否有身份认证"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-if="ruleForm.xjgywxt.remark == 5">
<!-- 工业控制 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">工业控制</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="系统集成商名称">
<el-input
v-model="ruleForm.xjgywxt.gykzJcs"
style="width: 100%"
placeholder="请输入系统集成商名称"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="运行时间">
<el-date-picker
v-model="ruleForm.xjgywxt.gykzYxsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="服务对象">
<el-select
v-model="ruleForm.xjgywxt.gykzFwdx"
placeholder="请选择服务对象"
>
<el-option
v-for="dict in wlw_fwdx"
4 weeks ago
: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="8" style="">
4 weeks ago
<el-form-item label="集成商国内外情况">
<el-input
v-model="ruleForm.xjgywxt.gykzJcsqk"
style="width: 100%"
placeholder="请输入集成商国内外情况"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="网络互联情况">
<el-select
v-model="ruleForm.xjgywxt.gykzWlhxqk"
placeholder="请选择网络互联情况"
>
<el-option
v-for="dict in wlw_wlhlqk"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="联系人">
<el-input
v-model="ruleForm.xjgywxt.gykzLxr"
style="width: 100%"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="服务范围">
<el-select
v-model="ruleForm.xjgywxt.gykzFwfw"
placeholder="请选择服务范围"
>
<el-option
v-for="dict in wlw_fwfw"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
label="联系人电话"
prop="xjgywxt.gykzLxrdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.xjgywxt.gykzLxrdh"
style="width: 100%"
placeholder="请输入联系人电话"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="设备名称">
<el-input
v-model="ruleForm.xjgywxt.gykzSbmc"
style="width: 100%"
placeholder="请输入设备名称"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="设备品牌">
<el-input
v-model="ruleForm.xjgywxt.gykzSbpp"
style="width: 100%"
placeholder="请输入设备品牌"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="设备类别">
<el-input
v-model="ruleForm.xjgywxt.gykzSblb"
style="width: 100%"
placeholder="请输入设备类别"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="运营商">
<el-input
v-model="ruleForm.xjgywxt.gykzYys"
style="width: 100%"
placeholder="请输入运营商"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="互联网IP">
<el-input
v-model="ruleForm.xjgywxt.gykzHlwIp"
style="width: 100%"
placeholder="请输入互联网IP"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="网络层级">
<el-input
v-model="ruleForm.xjgywxt.gykzWlcj"
style="width: 100%"
placeholder="请输入网络层级"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="控制台IP">
<el-input
v-model="ruleForm.xjgywxt.gykzKztIp"
style="width: 100%"
placeholder="请输入控制台IP"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="描述">
<el-input
v-model="ruleForm.xjgywxt.gykzMs"
style="width: 100%"
placeholder="请输入描述"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<div v-if="ruleForm.xjgywxt.remark == 6">
<!-- CDN信息 -->
<el-row style="margin: 10px 0">
<span class="top-title-two-box">CDN信息</span>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="CDN供应商">
<el-input
v-model="ruleForm.xjgywxt.cdnGys"
style="width: 100%"
placeholder="请输入CDN供应商"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="CDN是否使用">
<el-select
v-model="ruleForm.xjgywxt.cdnSfsy"
placeholder="请选择CDN是否使用"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="CDN类型">
<el-input
v-model="ruleForm.xjgywxt.cdnLx"
style="width: 100%"
placeholder="请输入CDN类型"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="CDN域名">
<el-input
v-model="ruleForm.xjgywxt.cdnYm"
style="width: 100%"
placeholder="请输入CDN域名"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item label="联系人">
<el-input
v-model="ruleForm.xjgywxt.cdnLxr"
style="width: 100%"
placeholder="请输入联系人"
></el-input>
</el-form-item>
</el-col>
<el-col :span="8" style="">
4 weeks ago
<el-form-item
label="联系人电话"
prop="xjgywxt.cdnLxrdh"
:rules="[
{
pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/,
4 weeks ago
message: '请输入正确的手机号码',
trigger: 'blur',
},
]"
>
<el-input
v-model="ruleForm.xjgywxt.cdnLxrdh"
style="width: 100%"
placeholder="请输入联系人电话"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="8">
<el-form-item label="CDN加速信息">
<el-input
v-model="ruleForm.xjgywxt.cdnJsxx"
style="width: 100%"
placeholder="请输入CDN加速信息"
></el-input>
</el-form-item>
</el-col>
</el-row>
</div>
<!-- Whois信息 -->
<el-row style="margin: 10px 0">
<span class="top-title-box">Whois信息</span>
</el-row>
<el-row>
<el-form-item label="有效性质">
<el-radio-group v-model="ruleForm.whoisYxx">
<el-radio label="1"></el-radio>
<el-radio label="2"></el-radio>
</el-radio-group>
</el-form-item>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="注册名">
<el-input
v-model="ruleForm.whoisZcm"
placeholder="请输入注册名"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item label="服务商">
<el-input
v-model="ruleForm.whoisFws"
placeholder="请输入服务商"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item
label="注册邮箱"
prop="whoisZcyx"
:rules="[
{
type: 'email',
message: '请输入正确的邮箱地址',
trigger: ['blur', 'change'],
},
]"
>
<el-input
v-model="ruleForm.whoisZcyx"
placeholder="请输入注册邮箱"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item label="注册国家">
<el-input
v-model="ruleForm.whoisZcgj"
placeholder="请输入注册国家"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="注册省">
<el-input
v-model="ruleForm.whoisZcs"
placeholder="请输入注册省"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item label="注册地址">
<el-input
v-model="ruleForm.whoisZcdz"
placeholder="请输入注册地址"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="注册机构">
<el-input
v-model="ruleForm.whoisZcjg"
placeholder="请输入注册机构"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item label="注册时间">
<el-date-picker
v-model="ruleForm.whoisZcsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex">
<el-col :span="12">
<el-form-item label="最后更新时间">
<el-date-picker
v-model="ruleForm.whoisZhgxsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12" style="">
4 weeks ago
<el-form-item label="到期时间">
<el-date-picker
v-model="ruleForm.whoisDqsj"
type="date"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"
placeholder="选择日期"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<!-- 数据资产 -->
<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; width: 100%">
4 weeks ago
<el-col :span="12">
<el-form-item
label="数据库名称"
:prop="`sjzcList[${dataIndex}].sjzcSjkmc`"
:rules="rules.bwk"
>
4 weeks ago
<el-input
v-model="dataItem.sjzcSjkmc"
:placeholder="'请输入数据库名称' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
label="数据库类型"
:prop="`sjzcList[${dataIndex}].sjzcSjklx`"
:rules="rules.bwk"
>
<!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> -->
4 weeks ago
<el-select
v-model="dataItem.sjzcSjklx"
:placeholder="'请选择数据库类型' + (dataIndex + 1)"
>
<el-option
v-for="dict in database_type"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="12">
<el-form-item
label="端口"
:prop="`sjzcList[${dataIndex}].sjzcDk`"
:rules="rules.bwk"
>
4 weeks ago
<el-input
v-model="dataItem.sjzcDk"
:placeholder="'请输入端口' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
label="数据库版本"
:prop="`sjzcList[${dataIndex}].sjzcSjkbb`"
:rules="rules.bwk"
>
4 weeks ago
<el-input
v-model="dataItem.sjzcSjkbb"
:placeholder="'请输入数据库版本' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="12">
<el-form-item
label="数据库所在IP"
:prop="`sjzcList[${dataIndex}].sjzcSjkIp`"
:rules="rules.bwk"
>
4 weeks ago
<el-input
v-model="dataItem.sjzcSjkIp"
:placeholder="'请输入数据库所在IP' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
label="共享属性"
:prop="`sjzcList[${dataIndex}].sjzcGxsx`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
v-model="dataItem.sjzcGxsx"
:placeholder="'请选择共享属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in sjzc_gxsx"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="12">
<el-form-item
label="开放属性"
:prop="`sjzcList[${dataIndex}].sjzcKfsx`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
v-model="dataItem.sjzcKfsx"
:placeholder="'请选择开放属性' + (dataIndex + 1)"
>
<el-option
v-for="dict in sjzc_kfsx"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
label="数据领域"
:prop="`sjzcList[${dataIndex}].sjzcSjly`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
v-model="dataItem.sjzcSjly"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in sjzc_sjly"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="12">
<el-form-item
label="更新周期"
:prop="`sjzcList[${dataIndex}].sjzcGxzq`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
v-model="dataItem.sjzcGxzq"
:placeholder="'请选择数据领域' + (dataIndex + 1)"
>
<el-option
v-for="dict in sjzc_gxzq"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
label="数据类型"
:prop="`sjzcList[${dataIndex}].sjzcSjlx`"
:rules="rules.bwk"
>
<!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型">
<el-option
v-for="dict in sjzc_gxzq"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select> -->
4 weeks ago
<el-input
:placeholder="'请输入数据类型' + (dataIndex + 1)"
v-model="dataItem.sjzcSjlx"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="12">
<el-form-item
label="数据量"
:prop="`sjzcList[${dataIndex}].sjzcSjl`"
:rules="rules.bwk"
>
4 weeks ago
<el-input
type="number"
v-model="dataItem.sjzcSjl"
:placeholder="'请输入数据量' + (dataIndex + 1)"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
label="数据量单位"
:prop="`sjzcList[${dataIndex}].sjzcSjldw`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
v-model="dataItem.sjzcSjldw"
:placeholder="'请选择数据量单位' + (dataIndex + 1)"
>
<el-option
v-for="dict in sjzc_sjldw"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="12">
<el-form-item
label="数据是否出境"
:prop="`sjzcList[${dataIndex}].sjzcCj`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
v-model="dataItem.sjzcCj"
:placeholder="'请选择数据是否出境' + (dataIndex + 1)"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
label="数据分级分类"
:prop="`sjzcList[${dataIndex}].sjzcSjfjfl`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
v-model="dataItem.sjzcSjfjfl"
:placeholder="'请选择数据分级分类' + (dataIndex + 1)"
>
<el-option
v-for="dict in sjzc_sjfjfl"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="12">
<el-form-item
label="数据重要程度"
:prop="`sjzcList[${dataIndex}].sjzcSjzycd`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
v-model="dataItem.sjzcSjzycd"
:placeholder="'请选择数据重要程度' + (dataIndex + 1)"
>
<el-option
v-for="dict in zc_xtzyx"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
label="是否涉密数据"
:prop="`sjzcList[${dataIndex}].sjzcSmsj`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
v-model="dataItem.sjzcSmsj"
:placeholder="'请选择是否涉密数据' + (dataIndex + 1)"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row style="display: flex; width: 100%">
4 weeks ago
<el-col :span="24">
<el-form-item
label="数据描述"
:prop="`sjzcList[${dataIndex}].sjzcSjms`"
:rules="rules.bwk"
>
4 weeks ago
<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; width: 100%">
4 weeks ago
<el-col :span="12">
<el-form-item
label="是否涉及个人信息"
:prop="`sjzcList[${dataIndex}].sfsjgrxx`"
:rules="rules.bwk"
>
4 weeks ago
<el-select
@change="changeSfsjgrxx(dataIndex)"
4 weeks ago
v-model="dataItem.sfsjgrxx"
:placeholder="'请填写是否涉及个人信息' + (dataIndex + 1)"
>
<el-option
v-for="dict in is_no"
4 weeks ago
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12" style="">
<el-form-item
label="个人信息数据量"
:prop="`sjzcList[${dataIndex}].grxxsjl`"
:rules="rules.bwk"
>
4 weeks ago
<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>
4 weeks ago
</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> -->
<span class="top-title-box">
<span style="color: #ff4949; font-size: 16px">*</span>
业务系统拓扑图
<span style="color: #ff4949; font-size: 13px; font-weight: 400"
>提示附件/图片请至少选择一项</span
>
</span>
4 weeks ago
</el-row>
<el-row style="margin: 20px 0">
<el-form-item :required="false" prop="ywxttpwj">
<myUpload
4 weeks ago
:fileSize="30"
:limit="1"
:fileType="accept"
v-model="ruleForm.ywxttpwj"
>
<div class="upload-file">
<i class="el-icon-paperclip"></i>
4 weeks ago
<span
>附件上传支持xlsxlsxdocdocxpdfrarzippcaptxt最多上传1个文件每个不超过30M</span
>
</div>
</myUpload>
4 weeks ago
</el-form-item>
</el-row>
<el-row style="margin: 20px 0">
<el-form-item prop="ywxttpt" :required="false">
<myUpload
4 weeks ago
:fileSize="30"
:limit="1"
:fileType="acceptTwo"
v-model="ruleForm.ywxttpt"
>
<div class="upload-file">
<i class="el-icon-paperclip"></i>
4 weeks ago
<span
>图片上传支持jpgjpegpng最多上传1张图片每个不超过30M</span
>
</div>
</myUpload>
4 weeks ago
</el-form-item>
</el-row>
<el-row style="margin: 10px 0" v-if="ruleForm.bfyy">
4 weeks ago
<span class="top-title-box">关停原因</span>
</el-row>
<el-row style="margin: 20px 0">
<el-form-item>
<div>{{ ruleForm.bfyy }}</div>
</el-form-item>
</el-row>
</div>
<el-row
style="margin: 10px 0; padding-bottom: 50px; text-align: center"
v-if="(pageType === 'change' || pageType === 'add') && !audit"
4 weeks ago
>
<el-button type="danger" @click="sendBack"></el-button>
<el-button type="primary" @click="newAssets" :loading="loading"
>提交</el-button
>
</el-row>
<el-row
style="margin: 10px 0; padding-bottom: 50px; text-align: center"
v-if="audit"
>
<el-button type="danger" :disabled="false" @click="btnReject"
>不通过</el-button
>
<el-button
type="primary"
:disabled="false"
@click="btnPass"
:loading="loading"
>通过</el-button
4 weeks ago
>
</el-row>
</el-form>
<el-row
style="margin: 10px 0; padding-bottom: 50px; text-align: center"
v-if="pageType === 'look'"
>
<el-button type="primary" @click="sendBack"></el-button>
</el-row>
4 weeks ago
</div>
</div>
<my-dialog
title="提示"
ref="liebiaoDialog"
class="taskDialogBox"
width="40%"
>
<el-row>
<el-col :span="21">
<el-form
:model="dialogruleForm"
:rules="dialogruleFormrules"
ref="dialogruleForm"
label-width="100px"
>
<el-form-item label="不通过原因:" prop="auditYy">
<el-input
v-model="dialogruleForm.auditYy"
placeholder="请输入不通过原因"
></el-input>
</el-form-item>
<el-form-item class="newTask-form-item">
<el-button @click="resetForm('dialogruleForm')"></el-button>
<el-button type="primary" @click="submitForm('dialogruleForm')"
>确定</el-button
>
</el-form-item>
</el-form>
</el-col>
<el-col :span="6"></el-col>
</el-row>
</my-dialog>
4 weeks ago
</div>
</template>
<script setup>
import { ref, reactive, onMounted, computed, nextTick } from "vue";
import { useRoute, useRouter } from "vue-router";
import { ElMessage } from "element-plus";
import { useDict } from "@/utils/dict";
4 weeks ago
import {
assetUnitData,
assetInfo,
unitAllList,
unitEdit,
assetAudit,
lookInfo,
4 weeks ago
} from "@/api/auditPagesApi/index";
import myUpload from "@/views/components/myUpload/index.vue";
import myDialog from "@/views/components/myDialog/index.vue";
import useUserStore from "@/store/modules/user";
const route = useRoute();
const router = useRouter();
// 从路由参数中获取数据
const pageType = ref(route.query.pageType);
const id = ref(route.query.id);
const audit = ref(route.query.audit);
const isModdle = ref(route.query.isModdle);
const name = ref(route.query.name);
const queryData = ref(route.query.queryData);
// 数据字典
4 weeks ago
const {
zc_hlwkfyt,
4 weeks ago
is_no,
sb_ip,
4 weeks ago
zc_xtzyx,
zc_xtlx,
4 weeks ago
zc_xtzt,
zc_zxzt,
zc_c_i_a,
zc_yhgm,
zc_xtbsfs,
dwlx,
dbxx_dbdj,
dbxx_zjps,
sf_cpszsdj,
xtfhqk_fcg,
xtfhqk_fxl,
xtfhqk_fzd,
xtfhqk_fls,
4 weeks ago
fgfw,
wlxz,
4 weeks ago
ywlx,
hlqk,
fwdx,
fwfw,
wlw_fwdx,
wlw_wlhlqk,
wlw_fwfw,
database_type,
sjzc_gxsx,
sjzc_kfsx,
sjzc_sjly,
sjzc_gxzq,
4 weeks ago
sjzc_sjldw,
sjzc_sjfjfl,
4 weeks ago
} = useDict(
"zc_hlwkfyt",
4 weeks ago
"is_no",
"sb_ip",
4 weeks ago
"zc_xtzyx",
"zc_xtlx",
4 weeks ago
"zc_xtzt",
"zc_zxzt",
"zc_c_i_a",
"zc_yhgm",
"zc_xtbsfs",
"dwlx",
"dbxx_dbdj",
"dbxx_zjps",
"sf_cpszsdj",
"xtfhqk_fcg",
"xtfhqk_fxl",
"xtfhqk_fzd",
"xtfhqk_fls",
4 weeks ago
"fgfw",
"wlxz",
"ywlx",
"hlqk",
"fwdx",
"fwfw",
"wlw_fwdx",
"wlw_wlhlqk",
"wlw_fwfw",
"database_type",
"sjzc_gxsx",
"sjzc_kfsx",
"sjzc_sjly",
"sjzc_gxzq",
"sjzc_sjldw",
"sjzc_sjfjfl"
4 weeks ago
);
// 表单验证规则
const rules = reactive({
xtmc: [
{
required: true,
validator: (rule, value, callback) => {
if (!value) {
callback(new Error("请输入"));
} else {
callback();
}
},
trigger: "blur",
},
],
dwmc: [
{
required: true,
validator: (rule, value, callback) => {
if (!value) {
callback(new Error("请输入"));
} else {
callback();
}
},
trigger: "blur",
},
],
hlwkfyt: [{ required: true, message: "请输入", trigger: "blur" }],
ipAddress: [{ required: true, message: "请输入", trigger: "blur" }],
ipPort: [{ required: true, message: "请输入", trigger: "blur" }],
isZjhlwip: [{ required: true, message: "请输入", trigger: "blur" }],
gjxt: [{ required: true, message: "请输入", trigger: "blur" }],
xtlx: [{ required: true, message: "请输入", trigger: "blur" }],
jfxx: [{ required: true, message: "请输入", trigger: "blur" }],
sysj: [{ required: true, message: "请输入", trigger: "blur" }],
hlwxt: [{ required: true, message: "请输入", trigger: "blur" }],
xtzt: [{ required: true, message: "请输入", trigger: "blur" }],
yhgm: [{ required: true, message: "请输入", trigger: "blur" }],
hlwjryys: [{ required: true, message: "请输入", trigger: "blur" }],
zcwljrdz: [{ required: true, message: "请输入", trigger: "blur" }],
bsypt: [{ required: true, message: "请输入", trigger: "blur" }],
xtbsfs: [{ required: true, message: "请输入", trigger: "blur" }],
dgzkf: [{ required: true, message: "请输入", trigger: "blur" }],
xgywYwms: [{ required: true, message: "请输入", trigger: "blur" }],
fgfzrxm: [{ required: true, message: "请输入", trigger: "blur" }],
fgfzrlxfs: [
{
required: true,
validator: (rule, value, callback) => {
const reg = /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/;
if (!value) {
callback(new Error("请输入联系方式"));
} else if (!reg.test(value)) {
callback(new Error("请输入正确的手机号码"));
} else {
callback();
}
},
trigger: "blur",
},
],
fgfzryx: [
{
validator: (rule, value, callback) => {
const reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
if (!value) {
callback();
} else if (!reg.test(value)) {
callback(new Error("请输入正确的邮箱地址"));
} else {
callback();
}
},
trigger: "blur",
},
],
bmfzrxm: [{ required: true, message: "请输入", trigger: "blur" }],
bmfzrlxfs: [
{
required: true,
validator: (rule, value, callback) => {
const reg = /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/;
if (!value) {
callback(new Error("请输入联系方式"));
} else if (!reg.test(value)) {
callback(new Error("请输入正确的手机号码"));
} else {
callback();
}
},
trigger: "blur",
},
],
bmfzryx: [
{
validator: (rule, value, callback) => {
const reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
if (!value) {
callback();
} else if (!reg.test(value)) {
callback(new Error("请输入正确的邮箱地址"));
} else {
callback();
}
},
trigger: "blur",
},
],
dylxrxm: [{ required: true, message: "请输入", trigger: "blur" }],
dylxrlxfs: [
{
required: true,
validator: (rule, value, callback) => {
const reg = /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/;
if (!value) {
callback(new Error("请输入联系方式"));
} else if (!reg.test(value)) {
callback(new Error("请输入正确的手机号码"));
} else {
callback();
}
},
trigger: "blur",
},
],
dylxryx: [
{
validator: (rule, value, callback) => {
const reg = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/;
if (!value) {
callback();
} else if (!reg.test(value)) {
callback(new Error("请输入正确的邮箱地址"));
} else {
callback();
}
},
trigger: "blur",
},
],
ipcSfba: [{ required: true, message: "请输入", trigger: "blur" }],
gajgSfba: [{ required: true, message: "请输入", trigger: "blur" }],
xtjgKfs: [{ required: true, message: "请输入", trigger: "blur" }],
xtjgXtbb: [{ required: true, message: "请输入", trigger: "blur" }],
xtjgJsjg: [{ required: true, message: "请输入", trigger: "blur" }],
xtjgFwzj: [{ required: true, message: "请输入", trigger: "blur" }],
xtjgWebMc: [{ required: true, message: "请输入", trigger: "blur" }],
xtjgWebBb: [{ required: true, message: "请输入", trigger: "blur" }],
xtjgGcxt: [{ required: true, message: "请输入", trigger: "blur" }],
xtjgGcsb: [{ required: true, message: "请输入", trigger: "blur" }],
dbxxSfdbxt: [{ required: true, message: "请输入", trigger: "blur" }],
bwk: [{ required: true, message: "请输入", trigger: "blur" }],
ywxttpt: [{ required: true, message: "请上传", trigger: "change" }],
ywxttpwj: [{ required: true, message: "请上传", trigger: "change" }],
xgywFgfw: [{ required: true, message: "请填写", trigger: "change" }],
xgywWlxz: [{ required: true, message: "请填写", trigger: "change" }],
xgywYwlx: [{ required: true, message: "请填写", trigger: "change" }],
xgywHlqk: [{ required: true, message: "请填写", trigger: "change" }],
xgywFwdx: [{ required: true, message: "请填写", trigger: "change" }],
xgywFwfw: [{ required: true, message: "请填写", trigger: "change" }],
sjzcSjms: [{ required: true, message: "请填写", trigger: "blur" }],
});
// Template refs
const ruleFormRef = ref(null);
const liebiaoDialog = ref(null);
// State
4 weeks ago
const select = ref("http");
const isMore = ref(false);
4 weeks ago
const disabled = ref(false);
const loading = ref(false);
4 weeks ago
const dlwz = ref([]);
const xttz = ref([]);
const xtfhqkFcg = ref([]);
const xtfhqkFxl = ref([]);
const xtfhqkFzd = ref([]);
const xtfhqkFls = ref([]);
// File upload accept types
const accept = [
"xls",
"xlsx",
"doc",
"docx",
"pdf",
"rar",
"zip",
"pcap",
"txt",
];
4 weeks ago
const acceptTwo = ["jpg", "jpeg", "png"];
4 weeks ago
// Form props
const formProps = {
value: "value",
label: "value",
checkStrictly: true,
};
// Form data
4 weeks ago
const ruleForm = reactive({
sjzcList: [
{
grxxsjl: 0,
4 weeks ago
sjzcSjkmc: "",
sjzcSjklx: "",
},
],
xjgywxt: {
remark: "",
},
glymList: [
{
key: "",
},
],
glIpList: [
{
key: "",
},
],
gylxxList: [],
jcwlList: [],
otherConcat: [],
type: [],
chepingUnit: [
{
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 1,
},
],
yjgysUnit: [
{
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 2,
},
],
jfywUnit: [
{
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 3,
},
],
xtsjUnit: [
{
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 4,
},
],
xtjsUnit: [
{
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 5,
},
],
xtyyUnit: [
{
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 7,
},
],
aqfwUnit: [
{
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 6,
},
],
fwqxx: [
{
4 weeks ago
sblx: "",
pp: "",
ipType: "",
sbIP: "",
czxx: "",
czxxbb: "",
yjxh: "",
yjxlh: "",
yjbbxx: "",
yjyt: "",
yjbswz: "",
type: 1,
},
],
wlsb: [
{
4 weeks ago
sblx: "",
pp: "",
ipType: "",
sbIP: "",
czxx: "",
czxxbb: "",
yjxh: "",
yjxlh: "",
yjbbxx: "",
yjyt: "",
yjbswz: "",
type: 2,
},
],
aqsb: [
{
4 weeks ago
sblx: "",
pp: "",
ipType: "",
sbIP: "",
czxx: "",
czxxbb: "",
yjxh: "",
yjxlh: "",
yjbbxx: "",
yjyt: "",
yjbswz: "",
type: 3,
},
],
});
// Dialog form data
const dialogruleForm = reactive({
auditYy: "",
});
const dialogruleFormrules = reactive({
auditYy: [{ required: true, message: "请输入", trigger: "blur" }],
});
// Computed properties
const nickName = computed(() => useUserStore.nickName);
// Methods
const changeSfsjgrxx = (index) => {
if (ruleForm.sjzcList[index].sfsjgrxx != 1) {
ruleForm.sjzcList[index].grxxsjl = 0;
} else {
ruleForm.sjzcList[index].grxxsjl = "";
}
};
const addSjzcList = () => {
ruleForm.sjzcList.push({
sjzcSjkmc: "",
sjzcSjklx: "",
grxxsjl: 0,
});
};
const removeSjzcList = (index) => {
ruleForm.sjzcList.splice(index, 1);
};
const changeState = (e) => {
if (e != 5) {
ruleForm.bfyy = "";
}
};
// Form validation methods
const validateName = (rule, value, callback) => {
if (!ruleForm.ywxttpwj && !ruleForm.ywxttpt) {
callback(new Error("附件,图片请任意上传一项"));
} else {
if (!ruleForm.ywxttpwj || !ruleForm.ywxttpt) {
nextTick(() => {
ruleFormRef.value?.clearValidate("ywxttpwj");
ruleFormRef.value?.clearValidate("ywxttpt");
});
}
callback();
}
};
const changeSateTetx = (rule, value, callback) => {
if (ruleForm.xtzt == 5 && !value) {
callback(new Error("请填写"));
} else {
callback();
}
};
const changeSjzcList = (rule, value, callback) => {
if (value.length > 0) {
let sum = 0;
value.forEach((item) => {
if (hasEmptyValues(item)) {
sum++;
}
4 weeks ago
});
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];
if (value === null || value === undefined) {
return true;
}
if (typeof value === "string" && value.trim() === "") {
return true;
}
}
}
return false;
};
// API methods
const getInfo = async (id) => {
try {
const response = await assetInfo(id);
console.log(response);
if (response.code === 200) {
Object.assign(ruleForm, response.data);
if (!ruleForm.xjgywxt) {
ruleForm.xjgywxt = { remark: "" };
}
if (ruleForm.fwwz) {
const [protocol, ...rest] = ruleForm.fwwz.split("-");
select.value = protocol;
ruleForm.fwwz = rest.join("-");
}
if (!ruleForm.glymList?.length) {
ruleForm.glymList = [{ key: "" }];
}
if (!ruleForm.glIpList?.length) {
ruleForm.glIpList = [{ key: "" }];
}
if (ruleForm.xttz) {
xttz.value = ruleForm.xttz.split(",");
}
// Process supply chain units
const processUnits = (list, type, defaultUnit) => {
const filtered = (list || []).filter((item) => item.type === type);
return filtered.length ? filtered : [defaultUnit];
};
ruleForm.chepingUnit = processUnits(ruleForm.gylxxList, 1, {
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 1,
});
ruleForm.yjgysUnit = processUnits(ruleForm.gylxxList, 2, {
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 2,
});
// Process network devices
const processDevices = (list, type, defaultDevice) => {
const filtered = (list || []).filter((item) => item.type === type);
return filtered.length ? filtered : [defaultDevice];
};
ruleForm.fwqxx = processDevices(ruleForm.jcwlList, 1, {
sblx: "",
pp: "",
ipType: "",
sbIP: "",
czxx: "",
czxxbb: "",
yjxh: "",
yjxlh: "",
yjbbxx: "",
yjyt: "",
yjbswz: "",
type: 1,
});
const processProtection = (value) => (value ? value.split(",") : []);
xtfhqkFcg.value = processProtection(ruleForm.xtfhqkFcg);
xtfhqkFxl.value = processProtection(ruleForm.xtfhqkFxl);
xtfhqkFzd.value = processProtection(ruleForm.xtfhqkFzd);
xtfhqkFls.value = processProtection(ruleForm.xtfhqkFls);
// Process location
if (ruleForm.sheng) {
dlwz.value = [ruleForm.sheng];
if (ruleForm.shi) {
dlwz.value.push(ruleForm.shi);
if (ruleForm.qu) {
dlwz.value.push(ruleForm.qu);
}
}
}
nextTick(() => {
ruleFormRef.value?.clearValidate();
});
}
} catch (error) {
console.error("Error fetching asset info:", error);
}
};
onMounted(() => {
if (isModdle.value) {
console.log(pageType.value);
if (pageType.value == "look"&&audit.value==true) {
getInfoTwo(id.value);
disabled.value = true;
isMore.value = true;
nextTick(() => {
const inputElements = document.querySelectorAll(".el-input__inner");
const textareaInputElements = document.querySelectorAll(
".el-textarea__inner"
);
inputElements.forEach((input) => {
input.placeholder = "";
});
textareaInputElements.forEach((input) => {
input.placeholder = "";
});
});
} else if (pageType.value === "change") {
console.log(2)
getInfoTwo(id.value);
disabled.value = false;
isMore.value = true;
}
if (audit.value) {
disabled.value = true;
}
} else {
if (pageType.value === "look") {
getInfo(route.query.id);
disabled.value = true;
isMore.value = true;
nextTick(() => {
const inputElements = document.querySelectorAll(".el-input__inner");
const textareaInputElements = document.querySelectorAll(
".el-textarea__inner"
);
inputElements.forEach((input) => {
input.placeholder = "";
});
textareaInputElements.forEach((input) => {
input.placeholder = "";
});
});
} else if (pageType.value === "change") {
console.log(1.1)
getInfo(route.query.id);
disabled.value = false;
isMore.value = true;
}
if (audit.value) {
console.log(1.2)
disabled.value = true;
}
}
if (pageType.value === "add") {
ruleForm.dwmc = nickName.value;
isMore.value = true;
}
});
// Additional methods
const getInfoTwo = async (id) => {
try {
const response = await lookInfo(id);
if (response.code === 200) {
Object.assign(ruleForm, response.data);
if (!ruleForm.xjgywxt) {
ruleForm.xjgywxt = { remark: "" };
}
if (ruleForm.fwwz) {
const [protocol, ...rest] = ruleForm.fwwz.split("-");
select.value = protocol;
ruleForm.fwwz = rest.join("-");
}
if (!ruleForm.glymList?.length) {
ruleForm.glymList = [{ key: "" }];
}
if (!ruleForm.glIpList?.length) {
ruleForm.glIpList = [{ key: "" }];
}
if (ruleForm.xttz) {
xttz.value = ruleForm.xttz.split(",");
}
// Process units and devices
const processUnits = (list, type, defaultUnit) => {
const filtered = (list || []).filter((item) => item.type === type);
return filtered.length ? filtered : [defaultUnit];
};
if (ruleForm.gylxxList) {
ruleForm.chepingUnit = processUnits(ruleForm.gylxxList, 1, {
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 1,
});
ruleForm.yjgysUnit = processUnits(ruleForm.gylxxList, 2, {
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 2,
});
ruleForm.jfywUnit = processUnits(ruleForm.gylxxList, 3, {
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 3,
});
ruleForm.xtsjUnit = processUnits(ruleForm.gylxxList, 4, {
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 4,
});
ruleForm.xtjsUnit = processUnits(ruleForm.gylxxList, 5, {
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 5,
});
ruleForm.xtyyUnit = processUnits(ruleForm.gylxxList, 7, {
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 7,
});
ruleForm.aqfwUnit = processUnits(ruleForm.gylxxList, 6, {
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: 6,
});
}
if (ruleForm.jcwlList) {
const processDevices = (list, type, defaultDevice) => {
const filtered = (list || []).filter((item) => item.type === type);
return filtered.length ? filtered : [defaultDevice];
};
const defaultDevice = {
sblx: "",
pp: "",
ipType: "",
sbIP: "",
czxx: "",
czxxbb: "",
yjxh: "",
yjxlh: "",
yjbbxx: "",
yjyt: "",
yjbswz: "",
type: 1,
};
ruleForm.fwqxx = processDevices(ruleForm.jcwlList, 1, {
...defaultDevice,
type: 1,
});
ruleForm.wlsb = processDevices(ruleForm.jcwlList, 2, {
...defaultDevice,
type: 2,
});
ruleForm.aqsb = processDevices(ruleForm.jcwlList, 3, {
...defaultDevice,
type: 3,
});
}
// Process protection settings
const processProtection = (value) => (value ? value.split(",") : []);
xtfhqkFcg.value = processProtection(ruleForm.xtfhqkFcg);
xtfhqkFxl.value = processProtection(ruleForm.xtfhqkFxl);
xtfhqkFzd.value = processProtection(ruleForm.xtfhqkFzd);
xtfhqkFls.value = processProtection(ruleForm.xtfhqkFls);
// Process location
if (ruleForm.sheng) {
dlwz.value = [ruleForm.sheng];
if (ruleForm.shi) {
dlwz.value.push(ruleForm.shi);
if (ruleForm.qu) {
dlwz.value.push(ruleForm.qu);
}
}
}
4 weeks ago
nextTick(() => {
ruleFormRef.value?.clearValidate();
});
4 weeks ago
}
} catch (error) {
console.error("Error fetching asset info:", error);
4 weeks ago
}
};
const querySearchAsync = async (queryString, cb) => {
try {
const response = await unitAllList({ nickName: queryString });
const results = response.data.map((item) => ({
4 weeks ago
value: item.nickName,
id: item.id,
}));
cb(results);
} catch (error) {
console.error("Error searching units:", error);
4 weeks ago
cb([]);
}
};
const changeRadio = (id) => {
ruleForm.xjgywxt = { remark: id };
4 weeks ago
};
const addGongyinglian = (type, id) => {
ruleForm[type].push({
name: "",
tyshxydm: "",
lxr: "",
lxdh: "",
type: id,
remark: Date.now(),
});
};
const addServer = (type, id) => {
ruleForm[type].push({
4 weeks ago
sblx: "",
pp: "",
ipType: "",
sbIP: "",
czxx: "",
czxxbb: "",
yjxh: "",
yjxlh: "",
yjbbxx: "",
yjyt: "",
yjbswz: "",
type: id,
key: Date.now(),
});
};
const addForm = (type) => {
ruleForm[type].push({
key: "",
value: Date.now(),
});
};
const addOtherConcat = (type) => {
ruleForm[type].push({
qtlxrxm: "",
qtlxrlxfs: "",
qtlxryx: "",
key: Date.now(),
});
};
const removeDomain = (item, type) => {
const index = ruleForm[type].indexOf(item);
4 weeks ago
if (index !== -1) {
ruleForm[type].splice(index, 1);
}
};
const removeDomainOne = (item, type) => {
const index = ruleForm[type].indexOf(item);
4 weeks ago
if (index !== -1) {
ruleForm[type].splice(index, 1);
}
};
const yunpingtaiChange = (id) => {
if (id === 2) {
4 weeks ago
ruleForm.yfwsmc = "";
ruleForm.wzfwxy = "";
}
};
const xtbsfsChange = (id) => {
if (id === 3) {
4 weeks ago
ruleForm.yfws = "";
} else if (id === 4) {
4 weeks ago
ruleForm.tgdw = "";
} else {
ruleForm.yfws = "";
ruleForm.tgdw = "";
}
};
const sfbaICPChange = (id) => {
if (id === 2) {
4 weeks ago
ruleForm.ipcBayxx = "";
ruleForm.ipcBawzmc = "";
ruleForm.ipcBawzsy = "";
ruleForm.ipcIpcbabh = "";
ruleForm.ipcBaym = "";
ruleForm.ipcBadwmc = "";
ruleForm.ipcBadwxz = "";
ruleForm.ipcBalxr = "";
ruleForm.ipcBalxrdh = "";
ruleForm.shsj = "";
}
};
const sfbaGajgChange = (id) => {
if (id === 2) {
4 weeks ago
ruleForm.gajgBajg = "";
ruleForm.gajgBah = "";
ruleForm.gajgBarq = "";
}
};
const sfdbxtChange = (id) => {
if (id === 2) {
4 weeks ago
ruleForm.dbxxDbcpbah = "";
ruleForm.dbxxDbdj = "";
ruleForm.dbxxZgbm = "";
ruleForm.dbxxZjps = "";
ruleForm.dbxxZgbmps = "";
ruleForm.dbxxDjsj = "";
ruleForm.dbxxSfydsfcp = "";
ruleForm.dbxxCpdf = "";
}
};
const newAssets = async () => {
if (!ruleFormRef.value) return;
try {
await ruleFormRef.value.validate();
ruleForm.xttz = xttz.value.join(",");
ruleForm.xtfhqkFcg = xtfhqkFcg.value.join(",");
ruleForm.xtfhqkFxl = xtfhqkFxl.value.join(",");
ruleForm.xtfhqkFzd = xtfhqkFzd.value.join(",");
ruleForm.xtfhqkFls = xtfhqkFls.value.join(",");
ruleForm.gylxxList = [
...ruleForm.chepingUnit,
...ruleForm.yjgysUnit,
...ruleForm.jfywUnit,
...ruleForm.xtsjUnit,
...ruleForm.xtjsUnit,
...ruleForm.xtyyUnit,
...ruleForm.aqfwUnit,
];
ruleForm.jcwlList = [...ruleForm.fwqxx, ...ruleForm.wlsb, ...ruleForm.aqsb];
4 weeks ago
if (dlwz.value.length > 0) {
ruleForm.sheng = dlwz.value[0];
ruleForm.shi = dlwz.value[1];
ruleForm.qu = dlwz.value[2];
}
if (ruleForm.fwwz) {
ruleForm.fwwz = `${select.value}-${ruleForm.fwwz}`;
4 weeks ago
}
loading.value = true;
if (this.pageType == "change") {
assetUnitData("put", this.ruleForm).then((res) => {
// console.log(res,"res");
this.loading = false;
this.$modal.msgSuccess("修改成功");
// this.$router.go(-1);
this.$router.push({ name: "Assets", params: this.queryData });
});
} else {
assetUnitData("post", this.ruleForm).then((res) => {
// console.log(res,"res");
this.loading = false;
this.$modal.msgSuccess("新增成功");
this.$router.go(-1);
});
}
if (pageType.value === "change") {
const response = await unitEdit(ruleForm);
4 weeks ago
loading.value = false;
ElMessage.success("提交成功,待管理员审核通过后完成修改");
router.push({ name: name.value, params: queryData.value });
4 weeks ago
} else {
ruleForm.xzType = 1;
const response = await assetUnitData("post", ruleForm);
4 weeks ago
loading.value = false;
ElMessage.success("提交成功,待管理员审核通过后完成新增");
router.push({ name: name.value, params: queryData.value });
4 weeks ago
}
} catch (error) {
loading.value = false;
if (error.message) {
ElMessage.error(error.message);
} else {
ElMessage.error("请填写完整");
}
4 weeks ago
}
};
const sendBack = () => {
router.push({ name: name.value, params: queryData.value });
4 weeks ago
};
const btnReject = () => {
liebiaoDialog.value?.open();
};
4 weeks ago
const resetForm = () => {
dialogruleForm.auditYy = "";
liebiaoDialog.value?.close();
};
4 weeks ago
const submitForm = async (formName) => {
if (!ruleFormRef.value) return;
4 weeks ago
try {
await ruleFormRef.value.validate();
4 weeks ago
const auditData = {
auditState: "3",
auditYy: dialogruleForm.auditYy,
currentId: Number(id.value),
xzType: 1,
};
4 weeks ago
const response = await assetAudit(auditData);
if (response.code === 200) {
ElMessage.success("审核驳回");
router.push({ name: name.value, params: queryData.value });
}
} catch (error) {
console.error("Error submitting form:", error);
return false;
4 weeks ago
}
};
4 weeks ago
const btnPass = async () => {
loading.value = true;
try {
const response = await assetAudit({
currentId: Number(id),
auditState: "2",
xzType: 1,
dwmc: ruleForm.dwmc,
xtmc: ruleForm.xtmc,
});
4 weeks ago
ElMessage.success("审核通过");
router.push({ name: name.value, params: queryData.value });
} catch (error) {
console.error("Error passing audit:", error);
} finally {
loading.value = false;
4 weeks ago
}
};
</script>
<style lang="scss" scoped>
4 weeks ago
::v-deep .input-selct-slot {
.el-input-group__prepend {
width: 125px !important;
.el-select {
width: auto !important;
}
}
.el-input-group__append {
width: 130px;
background: transparent;
border: 0;
padding: 0;
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;
}
}
.more-button {
pointer-events: auto !important;
opacity: 1 !important;
cursor: pointer !important;
}
4 weeks ago
</style>