<template> <!-- 任务管理资产详情 --> <div class="L-assets-info"> <el-backtop target=".L-assets-info" /> <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"> <el-form :model="ruleForm" v-if="!loading" :rules="rules" ref="ruleForm" 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"> <el-input v-model="ruleForm.xtmc"></el-input> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="单位名称" required :rules="{ required: true, message: '请输入', trigger: 'blur' }" prop="dwmc"> <el-input v-model="ruleForm.dwmc"></el-input> </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> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="访问网址" class="fangwenwangzhi"> <el-row> <el-col :span="23"> <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> </el-select> <span class="wangzhispan">://</span> </template> </el-input> </el-col> <el-col :span="1"> <el-popover placement="top" width="250" trigger="hover"> <div>说明:请仔细填写访问地址,确保网站地址能被访问</div> <i slot="reference" class="el-icon-document-copy" style="margin-left: 5px;font-size: 16px;cursor: pointer;"></i> </el-popover> </el-col> </el-row> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="IpPort" required class="IpPort"> <el-row> <el-col :span="19"> <el-form-item prop="ipAddress" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <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> <el-col :span="4"> <el-form-item prop="ipPort" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <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="域名到期时间" class="yumingdaoqishijian"> <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="'关联域名' + (index == 0 ? '' : index)" v-for="(domain, index) in ruleForm.glymList" :key="domain.value" :prop="'glymList.' + index + '.glym'"> <el-row> <el-col :span="23"> <el-input v-model="domain.key" placeholder="请输入关联域名"></el-input> </el-col> <el-col :span="1" style="text-align: center;"> <i @click="addForm('glymList')" v-if="index == 0" class="el-icon-circle-plus-outline" style="margin-left: 5px;font-size: 16px;cursor: pointer;"></i> <i @click="removeDomainOne(domain, 'glymList')" v-else class="el-icon-remove-outline" style="margin-left: 5px;font-size: 16px;cursor: pointer;"></i> </el-col> </el-row> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="到期提醒人" class="daoqitixingren"> <el-row> <el-col :span="6"> <el-form-item prop="Ip"> <el-input v-model="ruleForm.ymtxrXm" style="width: 100%;" placeholder="请输入姓名"></el-input> </el-form-item> </el-col> <el-col :span="18" style="margin-left: 10px;"> <el-form-item prop="ymtxrLxfs" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, 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="'关联IP' + (index == 0 ? '' : index)" v-for="(domain, index) in ruleForm.glIpList" :key="domain.value" :prop="'glIpList.' + index + '.glIp'"> <el-row> <el-col :span="23"> <el-input v-model="domain.key" placeholder="请输入关联IP"></el-input> </el-col> <el-col :span="1" style="text-align: center;"> <i @click="addForm('glIpList')" v-if="index == 0" class="el-icon-circle-plus-outline" style="margin-left: 5px;font-size: 16px;cursor: pointer;"></i> <i @click="removeDomainOne(domain, 'glIpList')" v-else class="el-icon-remove-outline" style="margin-left: 5px;font-size: 16px;cursor: pointer;"></i> </el-col> </el-row> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="系统类型" required prop="xtlx" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.xtlx" placeholder="请选择系统类型"> <el-option v-for="dict in dict.type.zc_xtlx" :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.xtzyx" placeholder="请选择系统重要性"> <el-option v-for="dict in dict.type.zc_xtzyx" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="是否关基系统" required prop="gjxt" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.gjxt" placeholder="请选择是否关基系统"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> <el-form-item label="系统标签"> <el-select v-model="ruleForm.xtbq" placeholder="请选择系统标签"> <el-option label="区域一" value="shanghai"></el-option> <el-option label="区域二" value="beijing"></el-option> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="机房信息" required prop="jfxx" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <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' }"> <el-date-picker v-model="ruleForm.sysj" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" 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' }"> <el-select v-model="ruleForm.hlwxt" placeholder="请选择是否是互联网系统"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <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' }"> <el-select v-model="ruleForm.xtzt" placeholder="请选择系统状态"> <el-option v-for="dict in dict.type.zc_xtzt" :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="请选择在线状态"> <el-option v-for="dict in dict.type.zc_zxzt" :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-机密性"> <el-option v-for="dict in dict.type.zc_c_i_a" :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-完整性"> <el-option v-for="dict in dict.type.zc_c_i_a" :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-可用性"> <el-option v-for="dict in dict.type.zc_c_i_a" :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="请选择存活率"> <el-option v-for="dict in dict.type.zc_c_i_a" :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="props" :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> <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"> 大型网络平台 </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="请选择用户规模"> <el-option v-for="dict in dict.type.zc_yhgm" :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' }"> <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' }"> <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' }"> <el-select v-model="ruleForm.bsypt" @change="yunpingtaiChange" placeholder="请选择是否部署云平台"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row v-if="ruleForm.bsypt == 1"> <el-col :span="12"> <el-form-item label="云服务商名称" required prop="yfwsmc" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <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' }"> <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' }"> <el-select v-model="ruleForm.xtbsfs" placeholder="请选择系统部署方式"> <el-option v-for="dict in dict.type.zc_xtbsfs" :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' }"> <el-select v-model="ruleForm.dgzkf" placeholder="请选择是否对公众开放"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12" v-if="ruleForm.xtbsfs == 3"> <el-form-item label="托管单位" required prop="tgdw" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <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' }"> <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 dict.type.zc_hlwkfyt" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24" style="text-align: right;margin: 10px 0;" v-if="!isMore"> <el-button @click="isMore = true" :disabled="false">更多</el-button> </el-col> </el-row> <!-- 隐藏部分 --> <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> --> <el-checkbox v-for="dict in dict.type.xtfhqk_fcg" :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> --> <el-checkbox v-for="dict in dict.type.xtfhqk_fxl" :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> --> <el-checkbox v-for="dict in dict.type.xtfhqk_fzd" :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> --> <el-checkbox v-for="dict in dict.type.xtfhqk_fls" :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="覆盖范围"> <el-select v-model="ruleForm.xgywFgfw" placeholder="请选择覆盖范围"> <el-option v-for="dict in dict.type.fgfw" :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-select v-model="ruleForm.xgywWlxz" placeholder="请选择网络性质"> <el-option v-for="dict in dict.type.wlxz" :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.xgywYwlx" placeholder="请选择业务类型"> <el-option v-for="dict in dict.type.ywlx" :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-select v-model="ruleForm.xgywHlqk" placeholder="请选择互联网情况"> <el-option v-for="dict in dict.type.hlqk" :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.xgywFwdx" placeholder="请选择服务对象"> <el-option v-for="dict in dict.type.fwdx" :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-select v-model="ruleForm.xgywFwfw" placeholder="请选择服务范围"> <el-option v-for="dict in dict.type.fwfw" :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' }"> <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;"> <span class="top-title-box">联系人</span> <!-- 联系人的姓名/联系方式都是必填项, 邮箱不是 --> <el-row> <el-col :span="24"> <el-form-item label="分管责任人" required class="daoqitixingren"> <el-row> <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" style="margin-left: 10px;"> <el-form-item prop="fgfzrlxfs" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input v-model="ruleForm.fgfzrlxfs" style="width: 100%;" placeholder="请输入联系方式"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <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> <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" style="margin-left: 10px;"> <el-form-item prop="bmfzrlxfs" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input v-model="ruleForm.bmfzrlxfs" style="width: 100%;" placeholder="请输入联系方式"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <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> <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" style="margin-left: 10px;"> <el-form-item prop="dylxrlxfs" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input v-model="ruleForm.dylxrlxfs" style="width: 100%;" placeholder="请输入联系方式"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <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" style="margin-left: 10px;"> <el-form-item prop="phoneNumber"> <el-input v-model="domain.qtlxrlxfs" style="width: 100%;" placeholder="请输入联系方式"></el-input> </el-form-item> </el-col> <el-col :span="7" style="margin-left: 10px;"> <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;"> <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> <el-col :span="24"> <el-form-item prop="btn"> <el-button @click="addOtherConcat('otherConcat')">添加其他联系人</el-button> </el-form-item> </el-col> </el-row> </el-row> <!-- ICP备案 --> <el-row style="margin: 10px 0;"> <span class="top-title-box">ICP备案</span> </el-row> <el-row> <el-col :span="12"> <el-form-item label="是否备案" required prop="ipcSfba" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.ipcSfba" @change="sfbaICPChange" placeholder="请选择是否备案"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <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 dict.type.is_no" :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' }"> <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' }"> <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 dict.type.dwlx" :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|4|5|6|7|8|9][0-9]\d{8}$/, 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' }"> <el-select v-model="ruleForm.gajgSfba" @change="sfbaGajgChange" placeholder="请选择是否备案"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <!-- 公安机关备案信息 --> <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' }"> <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' }"> <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' }"> <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' }"> <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' }"> <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' }"> <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' }"> <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' }"> <el-select v-model="ruleForm.xtjgGcxt" placeholder="请选择是否国产化系统"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="是否有国产设备" required prop="xtjgGcsb" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.xtjgGcsb" placeholder="请选择是否有国产设备"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <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' }"> <el-select v-model="ruleForm.dbxxSfdbxt" @change="sfdbxtChange" placeholder="请选择是否等保系统"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <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' }"> <el-input v-model="ruleForm.dbxxDbcpbah" style="width: 100%;" placeholder="请输入等保测评备案号"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item label="等保等级" required prop="dbxxDbdj" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.dbxxDbdj" placeholder="请选择等保等级"> <el-option v-for="dict in dict.type.dbxx_dbdj" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px"> <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 dict.type.dbxx_zjps" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item label="主管部门评审"> <el-select v-model="ruleForm.dbxxZgbmps" placeholder="请选择主管部门评审"> <el-option v-for="dict in dict.type.dbxx_zjps" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px"> <el-form-item label="定级时间" required prop="dbxxDjsj" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <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' }"> <el-input v-model="ruleForm.dbxxCpdf" type="number" style="width: 100%;" placeholder="请输入测评得分"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item label="是否有第三方测评" required prop="dbxxSfydsfcp" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.dbxxSfydsfcp" placeholder="请选择是否有第三方测评"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> </div> <!-- 第三方测评 --> <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|4|5|6|7|8|9][0-9]\d{8}$/, 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|4|5|6|7|8|9][0-9]\d{8}$/, 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|4|5|6|7|8|9][0-9]\d{8}$/, 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 dict.type.sf_cpszsdj" :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 dict.type.dbxx_dbdj" :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> <!-- 密评信息 --> <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 dict.type.is_no" :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' }" :label="'测评单位名称' + (index == 0 ? '' : index)"> <el-input v-model="domain.name" placeholder="请输入测评单位名称"></el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :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" :label="'联系人' + (index == 0 ? '' : index)"> <el-input v-model="domain.lxr" placeholder="请输入联系人"></el-input> </el-form-item> </el-col> <el-col :span="11" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :label="'联系电话' + (index == 0 ? '' : index)" :prop="'chepingUnit.' + index + '.lxdh'" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{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;"> <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> <i @click="removeDomain(domain, 'chepingUnit')" 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.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="margin-left: 10px;"> <el-form-item class="daoqitixingren" :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" :label="'联系人' + (index == 0 ? '' : index)"> <el-input v-model="domain.lxr" placeholder="请输入联系人"></el-input> </el-form-item> </el-col> <el-col :span="11" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :label="'联系电话' + (index == 0 ? '' : index)" :prop="'yjgysUnit.' + index + '.lxdh'" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{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;"> <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> <i @click="removeDomain(domain, 'yjgysUnit')" 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.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="margin-left: 10px;"> <el-form-item class="daoqitixingren" :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" :label="'联系人' + (index == 0 ? '' : index)"> <el-input v-model="domain.lxr" placeholder="请输入联系人"></el-input> </el-form-item> </el-col> <el-col :span="11" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :label="'联系电话' + (index == 0 ? '' : index)" :prop="'jfywUnit.' + index + '.lxdh'" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{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;"> <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> <i @click="removeDomain(domain, 'jfywUnit')" 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.xtsjUnit" :key="domain.remark" :prop="'xtsjUnit.' + 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="margin-left: 10px;"> <el-form-item class="daoqitixingren" :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" :label="'联系人' + (index == 0 ? '' : index)"> <el-input v-model="domain.lxr" placeholder="请输入联系人"></el-input> </el-form-item> </el-col> <el-col :span="11" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :label="'联系电话' + (index == 0 ? '' : index)" :prop="'xtsjUnit.' + index + '.lxdh'" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{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;"> <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="margin-left: 10px;"> <el-form-item class="daoqitixingren" :prop="`xtjsUnit[${index}].tyshxydm`" :rules="{ required: true, message: '请输入', 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="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :label="'联系电话' + (index == 0 ? '' : index)" :prop="'xtjsUnit.' + index + '.lxdh'" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: '请输入正确的手机号码', trigger: 'blur' }, { required: true, message: '请输入', trigger: 'blur' } ]"> <el-input v-model="domain.lxdh" placeholder="请输入联系电话"></el-input> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> <el-form-item label="供应商注册地址" required :prop="`xtjsUnit[${index}].gyszcdz`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input placeholder="请输入供应商注册地址" v-model="domain.gyszcdz"></el-input> </el-form-item> </el-col> <el-col :span="11" style="margin-left: 10px;"> <el-form-item label="注册地是否为太仓" required :prop="`xtjsUnit[${index}].sfwtc`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="domain.sfwtc" placeholder="请选择注册地是否为太仓"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="1" style="text-align: center;"> <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> <i @click="removeDomain(domain, 'xtjsUnit')" 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.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' }" :label="'系统运营单位名称' + (index == 0 ? '' : index)"> <el-input v-model="domain.name" placeholder="请输入系统运营单位名称"></el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :prop="`xtyyUnit[${index}].tyshxydm`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :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="`xtyyUnit[${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="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :label="'联系电话' + (index == 0 ? '' : index)" :prop="'xtyyUnit.' + index + '.lxdh'" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, message: '请输入正确的手机号码', trigger: 'blur' }, { required: true, message: '请输入', trigger: 'blur' } ]"> <el-input v-model="domain.lxdh" placeholder="请输入联系电话"></el-input> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> <el-form-item label="供应商注册地址" required :prop="`xtyyUnit[${index}].gyszcdz`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input placeholder="请输入供应商注册地址" v-model="domain.gyszcdz"></el-input> </el-form-item> </el-col> <el-col :span="11" style="margin-left: 10px;"> <el-form-item label="注册地是否为太仓" required :prop="`xtyyUnit[${index}].sfwtc`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="domain.sfwtc" placeholder="请选择注册地是否为太仓"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="1" style="text-align: center;"> <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> <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)"> <el-input v-model="domain.name" placeholder="请输入安全服务单位名称"></el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :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" :label="'联系人' + (index == 0 ? '' : index)"> <el-input v-model="domain.lxr" placeholder="请输入联系人"></el-input> </el-form-item> </el-col> <el-col :span="11" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :label="'联系电话' + (index == 0 ? '' : index)" :prop="'aqfwUnit.' + index + '.lxdh'" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{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;"> <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> </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;"> <el-col :span="8"> <el-form-item class="daoqitixingren" required :prop="`fwqxx[${index}].sblx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'设备类型' + (index == 0 ? '' : index)"> <el-input v-model="domain.sblx" placeholder="请输入设备类型"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :prop="`fwqxx[${index}].pp`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'品牌' + (index == 0 ? '' : index)"> <el-input v-model="domain.pp" placeholder="请输入品牌"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :label="'设备IP' + (index == 0 ? '' : index)"> <el-row style="display: flex;"> <el-col :span="8"> <el-form-item :prop="`fwqxx[${index}].ipType`" :rules="{ required: true, message: '请输入', trigger: 'change' }"> <el-select v-model="domain.ipType" placeholder="请选择设备IP"> <el-option v-for="dict in dict.type.sb_ip" :key="dict.value" :label="dict.label" :value="dict.label" /> </el-select> </el-form-item> </el-col> <el-col :span="16" style="margin-left: 10px;"> <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> </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' }" :label="'操作系统' + (index == 0 ? '' : index)"> <el-select v-model="domain.czxt" placeholder="请选择操作系统"> <el-option v-for="dict in dict.type.fwq_czxt" :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' }" :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' }" :label="'硬件型号' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjxh" placeholder="请输入硬件型号"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :prop="`fwqxx[${index}].yjxlh`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'硬件序列号' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjxlh" placeholder="请输入硬件序列号"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :prop="`fwqxx[${index}].yjbbxx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :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' }" :label="'硬件用途' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjyt" placeholder="请输入硬件用途"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :prop="`fwqxx[${index}].yjbsxx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'硬件部署位置' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjbsxx" placeholder="请输入硬件部署位置"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <i @click="removeDomain(domain, 'fwqxx')" v-if="index !== 0" class="el-icon-remove-outline" style="margin-top: 10px;font-size: 16px;cursor: pointer;"></i> </el-col> </el-row> </div> <el-row> <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" :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' }" :label="'设备类型' + (index == 0 ? '' : index)"> <el-input v-model="domain.sblx" placeholder="请输入安全服务单位名称"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :prop="`wlsb[${index}].pp`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'品牌' + (index == 0 ? '' : index)"> <el-input v-model="domain.pp" placeholder="请输入品牌"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :label="'设备IP' + (index == 0 ? '' : index)"> <el-row style="display: flex;"> <el-col :span="8"> <el-form-item :prop="`wlsb[${index}].ipType`" :rules="{ required: true, message: '请输入', trigger: 'change' }"> <el-select v-model="domain.ipType" placeholder="请选择设备IP"> <el-option v-for="dict in dict.type.sb_ip" :key="dict.value" :label="dict.label" :value="dict.label" /> </el-select> </el-form-item> </el-col> <el-col :span="16" style="margin-left: 10px;"> <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> </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' }" :label="'硬件型号' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjxh" placeholder="请输入硬件型号"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :prop="`wlsb[${index}].yjxlh`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'硬件序列号' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjxlh" placeholder="请输入硬件序列号"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" :prop="`wlsb[${index}].yjbbxx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :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="`wlsb[${index}].yjyt`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'硬件用途' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjyt" placeholder="请输入硬件用途"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :prop="`wlsb[${index}].yjbsxx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'硬件部署位置' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjbsxx" placeholder="请输入硬件部署位置"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <i @click="removeDomain(domain, 'wlsb')" v-if="index !== 0" class="el-icon-remove-outline" style="margin-top: 10px;font-size: 16px;cursor: pointer;"></i> </el-col> </el-row> </div> <el-row> <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" :key="domain.key" :prop="'aqsb.' + index + '.value'"> <el-row style="display: flex;"> <el-col :span="8"> <el-form-item class="daoqitixingren" required :prop="`aqsb[${index}].sblx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'设备类型' + (index == 0 ? '' : index)"> <el-input v-model="domain.sblx" placeholder="请输入安全服务单位名称"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :prop="`aqsb[${index}].pp`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'品牌' + (index == 0 ? '' : index)"> <el-input v-model="domain.pp" placeholder="请输入品牌"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :label="'设备IP' + (index == 0 ? '' : index)"> <el-row style="display: flex;"> <el-col :span="8"> <el-form-item :prop="`aqsb[${index}].ipType`" :rules="{ required: true, message: '请输入', trigger: 'change' }"> <el-select v-model="domain.ipType" placeholder="请选择设备IP"> <el-option v-for="dict in dict.type.sb_ip" :key="dict.value" :label="dict.label" :value="dict.label" /> </el-select> </el-form-item> </el-col> <el-col :span="16" style="margin-left: 10px;"> <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> </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' }" :label="'硬件型号' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjxh" placeholder="请输入硬件型号"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <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="margin-left: 10px;"> <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' }" :label="'硬件用途' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjyt" placeholder="请输入硬件用途"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item class="daoqitixingren" required :prop="`aqsb[${index}].yjbsxx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }" :label="'硬件部署位置' + (index == 0 ? '' : index)"> <el-input v-model="domain.yjbsxx" placeholder="请输入硬件部署位置"></el-input> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <i @click="removeDomain(domain, 'aqsb')" v-if="index !== 0" class="el-icon-remove-outline" style="margin-top: 10px;font-size: 16px;cursor: pointer;"></i> </el-col> </el-row> </div> <el-row> <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> </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="margin-left: 10px;"> <el-form-item label="是否租户级安全"> <el-select v-model="ruleForm.xjgywxt.yptSfzh" placeholder="请选择是否租户级安全"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <el-form-item label="机房联系人电话" prop="xjgywxt.yptJflxrdh" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, 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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <el-form-item label="机房联系人电话" prop="xjgywxt.dsjJflxrdh" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, 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 dict.type.is_no" :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="margin-left: 10px;"> <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="margin-left: 10px;"> <el-form-item label="服务对象"> <el-select v-model="ruleForm.xjgywxt.wlwsbFwdx" placeholder="请选择服务对象"> <el-option v-for="dict in dict.type.wlw_fwdx" :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="margin-left: 10px;"> <el-form-item label="网络互连情况"> <el-select v-model="ruleForm.xjgywxt.wlwsbWlhlqk" placeholder="请选择网络互连情况"> <el-option v-for="dict in dict.type.wlw_wlhlqk" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <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 dict.type.wlw_fwfw" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item label="联系人电话" prop="xjgywxt.wlwsbLxrdh" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, 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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <el-form-item label="联系人电话" prop="xjgywxt.appLxrdh" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, 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 dict.type.is_no" :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="margin-left: 10px;"> <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="margin-left: 10px;"> <el-form-item label="服务对象"> <el-select v-model="ruleForm.xjgywxt.gykzFwdx" placeholder="请选择服务对象"> <el-option v-for="dict in dict.type.wlw_fwdx" :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="margin-left: 10px;"> <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 dict.type.wlw_wlhlqk" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <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 dict.type.wlw_fwfw" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <el-form-item label="联系人电话" prop="xjgywxt.gykzLxrdh" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, 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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <el-form-item label="CDN是否使用"> <el-select v-model="ruleForm.xjgywxt.cdnSfsy" placeholder="请选择CDN是否使用"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <el-form-item label="联系人电话" prop="xjgywxt.cdnLxrdh" :rules="[ { pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, 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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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="margin-left: 10px;"> <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-row style="display: flex;"> <el-col :span="12"> <el-form-item label="数据库名称" required :prop="`sjzcSjkmc`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input v-model="ruleForm.sjzcSjkmc" placeholder="请输入数据库名称"></el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item label="数据库类型" required :prop="`sjzcSjklx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> <el-form-item label="端口" required :prop="`sjzcDk`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input v-model="ruleForm.sjzcDk" placeholder="请输入端口"></el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item label="数据库版本" required :prop="`sjzcSjkbb`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input v-model="ruleForm.sjzcSjkbb" placeholder="请输入数据库版本"></el-input> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> <el-form-item label="数据库所在IP" required :prop="`sjzcSjkIp`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input v-model="ruleForm.sjzcSjkIp" placeholder="请输入数据库所在IP"></el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item label="共享属性" required :prop="`sjzcGxsx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.sjzcGxsx" placeholder="请选择共享属性"> <el-option v-for="dict in dict.type.sjzc_gxsx" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> <el-form-item label="开放属性" required :prop="`sjzcKfsx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.sjzcKfsx" placeholder="请选择开放属性"> <el-option v-for="dict in dict.type.sjzc_kfsx" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item label="数据领域" required :prop="`sjzcSjly`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.sjzcSjly" placeholder="请选择数据领域"> <el-option v-for="dict in dict.type.sjzc_sjly" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> <el-form-item label="更新周期" required :prop="`sjzcGxzq`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.sjzcGxzq" placeholder="请选择数据领域"> <el-option v-for="dict in dict.type.sjzc_gxzq" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item label="数据类型" required :prop="`sjzcSjlx`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <!-- <el-select v-model="ruleForm.region" placeholder="请选择数据类型"> <el-option v-for="dict in dict.type.sjzc_gxzq" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> --> <el-input v-model="ruleForm.sjzcSjlx" placeholder="请输入数据类型"></el-input> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> <el-form-item label="数据量" required :prop="`sjzcSjl`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-input v-model="ruleForm.sjzcSjl" placeholder="请输入数据量"></el-input> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item label="是否涉密数据" required :prop="`sjzcSmsj`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.sjzcSmsj" placeholder="请选择是否涉密数据"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> <el-form-item label="数据是否出境" required :prop="`sjzcCj`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.sjzcCj" placeholder="请选择数据是否出境"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> <el-form-item label="数据分级分类" required :prop="`sjzcSjfjfl`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.sjzcSjfjfl" placeholder="请选择数据分级分类"> <el-option v-for="dict in dict.type.sjzc_sjfjfl" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> <el-form-item label="数据重要程度" required :prop="`sjzcSjzycd`" :rules="{ required: true, message: '请输入', trigger: 'blur' }"> <el-select v-model="ruleForm.sjzcSjzycd" placeholder="请选择数据重要程度"> <el-option v-for="dict in dict.type.zc_xtzyx" :key="dict.value" :label="dict.label" :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="24"> <el-form-item label="数据描述"> <el-input type="textarea" resize="none" placeholder="请输入数据描述" :rows="5" v-model="ruleForm.sjzcSjms"></el-input> </el-form-item> </el-col> </el-row> <!-- 业务系统拓扑图 --> <el-row style="margin: 10px 0;"> <span class="top-title-box">业务系统拓扑图</span> </el-row> <el-row style="margin: 20px 0;"> <el-form-item> <myUpload :fileSize="30" :limit="1" :fileType="accept" v-model="ruleForm.ywxttpwj"> <div class="upload-file"> <i class="el-icon-paperclip"></i> <span>附件上传,支持xls、xlsx、doc、docx、pdf、rar、zip、pcap、txt、最多上传1个文件,每个不超过30M</span> </div> </myUpload> </el-form-item> </el-row> <el-row style="margin: 20px 0;"> <el-form-item> <myUpload :fileSize="30" :limit="1" :fileType="acceptTwo" v-model="ruleForm.ywxttpt"> <div class="upload-file"> <i class="el-icon-paperclip"></i> <span>图片上传,支持jpg、jpeg、png、最多上传1张图片,每个不超过30M</span> </div> </myUpload> </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-form-item> <div></div> </el-form-item> </el-row> <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;"> <el-button type="danger" @click="newAssets(0)">报废</el-button> <el-button @click="newAssets(1)">取消</el-button> <el-button type="warning" @click="newAssets(2)">暂存</el-button> <el-button type="primary" @click="newAssets(3)" :loading="loading">提交</el-button> </el-row> </div> </el-form> </div> </div> </div> </template> <script> import pcas from "@/utils/pca-code.json" import myUpload from "@/views/components/myUpload/index.vue"; import { assetUnitData, assetInfo } from "@/api/auditPagesApi/index"; import { assetTasktaskSh, geassetTaskcHc, assetTasksh } from "@/api/renwuApi/index.js" import { assetTaskzc, assetTaskjyTj } from "@/api/renwuApi/index.js" export default { name: "AssetsAuth", dicts: [ 'is_no', 'zc_xtlx', 'zc_xtzyx', 'zc_xtzt', 'zc_zxzt', 'zc_c_i_a', 'zc_yhgm', 'zc_xtbsfs', 'zc_hlwkfyt', 'fgfw', 'wlxz', 'ywlx', 'hlqk', 'fwdx', 'fwfw', 'dbxx_dbdj', 'dbxx_zjps', 'sf_cpszsdj', 'sjzc_gxsx', 'sjzc_kfsx', 'sjzc_sjly', 'sjzc_gxzq', 'sjzc_sjfjfl', 'fwq_czxt', 'wlw_fwdx', 'wlw_wlhlqk', 'wlw_fwfw', 'dwlx', 'sb_ip', 'xtfhqk_fcg', 'xtfhqk_fxl', 'xtfhqk_fzd', 'xtfhqk_fls' ], components: { myUpload }, data() { return { accept: ['xls', 'xlsx', 'doc', 'docx', 'pdf', 'rar', 'zip', 'pcap', 'txt'], acceptTwo: ['jpg', 'jpeg', 'png'], isMore: false, select: "http", options: pcas, radio: "", loading: true, props: { value: 'value', label: "value", checkStrictly: true, }, ruleForm: { // 新监管业务形态 xjgywxt: { remark: "", }, // 关联域名--多个 glymList: [{ key: "" }], // 关联IP 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: [ { sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: 1, }, ], // 网络设备 wlsb: [ { sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: 2, } ], // 安全设备 aqsb: [ { sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: 3, } ], }, // 地理位置 dlwz: [], // 系统特征 xttz: [], // 防篡改 xtfhqkFcg: [], // 防泄漏 xtfhqkFxl: [], // 防中断 xtfhqkFzd: [], // 防勒索 xtfhqkFls: [], rules: {}, disabled: false, loading: false, } }, mounted() { let obj = { taskId: this.$route.query.taskId, assetId: this.$route.query.assetId } if (this.$route.query.pageType == 'look') { this.getInfo(obj) this.disabled = true; this.isMore = true; this.$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 (this.$route.query.pageType == 'change') { this.getInfo(obj) this.disabled = false; this.isMore = true; } }, methods: { // 获取详情 getInfo(obj) { this.loading = true assetTasktaskSh(obj).then(res => { this.ruleForm = res.data; if (!this.ruleForm.xjgywxt) { this.ruleForm.xjgywxt = {} this.$set(this.ruleForm.xjgywxt, 'remark', "") } if(this.ruleForm.fwwz) { let arr = this.ruleForm.fwwz.split("-") this.select = arr[0] this.ruleForm.fwwz = arr[1] } this.ruleForm.xttz ? this.xttz = this.ruleForm.xttz.split(',') : []; let chepingUnit = this.ruleForm.gylxxList.filter((item) => item.type == 1) let yjgysUnit = this.ruleForm.gylxxList.filter((item) => item.type == 2) let jfywUnit = this.ruleForm.gylxxList.filter((item) => item.type == 3) let xtsjUnit = this.ruleForm.gylxxList.filter((item) => item.type == 4) let xtjsUnit = this.ruleForm.gylxxList.filter((item) => item.type == 5) let xtyyUnit = this.ruleForm.gylxxList.filter((item) => item.type == 7) let aqfwUnit = this.ruleForm.gylxxList.filter((item) => item.type == 6) this.$set(this.ruleForm, 'chepingUnit', chepingUnit.length > 0 ? chepingUnit : [{ name: "", tyshxydm: "", lxr: "", lxdh: "", type: 1 }]) this.$set(this.ruleForm, 'yjgysUnit', yjgysUnit.length > 0 ? yjgysUnit : [{ name: "", tyshxydm: "", lxr: "", lxdh: "", type: 2 }]) this.$set(this.ruleForm, 'jfywUnit', jfywUnit.length > 0 ? jfywUnit : [{ name: "", tyshxydm: "", lxr: "", lxdh: "", type: 3 }]) this.$set(this.ruleForm, 'xtsjUnit', xtsjUnit.length > 0 ? xtsjUnit : [{ name: "", tyshxydm: "", lxr: "", lxdh: "", type: 4 }]) this.$set(this.ruleForm, 'xtjsUnit', xtjsUnit.length > 0 ? xtjsUnit : [{ name: "", tyshxydm: "", lxr: "", lxdh: "", type: 5 }]) this.$set(this.ruleForm, 'xtyyUnit', xtyyUnit.length > 0 ? xtyyUnit : [{ name: "", tyshxydm: "", lxr: "", lxdh: "", type: 7 }]) this.$set(this.ruleForm, 'aqfwUnit', aqfwUnit.length > 0 ? aqfwUnit : [{ name: "", tyshxydm: "", lxr: "", lxdh: "", type: 6 }]) let fwqxx = this.ruleForm.jcwlList.filter((item) => item.type == 1) let wlsb = this.ruleForm.jcwlList.filter((item) => item.type == 2) let aqsb = this.ruleForm.jcwlList.filter((item) => item.type == 3) // this.ruleForm.fwqxx = (this.ruleForm.jcwlList.filter((item) => item.type == 1) == [] ? this.ruleForm.jcwlList.filter((item) => item.type == 1) : [{ sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: 1 }]) this.$set(this.ruleForm, 'fwqxx', fwqxx.length > 0 ? fwqxx : [{ sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: 1 }]) this.$set(this.ruleForm, 'wlsb', wlsb.length > 0 ? wlsb : [{ sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: 2 }]) this.$set(this.ruleForm, 'aqsb', aqsb.length > 0 ? aqsb : [{ sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: 3 }]) // this.ruleForm.wlsb = (this.ruleForm.jcwlList.filter((item) => item.type == 2) == [] ? this.ruleForm.jcwlList.filter((item) => item.type == 2) : [{ sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: 2 }]) // this.ruleForm.aqsb = (this.ruleForm.jcwlList.filter((item) => item.type == 3) == [] ? this.ruleForm.jcwlList.filter((item) => item.type == 3) : [{ sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: 3 }]) this.ruleForm.xtfhqkFcg ? this.xtfhqkFcg = this.ruleForm.xtfhqkFcg.split(',') : []; this.ruleForm.xtfhqkFcg ? this.xtfhqkFxl = this.ruleForm.xtfhqkFxl.split(',') : []; this.ruleForm.xtfhqkFcg ? this.xtfhqkFzd = this.ruleForm.xtfhqkFzd.split(',') : []; this.ruleForm.xtfhqkFcg ? this.xtfhqkFls = this.ruleForm.xtfhqkFls.split(',') : []; if (this.ruleForm.sheng && this.ruleForm.shi && this.ruleForm.qu) { this.dlwz = [this.ruleForm.sheng, this.ruleForm.shi, this.ruleForm.qu] } else if (this.ruleForm.sheng && this.ruleForm.shi) { this.dlwz = [this.ruleForm.sheng, this.ruleForm.shi] } else if (this.ruleForm.sheng) { this.dlwz = [this.ruleForm.sheng] } this.loading = false }) }, changeRadio(id) { this.ruleForm.xjgywxt = { remark: id, }; }, // 供应链Form新增 addGongyinglian(type, id) { this.ruleForm[type].push({ name: "", tyshxydm: "", lxr: "", lxdh: "", type: id, remark: Date.now() }); }, // 服务器Form新增 addServer(type, id) { console.log(this.ruleForm); this.ruleForm[type].push({ sblx: "", pp: "", ipType: "", sbIP: "", czxx: "", czxxbb: "", yjxh: "", yjxlh: "", yjbbxx: "", yjyt: "", yjbswz: "", type: id, key: Date.now() }); }, // 新增form addForm(type) { this.ruleForm[type].push({ key: '', value: Date.now() }); }, // 新增其他联系人 addOtherConcat(type) { this.ruleForm[type].push({ qtlxrxm: '', qtlxrlxfs: '', qtlxryx: '', key: Date.now() }); }, // 删除增加的form removeDomain(item, type) { var index = this.ruleForm[type].indexOf(item) if (index !== -1) { this.ruleForm[type].splice(index, 1) } }, // 删除增加的form removeDomainOne(item, type) { var index = this.ruleForm[type].indexOf(item) if (index !== -1) { this.ruleForm[type].splice(index, 1) } }, // 是否部署云平台--选否 yunpingtaiChange(id) { if (id == 2) { this.ruleForm.yfwsmc = ""; this.ruleForm.wzfwxy = ""; } }, // 系统部署方式-选3或4 或不为3/4 xtbsfsChange(id) { if (id == 3) { this.ruleForm.yfws = ""; } else if (id == 4) { this.ruleForm.tgdw = ""; } else { this.ruleForm.yfws = ""; this.ruleForm.tgdw = ""; } }, // ICP备案--是否备案选否 sfbaICPChange(id) { if (id == 2) { this.ruleForm.ipcBayxx = ""; this.ruleForm.ipcBawzmc = ""; this.ruleForm.ipcBawzsy = ""; this.ruleForm.ipcIpcbabh = ""; this.ruleForm.ipcBaym = ""; this.ruleForm.ipcBadwmc = ""; this.ruleForm.ipcBadwxz = ""; this.ruleForm.ipcBalxr = ""; this.ruleForm.ipcBalxrdh = ""; this.ruleForm.shsj = ""; } }, // 公安机关备案信息--是否备案选否 sfbaGajgChange(id) { if (id == 2) { this.ruleForm.gajgBajg = ""; this.ruleForm.gajgBah = ""; this.ruleForm.gajgBarq = ""; } }, // 等保信息选否 sfdbxtChange(id) { if (id == 2) { this.ruleForm.dbxxDbcpbah = ""; this.ruleForm.dbxxDbdj = ""; this.ruleForm.dbxxZgbm = ""; this.ruleForm.dbxxZjps = ""; this.ruleForm.dbxxZgbmps = ""; this.ruleForm.dbxxDjsj = ""; this.ruleForm.dbxxSfydsfcp = ""; this.ruleForm.dbxxCpdf = ""; } }, islengis(type) { return type.length != 0 }, // 新增资产确认按钮 newAssets(type) { this.loading = true if (type == 1) { //取消 this.$router.go(-1); this.loading = false return } this.ruleForm.taskId= this.$route.query.taskId this.ruleForm.assetId= this.$route.query.assetId this.ruleForm.xttz = this.xttz.join(','); this.ruleForm.xtfhqkFcg = this.xtfhqkFcg.join(','); this.ruleForm.xtfhqkFxl = this.xtfhqkFxl.join(','); this.ruleForm.xtfhqkFzd = this.xtfhqkFzd.join(','); this.ruleForm.xtfhqkFls = this.xtfhqkFls.join(','); this.ruleForm.gylxxList = [...this.ruleForm.chepingUnit, ...this.ruleForm.yjgysUnit, ...this.ruleForm.jfywUnit, ...this.ruleForm.xtsjUnit, ...this.ruleForm.xtjsUnit, ...this.ruleForm.xtyyUnit, ...this.ruleForm.aqfwUnit] this.ruleForm.jcwlList = [...this.ruleForm.fwqxx, ...this.ruleForm.wlsb, ...this.ruleForm.aqsb] if (this.dlwz.length > 0) { this.ruleForm.sheng = this.dlwz[0] this.ruleForm.shi = this.dlwz[1] this.ruleForm.qu = this.dlwz[2] } if(this.ruleForm.fwwz) { this.ruleForm.fwwz = this.select + "-" + this.ruleForm.fwwz } if (type == 0) { //报废 this.$prompt('请输入报废原因', '提示', { confirmButtonText: '确定', cancelButtonText: '取消', }).then(({ value }) => { this.ruleForm.isbf = 2 this.ruleForm.bfyy = value assetTaskzc(this.ruleForm).then(res => { console.log(res, "res"); this.$message({ type: 'info', message: '已报废' }); this.loading = false this.$router.go(-1); this.ruleForm.bfyy = "" }) }).catch(() => { this.loading = false this.$message({ type: 'info', message: '取消输入' }); }); } if (type == 2) { //暂存 assetTaskzc(this.ruleForm).then(res => { console.log(res, "res"); this.$modal.msgSuccess("修改成功"); this.$router.go(-1); this.loading = false }) } if (type == 3) { //提交 this.$refs['ruleForm'].validate((valid) => { if (valid) { assetTaskjyTj(this.ruleForm).then(res => { console.log(res, "res"); this.$modal.msgSuccess("提交成功"); this.$router.go(-1); this.loading = false }) } else { this.loading = false this.$message({ type: 'info', message: '请填写完整' }); return false; } }); } } }, beforeRouteEnter(to, from, next) { if (to.query.pageType == 'add') { to.meta.title = '新增资产' } else if (to.query.pageType == 'change') { to.meta.title = '修改资产' } else if (to.query.pageType == 'look') { to.meta.title = '资产详情' } next(); }, } </script>