diff --git a/.env.development b/.env.development index ffd52ea..7009762 100644 --- a/.env.development +++ b/.env.development @@ -6,7 +6,9 @@ ENV = 'development' # 若依管理系统/开发环境 # VUE_APP_BASE_API = 'http://192.168.0.112:9115' -VUE_APP_BASE_API = 'http://39.101.188.84:9115' +# VUE_APP_BASE_API = 'http://39.101.188.84:9115' +VUE_APP_BASE_API = 'http://192.168.0.112:9115' + # 路由懒加载 VUE_CLI_BABEL_TRANSPILE_MODULES = true diff --git a/.env.production b/.env.production index f542820..ffd1313 100644 --- a/.env.production +++ b/.env.production @@ -5,5 +5,5 @@ VUE_APP_TITLE = 太仓市网络和数据资产采集管理系统 ENV = 'production' # 若依管理系统/生产环境 -# VUE_APP_BASE_API = 'http://39.101.188.84:9115' -VUE_APP_BASE_API = 'http://20.1.0.164/api' +VUE_APP_BASE_API = 'http://39.101.188.84:9115' +# VUE_APP_BASE_API = 'http://20.1.0.164/api' diff --git a/src/App.vue b/src/App.vue index b92ea37..2f2a1dc 100644 --- a/src/App.vue +++ b/src/App.vue @@ -20,6 +20,16 @@ export default { } } }; +/* + !!process.env.VUE_APP_BASE_API 开头的为公司环境 + + assetsManagement 除了assetsAuth.vue,其他文件切换 上传文件 公司环境正式环境 + myUpload 切换正式环境,公司环境 + vue.config.js 切换公司环境,正式环境 + .env.production 切换公司环境,正式环境 + request.js 切换公司环境,正式环境 + +*/ </script> <style scoped> #app .theme-picker { diff --git a/src/utils/request.js b/src/utils/request.js index b286e75..827b69c 100644 --- a/src/utils/request.js +++ b/src/utils/request.js @@ -15,8 +15,8 @@ axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' // 创建axios实例 const service = axios.create({ // axios中请求配置有baseURL选项,表示请求URL公共部分 - // baseURL: process.env.VUE_APP_BASE_API, - baseURL: process.env.NODE_ENV === "production" ? location.origin + '/api' : process.env.VUE_APP_BASE_API, + baseURL: process.env.VUE_APP_BASE_API, + // baseURL: process.env.NODE_ENV === "production" ? location.origin + '/api' : process.env.VUE_APP_BASE_API, // 超时 timeout: 50000 }) diff --git a/src/views/auditPages/assetsManagement/email.vue b/src/views/auditPages/assetsManagement/email.vue index 5eaa5d2..b6be177 100644 --- a/src/views/auditPages/assetsManagement/email.vue +++ b/src/views/auditPages/assetsManagement/email.vue @@ -239,8 +239,8 @@ export default { // 设置上传的请求头部 headers: { Authorization: "Bearer " + getToken() }, // 上传的地址 - // url: process.env.VUE_APP_BASE_API + "/tc/assetEmail/importData" - url: location.origin + "/api/tc/assetEmail/importData" + url: process.env.VUE_APP_BASE_API + "/tc/assetEmail/importData" + // url: location.origin + "/api/tc/assetEmail/importData" }, } }, diff --git a/src/views/auditPages/assetsManagement/index.vue b/src/views/auditPages/assetsManagement/index.vue index 54b3962..69fce46 100644 --- a/src/views/auditPages/assetsManagement/index.vue +++ b/src/views/auditPages/assetsManagement/index.vue @@ -258,8 +258,8 @@ export default { // 设置上传的请求头部 headers: { Authorization: "Bearer " + getToken() }, // 上传的地址 - // url: process.env.VUE_APP_BASE_API + "/tc/assetCurrent/import" - url: location.origin + "/api/tc/assetCurrent/importData" + url: process.env.VUE_APP_BASE_API + "/tc/assetCurrent/import" + // url: location.origin + "/api/tc/assetCurrent/importData" }, } }, diff --git a/src/views/auditPages/assetsManagement/mobileApplication.vue b/src/views/auditPages/assetsManagement/mobileApplication.vue index be5ce90..1cd4715 100644 --- a/src/views/auditPages/assetsManagement/mobileApplication.vue +++ b/src/views/auditPages/assetsManagement/mobileApplication.vue @@ -265,8 +265,8 @@ export default { // 设置上传的请求头部 headers: { Authorization: "Bearer " + getToken() }, // 上传的地址 - // url: process.env.VUE_APP_BASE_API + "/tc/assetApp/importData" - url: location.origin + "/api/tc/assetApp/importData" + url: process.env.VUE_APP_BASE_API + "/tc/assetApp/importData" + // url: location.origin + "/api/tc/assetApp/importData" }, } }, diff --git a/src/views/auditPages/assetsManagement/officialAccount.vue b/src/views/auditPages/assetsManagement/officialAccount.vue index 35ee3c9..9afc76e 100644 --- a/src/views/auditPages/assetsManagement/officialAccount.vue +++ b/src/views/auditPages/assetsManagement/officialAccount.vue @@ -251,8 +251,8 @@ export default { // 设置上传的请求头部 headers: { Authorization: "Bearer " + getToken() }, // 上传的地址 - // url: process.env.VUE_APP_BASE_API + "/tc/assetOfficialAccount/importData" - url: location.origin + "/api/tc/assetOfficialAccount/importData" + url: process.env.VUE_APP_BASE_API + "/tc/assetOfficialAccount/importData" + // url: location.origin + "/api/tc/assetOfficialAccount/importData" }, } }, diff --git a/src/views/auditPages/assetsManagement/program.vue b/src/views/auditPages/assetsManagement/program.vue index df2075b..1d0630f 100644 --- a/src/views/auditPages/assetsManagement/program.vue +++ b/src/views/auditPages/assetsManagement/program.vue @@ -250,8 +250,8 @@ export default { // 设置上传的请求头部 headers: { Authorization: "Bearer " + getToken() }, // 上传的地址 - // url: process.env.VUE_APP_BASE_API + "/tc/miniPrograms/importData" - url: location.origin + "/api/tc/miniPrograms/importData" + url: process.env.VUE_APP_BASE_API + "/tc/miniPrograms/importData" + // url: location.origin + "/api/tc/miniPrograms/importData" }, } }, diff --git a/src/views/auditPages/taskManagement/info.vue b/src/views/auditPages/taskManagement/info.vue index 8aaedbc..99d97f9 100644 --- a/src/views/auditPages/taskManagement/info.vue +++ b/src/views/auditPages/taskManagement/info.vue @@ -53,10 +53,10 @@ </el-form-item> </el-col> --> <el-col :span="7"> - <el-form-item label="系统名称:"> - <el-input v-model="formInline.xtmc" placeholder="请输入"></el-input> - </el-form-item> - </el-col> + <el-form-item label="系统名称:"> + <el-input v-model="formInline.xtmc" placeholder="请输入"></el-input> + </el-form-item> + </el-col> <el-col :span="7"> <el-form-item label="审核状态:"> <el-select v-model="formInline.status" placeholder="请选择"> @@ -68,8 +68,8 @@ </el-option> <el-option label="审核不通过" value="4"> </el-option> - <!-- <el-option label="已关停" value="5"> - </el-option> --> + <el-option label="已关停" value="5"> + </el-option> </el-select> </el-form-item> </el-col> @@ -99,7 +99,6 @@ <el-col :span="7"> <el-form-item label="完成状态:"> <el-select v-model="formInlineTwo.taskStatus" placeholder="请选择"> - <el-option label="进行中" value="1"> </el-option> <el-option label="正常完成" value="2"> @@ -135,7 +134,8 @@ </div> </template> </el-table-column> --> - <el-table-column label="核查单位" key="zcdwmc" prop="zcdwmc" align="center" /> + <el-table-column label="核查单位" prop="zcdwmc" align="center" /> + <el-table-column label="单位核查时间" prop="updateTime" align="center" /> <el-table-column label="审核状态" key="status" width="200px" prop="status" class-name="table-status" align="center"> <template slot-scope="scope"> @@ -171,8 +171,9 @@ <img src="@/assets/images/icon-shenhe@2x.png" alt="" style="width: 15px;margin-right: 5px;"> <span class="look-info" style="color: #1485EF;">审核</span> </div> + <!-- scope.row.status == 4 --> <div style="display: flex;align-items: center;cursor: pointer;margin-left: 5px;" - @click="goInfo(3, scope.row)" v-show='scope.row.status == 4'> + @click="goInfo(3, scope.row)" v-show='scope.row.btgyy'> <img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;"> <span class="look-info" style="color: #1485EF;">查看原因</span> </div> @@ -212,9 +213,9 @@ </span> </template> </el-table-column> - <el-table-column label="核查资产数量" key="total" width="120px" prop="total" align="center" /> - <el-table-column label="待核查数量" key="total" width="120px" prop="notChecked" align="center" /> - <el-table-column label="待审批数量" key="total" width="120px" prop="dsp" align="center" /> + <el-table-column label="核查资产数量" width="120px" prop="total" align="center" /> + <el-table-column label="待核查数量" width="120px" prop="notChecked" align="center" /> + <el-table-column label="待审批数量" width="120px" prop="dsp" align="center" /> <el-table-column label="完成数量" key="checked" prop="checked" align="center"> <!-- <template slot-scope="scope"> <dict-tag :options="dict.type.project_middle_type" :value="scope.row.projectMiddleType"/> @@ -342,7 +343,7 @@ export default { } }, mounted() { - + this.cancalDebounce(); window.addEventListener('resize', this.cancalDebounce); // 获取详情 @@ -379,7 +380,6 @@ export default { this.$router.go(-1); }, shouqiisis() { - console.log(123); this.isshow = !this.isshow // this.myEchartsis() }, @@ -392,10 +392,10 @@ export default { }, //切换资产核查tab handleClick(tab, event) { - + this.activeName = tab.name - this.xtmcName = tab.$attrs.xtmcName, - localStorage.setItem("activeName", this.activeName) + this.xtmcName = tab.$attrs.xtmcName + localStorage.setItem("activeName", this.activeName) this.handleQuery() }, @@ -493,7 +493,6 @@ export default { } }, titleInfoObjtype(type = "0,1") { - console.log(type); let list = type.split(",") this.listTow = [] this.chanckListTow = [] @@ -521,7 +520,6 @@ export default { }, titleInfo() { - // console.log(this.$route.query); getassetTaskid(this.$route.query.id || this.$route.meta.id).then(res => { if (res.code == 200) { this.titleInfoObj = res.data @@ -533,13 +531,15 @@ export default { // 重置 resetQuery() { this.activeName = this.chanckListTow[0].lable - this.xtmcName = "系统名称", - this.pagination = { - current: 1, - size: 10, - type: this.activeName, - } + this.xtmcName = "系统名称" + + this.pagination = { + current: 1, + size: 10, + type: this.activeName, + } + if (this.index == 1) { this.formInline = { type: this.activeName, @@ -562,7 +562,7 @@ export default { size: 10, type: this.activeName, } - + if (this.index == 1) { this.pagination = { ...this.pagination, ...this.formInline }; @@ -590,7 +590,6 @@ export default { this.pagination.size = 10; this.total = 0 this.index = id - console.log(id); this.resetQuery() if (id == 2) { @@ -604,6 +603,8 @@ export default { getList() { this.loading = true this.pagination.taskId = this.$route.query.id || this.$route.meta.id + this.pagination.type = this.activeName + geassetTaskcHc(this.pagination).then(res => { this.tableData = res.data.records this.total = res.data.total @@ -640,7 +641,6 @@ export default { }, myEchartsis() { // var chartDom = document.querySelector('.myEcharts'); - console.log(this.$refs.myEcharts); this.myChart = echarts.init(this.$refs.myEcharts); this.option = { @@ -676,7 +676,6 @@ export default { this.option && this.myChart.setOption(this.option); this.myChart.on('click', (params) => { // params 包含了事件的数据和图表的信息 - console.log(params.data.taskStatus); this.formInlineTwo.taskStatus = params.data.taskStatus this.handleQuery() // 可以在这里添加你的逻辑,比如弹窗显示详细信息等 diff --git a/src/views/components/assetsType/index_v2.vue b/src/views/components/assetsType/index_v2.vue index 217918c..fe63298 100644 --- a/src/views/components/assetsType/index_v2.vue +++ b/src/views/components/assetsType/index_v2.vue @@ -6,29 +6,22 @@ <span class="top-title-box">基本信息</span> </el-row> <div class="assets-info-box"> - <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="170px" class="demo-ruleForm" label-position="right" :disabled="disabled"> + <el-form :model="ruleForm" :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="所属单位" prop="ssdw"> <!-- <el-input v-model="ruleForm.ssdw" placeholder="请输入单位名称"></el-input> --> <!-- :disabled="!disabledTwo" --> - <el-autocomplete - v-model="ruleForm.ssdw" - :fetch-suggestions="querySearchAsync" - placeholder="请输入所属单位" - - ></el-autocomplete> + <el-autocomplete v-model="ruleForm.ssdw" :fetch-suggestions="querySearchAsync" + placeholder="请输入所属单位"></el-autocomplete> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="平台类型" prop="ptlx" required> - <el-select v-model="ruleForm.ptlx" @change="ptlxChange" placeholder="请选择平台类型" > - <el-option - v-for="dict in dict.type.sys_ptlx_type" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-select v-model="ruleForm.ptlx" @change="ptlxChange" placeholder="请选择平台类型"> + <el-option v-for="dict in dict.type.sys_ptlx_type" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -41,11 +34,9 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="公众号名称" prop="gzhmc" - :rules="[ - { required: true, message: '公众号名称不能为空', trigger: 'blur' } - ]" - > + <el-form-item label="公众号名称" prop="gzhmc" :rules="[ + { required: true, message: '公众号名称不能为空', trigger: 'blur' } + ]"> <el-input v-model="ruleForm.gzhmc" placeholder="请输入公众号名称"></el-input> </el-form-item> </el-col> @@ -53,15 +44,13 @@ <el-row> <el-col :span="12"> <el-form-item class="daoqitixingren" label="统一社会信用代码" required> - <el-form-item prop="tyshxydm" - :rules="[ - { - pattern: /^[a-zA-Z0-9]{18}$/, - message: '请输入正确格式的18位统一社会信用代码', - trigger: 'blur' - } - ]" - > + <el-form-item prop="tyshxydm" :rules="[ + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]"> <el-input v-model="ruleForm.tyshxydm" placeholder="请输入统一信用代码"></el-input> </el-form-item> </el-form-item> @@ -69,12 +58,8 @@ <el-col :span="12"> <el-form-item label="公众号状态" required> <el-select v-model="ruleForm.gzhzt" placeholder="请选择公众号状态"> - <el-option - v-for="dict in dict.type.gzh_state" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_state" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -88,12 +73,8 @@ <el-col :span="12"> <el-form-item label="公众号类型" required> <el-select v-model="ruleForm.gzhlx" placeholder="请选择公众号类型"> - <el-option - v-for="dict in dict.type.gzh_lx" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_lx" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -102,22 +83,14 @@ <el-col :span="12"> <el-form-item label="认证状态" required> <el-select v-model="ruleForm.rzState" placeholder="请选择认证状态"> - <el-option - v-for="dict in dict.type.gzh_rzzt" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_rzzt" :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> - <el-date-picker - v-model="ruleForm.rzsj" - type="date" - format="yyyy-MM-dd" - value-format="yyyy-MM-dd" + <el-date-picker v-model="ruleForm.rzsj" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期"> </el-date-picker> </el-form-item> @@ -127,24 +100,16 @@ <el-col :span="12"> <el-form-item label="认证类型" required> <el-select v-model="ruleForm.rzlx" placeholder="请选择认证类型"> - <el-option - v-for="dict in dict.type.gzh_rzlx" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_rzlx" :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> <el-select v-model="ruleForm.sshy" placeholder="请选择所属行业"> - <el-option - v-for="dict in dict.type.app_sshy" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_sshy" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -153,24 +118,16 @@ <el-col :span="12"> <el-form-item label="重点行业" required> <el-select v-model="ruleForm.zdhy" placeholder="请选择重点行业"> - <el-option - v-for="dict in dict.type.app_zdhy" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_zdhy" :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> <el-select v-model="ruleForm.xzqh" placeholder="请选择行政区划"> - <el-option - v-for="dict in dict.type.app_xzqh" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_xzqh" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -183,15 +140,13 @@ </el-col> <el-col :span="12"> <el-form-item label="系统责任人电话" required> - <el-form-item prop="xtzrrdh" - :rules="[ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: '请输入正确的手机号码', - trigger: 'blur' - } - ]" - > + <el-form-item prop="xtzrrdh" :rules="[ + { + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + message: '请输入正确的手机号码', + trigger: 'blur' + } + ]"> <el-input v-model="ruleForm.xtzrrdh" style="width: 100%;" placeholder="请输入系统责任人电话"></el-input> </el-form-item> </el-form-item> @@ -200,15 +155,13 @@ <el-row> <el-col :span="12"> <el-form-item label="系统责任人邮箱" required> - <el-form-item prop="xtzrryx" - :rules="[ - { - type: 'email', - message: '请输入正确的邮箱地址', - trigger: ['blur', 'change'] - } - ]" - > + <el-form-item prop="xtzrryx" :rules="[ + { + type: 'email', + message: '请输入正确的邮箱地址', + trigger: ['blur', 'change'] + } + ]"> <el-input v-model="ruleForm.xtzrryx" style="width: 100%;" placeholder="请输入系统责任人邮箱"></el-input> </el-form-item> </el-form-item> @@ -220,23 +173,6 @@ </el-col> </el-row> <el-row> - <el-col :span="12"> - <el-form-item label="菜单信息(菜单名称)" required> - <el-input v-model="ruleForm.cdmc" style="width: 100%;" placeholder="请输入菜单信息(菜单名称)"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="菜单信息(菜单链接)" required> - <el-input v-model="ruleForm.cdlj" style="width: 100%;" placeholder="请输入菜单信息(菜单链接)"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="菜单信息(菜单类型)" required> - <el-input v-model="ruleForm.cdlx" style="width: 100%;" placeholder="请输入菜单信息(菜单类型)"></el-input> - </el-form-item> - </el-col> <el-col :span="12"> <el-form-item label="认证主体" required> <el-input v-model="ruleForm.rzzt" style="width: 100%;" placeholder="请输入认证主体"></el-input> @@ -246,34 +182,68 @@ <el-row> <el-col :span="24"> <el-form-item label="系统简介" required> - <el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" v-model="ruleForm.xtjj"></el-input> + <el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" + v-model="ruleForm.xtjj"></el-input> </el-form-item> </el-col> </el-row> - </div> + <!-- 菜单信息 --> + <div> + <el-row> + <span class="top-title-box">菜单信息</span> + </el-row> + <el-row v-for="(domain, index) in ruleForm.cdList"> + <el-col :span="12"> + <el-form-item :label="'菜单名称' + (index == 0 ? '' : index)" required> + <el-input v-model="domain.cdmc" style="width: 100%;" placeholder="请输入菜单名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item :label="'菜单链接' + (index == 0 ? '' : index)" required> + <el-input v-model="domain.cdlj" style="width: 100%;" placeholder="请输入菜单链接"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item :label="'菜单类型' + (index == 0 ? '' : index)" required> + <el-select v-model="domain.cdlx" placeholder="请选择菜单类型"> + <el-option v-for="dict in dict.type.gzh_cdlx" :key="dict.value" :label="dict.label" + :value="dict.value" /> + </el-select> + </el-form-item> + </el-col> + <el-col :span="1" style="text-align: center; " v-if="!disabled" v-show="index != 0"> + <i @click="removeDomain(domain, 'cdList')" class="el-icon-remove-outline" + style="font-size: 16px;cursor: pointer;margin-top: 8px;"></i> + </el-col> + </el-row> + <el-row v-if="pageType !== 'look'"> + <el-col :span="24"> + <el-form-item> + <el-button @click="addOtherConcat('cdList')">添加菜单</el-button> + </el-form-item> + </el-col> + </el-row> + </div> + </div> <div v-else> <el-row> <el-col :span="12"> <el-form-item class="daoqitixingren" label="统一社会信用代码" required> - <el-form-item prop="tyshxydm" - :rules="[ - { - pattern: /^[a-zA-Z0-9]{18}$/, - message: '请输入正确格式的18位统一社会信用代码', - trigger: 'blur' - } - ]" - > + <el-form-item prop="tyshxydm" :rules="[ + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]"> <el-input v-model="ruleForm.tyshxydm" placeholder="请输入统一信用代码"></el-input> </el-form-item> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="账号名称" prop="gzhmc" - :rules="[ - { required: true, message: '账号名称不能为空', trigger: 'blur' } - ]" - > + <el-form-item label="账号名称" prop="gzhmc" :rules="[ + { required: true, message: '账号名称不能为空', trigger: 'blur' } + ]"> <el-input v-model="ruleForm.gzhmc" placeholder="请输入账号名称"></el-input> </el-form-item> </el-col> @@ -287,12 +257,8 @@ <el-col :span="12"> <el-form-item label="账号状态" required> <el-select v-model="ruleForm.gzhzt" placeholder="请选择账号状态"> - <el-option - v-for="dict in dict.type.gzh_state" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_state" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -313,24 +279,16 @@ <el-col :span="12"> <el-form-item label="重点行业" required> <el-select v-model="ruleForm.zdhy" placeholder="请选择重点行业"> - <el-option - v-for="dict in dict.type.app_zdhy" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_zdhy" :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> <el-select v-model="ruleForm.sshy" placeholder="请选择所属行业"> - <el-option - v-for="dict in dict.type.app_sshy" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_sshy" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -343,15 +301,13 @@ </el-col> <el-col :span="12"> <el-form-item label="系统责任人电话" required> - <el-form-item prop="xtzrrdh" - :rules="[ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: '请输入正确的手机号码', - trigger: 'blur' - } - ]" - > + <el-form-item prop="xtzrrdh" :rules="[ + { + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + message: '请输入正确的手机号码', + trigger: 'blur' + } + ]"> <el-input v-model="ruleForm.xtzrrdh" style="width: 100%;" placeholder="请输入系统责任人电话"></el-input> </el-form-item> </el-form-item> @@ -360,15 +316,13 @@ <el-row> <el-col :span="12"> <el-form-item label="系统责任人邮箱" required> - <el-form-item prop="xtzrryx" - :rules="[ - { - type: 'email', - message: '请输入正确的邮箱地址', - trigger: ['blur', 'change'] - } - ]" - > + <el-form-item prop="xtzrryx" :rules="[ + { + type: 'email', + message: '请输入正确的邮箱地址', + trigger: ['blur', 'change'] + } + ]"> <el-input v-model="ruleForm.xtzrryx" style="width: 100%;" placeholder="请输入系统责任人邮箱"></el-input> </el-form-item> </el-form-item> @@ -382,7 +336,8 @@ <el-row> <el-col :span="24"> <el-form-item label="系统简介" required> - <el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" v-model="ruleForm.xtjj"></el-input> + <el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" + v-model="ruleForm.xtjj"></el-input> </el-form-item> </el-col> </el-row> @@ -402,31 +357,38 @@ <script> import { assetOfficialAccount, assetOfficialAccountInfo, unitAllList } from "@/api/auditPagesApi/index"; export default { - dicts:['app_xzqh','app_sshy','app_zdhy','gzh_state','gzh_lx','gzh_rzzt','gzh_rzlx','gzh_cdlx', 'sys_ptlx_type'], + dicts: ['app_xzqh', 'app_sshy', 'app_zdhy', 'gzh_state', 'gzh_lx', 'gzh_rzzt', 'gzh_rzlx', 'gzh_cdlx', 'sys_ptlx_type'], data() { return { - ruleForm:{ + ruleForm: { ptlx: "1", + cdList: [ + { + cdmc: "", + cdlj: "", + cdlx: "", + } + ] }, - rules:{ - ssdw:[ + rules: { + ssdw: [ { required: true, message: "所属单位不能为空", trigger: "blur" } ], // gzhmc:[ // { required: true, message: "公众号名称不能为空", trigger: "blur" } // ], }, - loading:false, - disabled:false, + loading: false, + disabled: false, // disabledTwo:true, } }, - props:['pageType', 'id', 'queryData'], - mounted(){ - if(this.pageType == 'look') { + props: ['pageType', 'id', 'queryData'], + mounted() { + if (this.pageType == 'look') { this.getInfo(this.id) this.disabled = true; - this.$nextTick(()=>{ + this.$nextTick(() => { const inputElements = document.querySelectorAll('.el-input__inner'); const textareaInputElements = document.querySelectorAll('.el-textarea__inner'); inputElements.forEach((input) => { @@ -436,31 +398,46 @@ export default { input.placeholder = ''; }); }) - } else if(this.pageType == 'change') { + } else if (this.pageType == 'change') { this.getInfo(this.id) this.disabled = false; // this.disabledTwo = false; } }, - methods:{ - getInfo(id){ - assetOfficialAccountInfo(id).then(res=>{ + methods: { + removeDomain(item, type) { + var index = this.ruleForm[type].indexOf(item) + if (index !== -1) { + this.ruleForm[type].splice(index, 1) + } + }, + // 新增其他联系人 + addOtherConcat(type) { + this.ruleForm[type].push({ + cdmc: "", + cdlj: "", + cdlx: "", + // key: Date.now() + }); + }, + getInfo(id) { + assetOfficialAccountInfo(id).then(res => { this.ruleForm = res.data; }) }, // 平台类型切换 ptlxChange(item) { - Object.keys(this.ruleForm).forEach((key)=>{ - if(key !== 'ssdw' && key !== 'ptlx') { + Object.keys(this.ruleForm).forEach((key) => { + if (key !== 'ssdw' && key !== 'ptlx') { this.ruleForm[key] = ''; } }) }, // 单位名称模糊查询 - querySearchAsync(queryString, cb){ + querySearchAsync(queryString, cb) { let results = []; - unitAllList({nickName: queryString}).then(res => { + unitAllList({ nickName: queryString }).then(res => { res.data.forEach(item => { results.push({ value: item.nickName, @@ -471,20 +448,22 @@ export default { cb(results); }, // 新增资产确认按钮 - newAssets(){ + newAssets() { + console.log(this.ruleForm); + this.$refs['ruleForm'].validate((valid) => { - if(valid) { + if (valid) { this.loading = true; - if(this.pageType == 'change') { - assetOfficialAccount('put',this.ruleForm).then(res=>{ + if (this.pageType == 'change') { + assetOfficialAccount('put', this.ruleForm).then(res => { // console.log(res,"res"); this.loading = false; this.$modal.msgSuccess("修改成功"); // this.$router.go(-1); - this.$router.push({name:'OfficialAccount',params: this.queryData}) + this.$router.push({ name: 'OfficialAccount', params: this.queryData }) }) } else { - assetOfficialAccount('post',this.ruleForm).then(res=>{ + assetOfficialAccount('post', this.ruleForm).then(res => { // console.log(res,"res"); this.loading = false; this.$modal.msgSuccess("新增成功"); @@ -494,9 +473,9 @@ export default { } }) }, - sendBack(){ + sendBack() { // this.$router.go(-1); - this.$router.push({name:'OfficialAccount',params: this.queryData}) + this.$router.push({ name: 'OfficialAccount', params: this.queryData }) }, }, } diff --git a/src/views/components/myAssetsType/index_v2.vue b/src/views/components/myAssetsType/index_v2.vue index c0b7b2c..957db00 100644 --- a/src/views/components/myAssetsType/index_v2.vue +++ b/src/views/components/myAssetsType/index_v2.vue @@ -6,28 +6,21 @@ <span class="top-title-box">基本信息</span> </el-row> <div class="assets-info-box"> - <el-form :model="ruleForm" :rules="rules" ref="ruleForm" label-width="170px" class="demo-ruleForm" label-position="right" :disabled="disabled"> + <el-form :model="ruleForm" :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="所属单位" prop="ssdw"> <!-- <el-input v-model="ruleForm.ssdw" placeholder="请输入单位名称"></el-input> --> - <el-autocomplete - v-model="ruleForm.ssdw" - :fetch-suggestions="querySearchAsync" - placeholder="请输入所属单位" - disabled - ></el-autocomplete> + <el-autocomplete v-model="ruleForm.ssdw" :fetch-suggestions="querySearchAsync" placeholder="请输入所属单位" + disabled></el-autocomplete> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="平台类型" prop="ptlx" required> - <el-select v-model="ruleForm.ptlx" disabled placeholder="请选择平台类型" > - <el-option - v-for="dict in dict.type.sys_ptlx_type" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-select v-model="ruleForm.ptlx" disabled placeholder="请选择平台类型"> + <el-option v-for="dict in dict.type.sys_ptlx_type" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> @@ -35,89 +28,68 @@ <div v-if="ruleForm.ptlx == '1'"> <el-row> <el-col :span="12"> - <el-form-item label="微信号" prop="wxh"> + <el-form-item label="微信号" prop="wxh"> <el-input v-model="ruleForm.wxh" style="width: 100%;" placeholder="请输入微信号"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="公众号名称" prop="gzhmc" - :rules="[ - { required: true, message: '公众号名称不能为空', trigger: 'blur' } - ]" - > + <el-form-item label="公众号名称" prop="gzhmc" :rules="[ + { required: true, message: '公众号名称不能为空', trigger: 'blur' } + ]"> <el-input v-model="ruleForm.gzhmc" placeholder="请输入公众号名称" disabled></el-input> </el-form-item> </el-col> </el-row> <el-row> - <el-col :span="12" > - <el-form-item prop="tyshxydm" - class="daoqitixingren" label="统一社会信用代码" required - :rules="[ - { - required: true, - - pattern: /^[a-zA-Z0-9]{18}$/, - message: '请输入正确格式的18位统一社会信用代码', - trigger: 'change' - } - ]" - > - <el-input v-model="ruleForm.tyshxydm" placeholder="请输入统一信用代码"></el-input> - </el-form-item> + <el-col :span="12"> + <el-form-item prop="tyshxydm" class="daoqitixingren" label="统一社会信用代码" required :rules="[ + { + required: true, + + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'change' + } + ]"> + <el-input v-model="ruleForm.tyshxydm" placeholder="请输入统一信用代码"></el-input> + </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="公众号状态" prop="gzhzt"> + <el-form-item label="公众号状态" prop="gzhzt"> <el-select v-model="ruleForm.gzhzt" placeholder="请选择公众号状态"> - <el-option - v-for="dict in dict.type.gzh_state" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_state" :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="公众号ID" prop="gzhId"> + <el-form-item label="公众号ID" prop="gzhId"> <el-input v-model="ruleForm.gzhId" style="width: 100%;" placeholder="请输入公众号ID"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="公众号类型" prop="gzhlx"> + <el-form-item label="公众号类型" prop="gzhlx"> <el-select v-model="ruleForm.gzhlx" placeholder="请选择公众号类型"> - <el-option - v-for="dict in dict.type.gzh_lx" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_lx" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> - <el-form-item label="认证状态" prop="rzState"> + <el-form-item label="认证状态" prop="rzState"> <el-select v-model="ruleForm.rzState" placeholder="请选择认证状态"> - <el-option - v-for="dict in dict.type.gzh_rzzt" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_rzzt" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="认证时间" prop="rzsj"> - <el-date-picker - v-model="ruleForm.rzsj" - type="date" - format="yyyy-MM-dd" - value-format="yyyy-MM-dd" + <el-form-item label="认证时间" prop="rzsj"> + <el-date-picker v-model="ruleForm.rzsj" type="date" format="yyyy-MM-dd" value-format="yyyy-MM-dd" placeholder="选择日期"> </el-date-picker> </el-form-item> @@ -125,275 +97,246 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="认证类型" prop="rzlx"> + <el-form-item label="认证类型" prop="rzlx"> <el-select v-model="ruleForm.rzlx" placeholder="请选择认证类型"> - <el-option - v-for="dict in dict.type.gzh_rzlx" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_rzlx" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="所属行业" prop="sshy"> + <el-form-item label="所属行业" prop="sshy"> <el-select v-model="ruleForm.sshy" placeholder="请选择所属行业"> - <el-option - v-for="dict in dict.type.app_sshy" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_sshy" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> - <el-form-item label="重点行业" prop="zdhy"> + <el-form-item label="重点行业" prop="zdhy"> <el-select v-model="ruleForm.zdhy" placeholder="请选择重点行业"> - <el-option - v-for="dict in dict.type.app_zdhy" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_zdhy" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="行政区划" prop="xzqh"> + <el-form-item label="行政区划" prop="xzqh"> <el-select v-model="ruleForm.xzqh" placeholder="请选择行政区划"> - <el-option - v-for="dict in dict.type.app_xzqh" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_xzqh" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> - <el-form-item label="系统责任人" prop="xtzrr"> + <el-form-item label="系统责任人" prop="xtzrr"> <el-input v-model="ruleForm.xtzrr" style="width: 100%;" placeholder="请输入系统责任人"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item prop="xtzrrdh" - label="系统责任人电话" required - :rules="[ - { - required: true, - - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: '请输入正确的手机号码', - trigger: 'change' - } - ]" - > - <el-input v-model="ruleForm.xtzrrdh" style="width: 100%;" placeholder="请输入系统责任人电话"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item prop="xtzrryx" - label="系统责任人邮箱" required - :rules="[ - { - required: true, - - type: 'email', - message: '请输入正确的邮箱地址', - trigger: ['change', 'change'] - } - ]" - > - <el-input v-model="ruleForm.xtzrryx" style="width: 100%;" placeholder="请输入系统责任人邮箱"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="系统责任人地址" prop="xtzrrdz"> - <el-input v-model="ruleForm.xtzrrdz" style="width: 100%;" placeholder="请输入系统责任人地址"></el-input> + <el-form-item prop="xtzrrdh" label="系统责任人电话" required :rules="[ + { + required: true, + + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + message: '请输入正确的手机号码', + trigger: 'change' + } + ]"> + <el-input v-model="ruleForm.xtzrrdh" style="width: 100%;" placeholder="请输入系统责任人电话"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> - <el-form-item label="菜单信息(菜单名称)" prop="cdmc"> - <el-input v-model="ruleForm.cdmc" style="width: 100%;" placeholder="请输入菜单信息(菜单名称)"></el-input> + <el-form-item prop="xtzrryx" label="系统责任人邮箱" required :rules="[ + { + required: true, + + type: 'email', + message: '请输入正确的邮箱地址', + trigger: ['change', 'change'] + } + ]"> + <el-input v-model="ruleForm.xtzrryx" style="width: 100%;" placeholder="请输入系统责任人邮箱"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="菜单信息(菜单链接)" prop="cdlj"> - <el-input v-model="ruleForm.cdlj" style="width: 100%;" placeholder="请输入菜单信息(菜单链接)"></el-input> + <el-form-item label="系统责任人地址" prop="xtzrrdz"> + <el-input v-model="ruleForm.xtzrrdz" style="width: 100%;" placeholder="请输入系统责任人地址"></el-input> </el-form-item> </el-col> </el-row> + <el-row> + <el-col :span="12"> - <el-form-item label="菜单信息(菜单类型)" prop="cdlx"> - <el-input v-model="ruleForm.cdlx" style="width: 100%;" placeholder="请输入菜单信息(菜单类型)"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="认证主体" prop="rzzt"> + <el-form-item label="认证主体" prop="rzzt"> <el-input v-model="ruleForm.rzzt" style="width: 100%;" placeholder="请输入认证主体"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="24"> - <el-form-item label="系统简介" prop="xtjj"> - <el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" v-model="ruleForm.xtjj"></el-input> + <el-form-item label="系统简介" prop="xtjj"> + <el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" + v-model="ruleForm.xtjj"></el-input> </el-form-item> </el-col> </el-row> + <!-- 菜单信息 --> + <div> + <el-row> + <span class="top-title-box">菜单信息</span> + </el-row> + <el-row v-for="(domain, index) in ruleForm.cdList"> + <el-col :span="12"> + <el-form-item :label="'菜单名称' + (index == 0 ? '' : index)" required :prop="'cdList.' + index + '.cdmc'" + :rules="{ required: true, message: '菜单名称不能为空', trigger: 'blur'} "> + <el-input v-model="domain.cdmc" style="width: 100%;" placeholder="请输入菜单名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item :label="'菜单链接' + (index == 0 ? '' : index)" required + :prop="'cdList.' + index + '.cdlj'" :rules="{ required: true, message: '菜单链接不能为空', trigger: 'blur'} "> + <el-input v-model="domain.cdlj" style="width: 100%;" placeholder="请输入菜单链接"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item :label="'菜单类型' + (index == 0 ? '' : index)" required + :prop="'cdList.' + index + '.cdlj'" :rules="{ required: true, message: '菜单类型不能为空', trigger: 'blur'} "> + <el-select v-model="domain.cdlx" placeholder="请选择菜单类型"> + <el-option v-for="dict in dict.type.gzh_cdlx" :key="dict.value" :label="dict.label" + :value="dict.value" /> + </el-select> + </el-form-item> + </el-col> + <el-col :span="1" style="text-align: center; " v-if="!disabled" v-show="index != 0"> + <i @click="removeDomain(domain, 'cdList')" class="el-icon-remove-outline" + style="font-size: 16px;cursor: pointer;margin-top: 8px;"></i> + </el-col> + </el-row> + <el-row v-if="pageType !== 'look'"> + <el-col :span="24"> + <el-form-item> + <el-button @click="addOtherConcat('cdList')">添加菜单</el-button> + </el-form-item> + </el-col> + </el-row> + </div> </div> <div v-else> <el-row> <el-col :span="12"> <!-- <el-form-item> --> - <el-form-item prop="tyshxydm" class="daoqitixingren" label="统一社会信用代码" required - :rules="[ - { - pattern: /^[a-zA-Z0-9]{18}$/, - message: '请输入正确格式的18位统一社会信用代码', - trigger: 'blur' - } - ]" - > - <el-input v-model="ruleForm.tyshxydm" placeholder="请输入统一信用代码"></el-input> - </el-form-item> + <el-form-item prop="tyshxydm" class="daoqitixingren" label="统一社会信用代码" required :rules="[ + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]"> + <el-input v-model="ruleForm.tyshxydm" placeholder="请输入统一信用代码"></el-input> + </el-form-item> <!-- </el-form-item> --> </el-col> <el-col :span="12"> - <el-form-item label="账号名称" prop="gzhmc" - :rules="[ - { required: true, message: '账号名称不能为空', trigger: 'blur' } - ]" - > + <el-form-item label="账号名称" prop="gzhmc" :rules="[ + { required: true, message: '账号名称不能为空', trigger: 'blur' } + ]"> <el-input v-model="ruleForm.gzhmc" placeholder="请输入账号名称"></el-input> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> - <el-form-item label="账号ID" required prop="gzhId" - :rules="[ - { required: true, message: '账号名称不能为空', trigger: 'blur' } - ]" - > + <el-form-item label="账号ID" required prop="gzhId" :rules="[ + { required: true, message: '账号名称不能为空', trigger: 'blur' } + ]"> <el-input v-model="ruleForm.gzhId" style="width: 100%;" placeholder="请输入账号ID"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="账号状态" required - prop="gzhzt" - :rules="[ - { required: true, message: '账号状态不能为空', trigger: 'blur' } - ]" - > + <el-form-item label="账号状态" required prop="gzhzt" :rules="[ + { required: true, message: '账号状态不能为空', trigger: 'blur' } + ]"> <el-select v-model="ruleForm.gzhzt" placeholder="请选择账号状态"> - <el-option - v-for="dict in dict.type.gzh_state" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.gzh_state" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> - <el-form-item label="开办主体" required - prop="rzzt" - :rules="[ - { required: true, message: '开办主体不能为空', trigger: 'blur' } - ]" - > + <el-form-item label="开办主体" required prop="rzzt" :rules="[ + { required: true, message: '开办主体不能为空', trigger: 'blur' } + ]"> <el-input v-model="ruleForm.rzzt" style="width: 100%;" placeholder="请输入开办主体"></el-input> </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="粉丝数" required - prop="fss" - :rules="[ - { required: true, message: '粉丝数不能为空', trigger: 'blur' } - ]" - > + <el-form-item label="粉丝数" required prop="fss" :rules="[ + { required: true, message: '粉丝数不能为空', trigger: 'blur' } + ]"> <el-input v-model="ruleForm.fss" type="number" 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="zdhy" - > + <el-form-item label="重点行业" required prop="zdhy"> <el-select v-model="ruleForm.zdhy" placeholder="请选择重点行业"> - <el-option - v-for="dict in dict.type.app_zdhy" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_zdhy" :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="sshy"> <el-select v-model="ruleForm.sshy" placeholder="请选择所属行业"> - <el-option - v-for="dict in dict.type.app_sshy" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.app_sshy" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row> <el-col :span="12"> - <el-form-item label="系统责任人" required prop="xtzrr"> + <el-form-item label="系统责任人" required prop="xtzrr"> <el-input v-model="ruleForm.xtzrr" style="width: 100%;" placeholder="请输入系统责任人"></el-input> </el-form-item> </el-col> <el-col :span="12"> <!-- <el-form-item label="系统责任人电话" required> --> - <el-form-item prop="xtzrrdh" label="系统责任人电话" required - :rules="[ - { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, - message: '请输入正确的手机号码', - trigger: 'blur' - } - ]" - > - <el-input v-model="ruleForm.xtzrrdh" style="width: 100%;" placeholder="请输入系统责任人电话"></el-input> - </el-form-item> + <el-form-item prop="xtzrrdh" label="系统责任人电话" required :rules="[ + { + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + message: '请输入正确的手机号码', + trigger: 'blur' + } + ]"> + <el-input v-model="ruleForm.xtzrrdh" style="width: 100%;" placeholder="请输入系统责任人电话"></el-input> + </el-form-item> <!-- </el-form-item> --> </el-col> </el-row> <el-row> <el-col :span="12"> <!-- <el-form-item> --> - <el-form-item prop="xtzrryx" label="系统责任人邮箱" required - :rules="[ - { - type: 'email', - message: '请输入正确的邮箱地址', - trigger: ['blur', 'change'] - } - ]" - > - <el-input v-model="ruleForm.xtzrryx" style="width: 100%;" placeholder="请输入系统责任人邮箱"></el-input> - </el-form-item> + <el-form-item prop="xtzrryx" label="系统责任人邮箱" required :rules="[ + { + type: 'email', + message: '请输入正确的邮箱地址', + trigger: ['blur', 'change'] + } + ]"> + <el-input v-model="ruleForm.xtzrryx" style="width: 100%;" placeholder="请输入系统责任人邮箱"></el-input> + </el-form-item> <!-- </el-form-item> --> </el-col> <el-col :span="12"> @@ -405,12 +348,14 @@ <el-row> <el-col :span="24"> <el-form-item label="系统简介" required prop="xtjj"> - <el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" v-model="ruleForm.xtjj"></el-input> + <el-input type="textarea" resize="none" placeholder="请输入系统简介" :rows="5" + v-model="ruleForm.xtjj"></el-input> </el-form-item> </el-col> </el-row> </div> - <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType == 'change' && !audit"> + <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" + v-if="pageType == 'change' && !audit"> <el-button type="danger" @click="sendBack">取消</el-button> <el-button type="primary" @click="newAssets" :loading="loading">提交</el-button> </el-row> @@ -446,20 +391,26 @@ import { assetOfficialAccount, assetOfficialAccountInfo, unitAllList, gzhLookInfo, gzhAudit, gzhUnitEdit } from "@/api/auditPagesApi/index"; import myDialog from "@/views/components/myDialog/index.vue" export default { - dicts:['app_xzqh','app_sshy','app_zdhy','gzh_state','gzh_lx','gzh_rzzt','gzh_rzlx','gzh_cdlx','sys_ptlx_type'], - components:{ + dicts: ['app_xzqh', 'app_sshy', 'app_zdhy', 'gzh_state', 'gzh_lx', 'gzh_rzzt', 'gzh_rzlx', 'gzh_cdlx', 'sys_ptlx_type'], + components: { myDialog }, data() { return { - ruleForm:{ - + ruleForm: { + cdList: [ + { + cdmc: "", + cdlj: "", + cdlx: "", + } + ] }, - rules:{ - ssdw:[ + rules: { + ssdw: [ { required: true, message: "所属单位不能为空", trigger: "blur" } ], - gzhmc:[ + gzhmc: [ { required: true, message: "公众号名称不能为空", trigger: "blur" } ], wxh: [ @@ -513,38 +464,38 @@ export default { xtzrrdz: [ { required: true, message: "系统责任人地址不能为空", trigger: "blur" } ], - cdmc: [ - { required: true, message: "菜单信息(菜单名称)不能为空", trigger: "blur" } - ], - cdlj: [ - { required: true, message: "菜单信息(菜单链接)不能为空", trigger: "blur" } - ], - cdlx: [ - { required: true, message: "菜单信息(菜单类型)不能为空", trigger: "blur" } - ], + // cdmc: [ + // { required: true, message: "菜单信息(菜单名称)不能为空", trigger: "blur" } + // ], + // cdlj: [ + // { required: true, message: "菜单信息(菜单链接)不能为空", trigger: "blur" } + // ], + // cdlx: [ + // { required: true, message: "菜单信息(菜单类型)不能为空", trigger: "blur" } + // ], xtjj: [ { required: true, message: "系统简介不能为空", trigger: "blur" } ] }, - loading:false, - disabled:false, - dialogruleForm:{ - auditYy:'', + loading: false, + disabled: false, + dialogruleForm: { + auditYy: '', }, - dialogruleFormrules:{ + dialogruleFormrules: { auditYy: [ { required: true, message: '请输入', trigger: 'blur' }, ], }, } }, - props:['pageType', 'id', 'audit', 'isModdle', 'name', 'queryData'], - mounted(){ - if(this.isModdle) { - if(this.pageType == 'look') { + props: ['pageType', 'id', 'audit', 'isModdle', 'name', 'queryData'], + mounted() { + if (this.isModdle) { + if (this.pageType == 'look') { this.getInfoTwo(this.id) this.disabled = true; - this.$nextTick(()=>{ + this.$nextTick(() => { const inputElements = document.querySelectorAll('.el-input__inner'); const textareaInputElements = document.querySelectorAll('.el-textarea__inner'); inputElements.forEach((input) => { @@ -554,18 +505,18 @@ export default { input.placeholder = ''; }); }) - } else if(this.pageType == 'change') { + } else if (this.pageType == 'change') { this.getInfoTwo(this.id) this.disabled = false; } - if(this.audit) { + if (this.audit) { this.disabled = true; } } else { - if(this.pageType == 'look') { + if (this.pageType == 'look') { this.getInfo(this.id) this.disabled = true; - this.$nextTick(()=>{ + this.$nextTick(() => { const inputElements = document.querySelectorAll('.el-input__inner'); const textareaInputElements = document.querySelectorAll('.el-textarea__inner'); inputElements.forEach((input) => { @@ -575,20 +526,35 @@ export default { input.placeholder = ''; }); }) - } else if(this.pageType == 'change') { + } else if (this.pageType == 'change') { this.getInfo(this.id) this.disabled = false; } - if(this.audit) { + if (this.audit) { this.disabled = true; } } }, - methods:{ - getInfo(id){ - assetOfficialAccountInfo(id).then(res=>{ + methods: { + removeDomain(item, type) { + var index = this.ruleForm[type].indexOf(item) + if (index !== -1) { + this.ruleForm[type].splice(index, 1) + } + }, + // 新增其他联系人 + addOtherConcat(type) { + this.ruleForm[type].push({ + cdmc: "", + cdlj: "", + cdlx: "", + // key: Date.now() + }); + }, + getInfo(id) { + assetOfficialAccountInfo(id).then(res => { this.ruleForm = res.data; - if(!this.ruleForm.ptlx) { + if (!this.ruleForm.ptlx) { this.ruleForm.ptlx = '1' } setTimeout(() => { @@ -596,10 +562,10 @@ export default { }, 100); }) }, - getInfoTwo(id){ - gzhLookInfo(id).then(res=>{ + getInfoTwo(id) { + gzhLookInfo(id).then(res => { this.ruleForm = res.data; - if(!this.ruleForm.ptlx) { + if (!this.ruleForm.ptlx) { this.ruleForm.ptlx = '1' } setTimeout(() => { @@ -608,9 +574,9 @@ export default { }) }, // 单位名称模糊查询 - querySearchAsync(queryString, cb){ + querySearchAsync(queryString, cb) { let results = []; - unitAllList({nickName: queryString}).then(res => { + unitAllList({ nickName: queryString }).then(res => { res.data.forEach(item => { results.push({ value: item.nickName, @@ -621,20 +587,20 @@ export default { cb(results); }, // 新增资产确认按钮 - newAssets(){ + newAssets() { this.$refs['ruleForm'].validate((valid) => { - if(valid) { + if (valid) { this.loading = true; - if(this.pageType == 'change') { - gzhUnitEdit(this.ruleForm).then(res=>{ + if (this.pageType == 'change') { + gzhUnitEdit(this.ruleForm).then(res => { // console.log(res,"res"); this.loading = false; this.$modal.msgSuccess("提交成功,待管理员审核通过后完成修改"); // this.$router.go(-1); - this.$router.push({name:this.name,params: this.queryData}) + this.$router.push({ name: this.name, params: this.queryData }) }) } else { - assetOfficialAccount('post',this.ruleForm).then(res=>{ + assetOfficialAccount('post', this.ruleForm).then(res => { // console.log(res,"res"); this.loading = false; this.$modal.msgSuccess("新增成功"); @@ -644,18 +610,18 @@ export default { } }) }, - sendBack(){ + sendBack() { // this.$router.go(-1); - this.$router.push({name:this.name,params: this.queryData}) + this.$router.push({ name: this.name, params: this.queryData }) }, // 驳回按钮 - btnReject(){ + btnReject() { this.$refs.liebiaoDialog.open() }, // 驳回输入驳回原因点击取消按钮 resetForm() { this.dialogruleForm = { - auditYy:"" + auditYy: "" } this.$refs.liebiaoDialog.close() }, @@ -668,11 +634,11 @@ export default { auditYy: this.dialogruleForm.auditYy, currentId: Number(this.id), } - gzhAudit(tijioaobj).then(res=>{ - if(res.code == 200){ + gzhAudit(tijioaobj).then(res => { + if (res.code == 200) { this.$modal.msgSuccess("审核驳回"); // this.$router.go(-1); - this.$router.push({name:this.name,params: this.queryData}) + this.$router.push({ name: this.name, params: this.queryData }) } }) } else { @@ -682,14 +648,14 @@ export default { }); }, // 通过按钮 - btnPass(){ + btnPass() { this.loading = true; - gzhAudit({currentId:Number(this.id),auditState:"2"}).then(res=>{ + gzhAudit({ currentId: Number(this.id), auditState: "2" }).then(res => { this.$modal.msgSuccess("审核通过"); // this.$router.go(-1); - this.$router.push({name:this.name,params: this.queryData}) + this.$router.push({ name: this.name, params: this.queryData }) this.loading = false; - }).catch(err=>{ + }).catch(err => { this.loading = false; }) }, diff --git a/src/views/components/myUpload/index.vue b/src/views/components/myUpload/index.vue index 173826c..b92e585 100644 --- a/src/views/components/myUpload/index.vue +++ b/src/views/components/myUpload/index.vue @@ -67,10 +67,10 @@ export default { return { number: 0, uploadList: [], - // baseUrl: process.env.VUE_APP_BASE_API, - baseUrl: location.origin + '/api', - // uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传文件服务器地址 - uploadFileUrl: location.origin + '/api/common/upload', + baseUrl: process.env.VUE_APP_BASE_API, + // baseUrl: location.origin + '/api', + uploadFileUrl: process.env.VUE_APP_BASE_API + "/common/upload", // 上传文件服务器地址 + // uploadFileUrl: location.origin + '/api/common/upload', headers: { Authorization: "Bearer " + getToken(), }, diff --git a/src/views/components/renwuType/index_v1.vue b/src/views/components/renwuType/index_v1.vue index 1be62e1..9f45865 100644 --- a/src/views/components/renwuType/index_v1.vue +++ b/src/views/components/renwuType/index_v1.vue @@ -18,7 +18,7 @@ </el-col> <el-col :span="12"> <el-form-item label="小程序名称" prop="xcxmc"> - <el-input v-model="ruleForm.xcxmc" placeholder="请输入小程序名称" disabled></el-input> + <el-input v-model="ruleForm.xcxmc" placeholder="请输入小程序名称" ></el-input> </el-form-item> </el-col> </el-row> @@ -222,19 +222,18 @@ </el-form-item> </el-col> </el-row> - + </el-form> <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" - v-if="pageType !== 'look' && $route.name == 'mytaskAuditInfo'"> - <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="success" @click="newAssets(3)" :loading="loading">提交</el-button> + v-if="pageType !== 'look' && $route.name == 'mytaskAuditInfo'"> + <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="success" @click="newAssets(3)" :loading="loading">提交</el-button> <!-- <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> --> - </el-row> - <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" - v-if="pageType == 'look'"> + </el-row> + <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType == 'look'"> <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> </el-row> <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" @@ -243,7 +242,7 @@ <el-button type="primary" @click="JGnewAssets(1)">通过</el-button> <!-- <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> --> </el-row> - + </div> </div> <baofei ref='baofei' :ruleForm='ruleForm' @assetTaskzc="guanting"></baofei> @@ -361,9 +360,9 @@ export default { this.getInfo() this.disabled = false; } - if (this.$route.query.taskInfo == 'taskInfo') { - this.disabled = true; - } + // if (this.$route.query.taskInfo == 'taskInfo') { + // this.disabled = true; + // } }, methods: { sendBack() { @@ -466,23 +465,30 @@ export default { } if (type == 1) { - let tijioaobj = { - taskId: this.$route.query.taskId, - assetId: this.$route.query.assetId, - xtmc: this.ruleForm.xcxmc, - status: 3, - type: this.$route.query.type - } - assetTasksh(tijioaobj).then(res => { - if (res.code == 200) { - this.$modal.msgSuccess("审核成功"); - this.$router.go(-1); + + this.$refs['ruleForm'].validate((valid) => { + if (valid) { + let tijioaobj = { + taskId: this.$route.query.taskId, + assetId: this.$route.query.assetId, + xtmc: this.ruleForm.xcxmc, + status: 3, + type: this.$route.query.type, + assetMiniProgramsCpPo:this.ruleForm + } + assetTasksh(tijioaobj).then(res => { + if (res.code == 200) { + this.$modal.msgSuccess("审核成功"); + this.$router.go(-1); + } + }) } }) + } }, - + }, } </script> \ No newline at end of file diff --git a/src/views/components/renwuType/index_v2.vue b/src/views/components/renwuType/index_v2.vue index 41a3960..d51b5a3 100644 --- a/src/views/components/renwuType/index_v2.vue +++ b/src/views/components/renwuType/index_v2.vue @@ -34,7 +34,7 @@ </el-col> <el-col :span="12"> <el-form-item label="公众号名称" prop="gzhmc"> - <el-input v-model="ruleForm.gzhmc" placeholder="请输入公众号名称" disabled></el-input> + <el-input v-model="ruleForm.gzhmc" placeholder="请输入公众号名称"></el-input> </el-form-item> </el-col> @@ -170,24 +170,9 @@ </el-form-item> </el-col> </el-row> + <el-row> - <el-col :span="12"> - <el-form-item label="菜单信息(菜单名称)" prop="cdmc"> - <el-input v-model="ruleForm.cdmc" style="width: 100%;" placeholder="请输入菜单信息(菜单名称)"></el-input> - </el-form-item> - </el-col> - <el-col :span="12"> - <el-form-item label="菜单信息(菜单链接)" prop="cdlj"> - <el-input v-model="ruleForm.cdlj" style="width: 100%;" placeholder="请输入菜单信息(菜单链接)"></el-input> - </el-form-item> - </el-col> - </el-row> - <el-row> - <el-col :span="12"> - <el-form-item label="菜单信息(菜单类型)" prop="cdlx"> - <el-input v-model="ruleForm.cdlx" style="width: 100%;" placeholder="请输入菜单信息(菜单类型)"></el-input> - </el-form-item> - </el-col> + <el-col :span="12"> <el-form-item label="认证主体" prop="rzzt"> <el-input v-model="ruleForm.rzzt" style="width: 100%;" placeholder="请输入认证主体"></el-input> @@ -202,6 +187,45 @@ </el-form-item> </el-col> </el-row> + <div> + <el-row> + <span class="top-title-box">菜单信息</span> + </el-row> + <el-row v-for="(domain, index) in ruleForm.cdList"> + <el-col :span="12"> + <el-form-item :label="'菜单名称' + (index == 0 ? '' : index)" required :prop="'cdList.' + index + '.cdmc'" + :rules="{ required: true, message: '菜单名称不能为空', trigger: 'blur' }"> + <el-input v-model="domain.cdmc" style="width: 100%;" placeholder="请输入菜单名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item :label="'菜单链接' + (index == 0 ? '' : index)" required :prop="'cdList.' + index + '.cdlj'" + :rules="{ required: true, message: '菜单链接不能为空', trigger: 'blur' }"> + <el-input v-model="domain.cdlj" style="width: 100%;" placeholder="请输入菜单链接"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item :label="'菜单类型' + (index == 0 ? '' : index)" required :prop="'cdList.' + index + '.cdlj'" + :rules="{ required: true, message: '菜单类型不能为空', trigger: 'change' }"> + <el-select v-model="domain.cdlx" placeholder="请选择菜单类型"> + <el-option v-for="dict in dict.type.gzh_cdlx" :key="dict.value" :label="dict.label" + :value="dict.value" /> + </el-select> + </el-form-item> + </el-col> + <el-col :span="1" style="text-align: center; " v-if="!disabled" v-show="index != 0"> + <i @click="removeDomain(domain, 'cdList')" class="el-icon-remove-outline" + style="font-size: 16px;cursor: pointer;margin-top: 8px;"></i> + </el-col> + </el-row> + <el-row v-if="pageType !== 'look'"> + <el-col :span="24"> + <el-form-item> + <el-button @click="addOtherConcat('cdList')">添加菜单</el-button> + </el-form-item> + </el-col> + </el-row> + </div> </div> <div v-else> <el-row> @@ -311,19 +335,18 @@ </el-form-item> </el-col> </el-row> - + </el-form> <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" - v-if="pageType !== 'look' && $route.name == 'mytaskAuditInfo'"> - <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="success" @click="newAssets(3)" :loading="loading">提交</el-button> - <!-- <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> --> + v-if="pageType !== 'look' && $route.name == 'mytaskAuditInfo'"> + <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="success" @click="newAssets(3)" :loading="loading">提交</el-button> + <!-- <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> --> - </el-row> - <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" - v-if="pageType == 'look'"> + </el-row> + <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType == 'look'"> <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> </el-row> <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" @@ -333,7 +356,7 @@ <!-- <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> --> </el-row> - + </div> </div> <baofei ref='baofei' :ruleForm='ruleForm' @assetTaskzc="guanting"></baofei> @@ -353,7 +376,13 @@ export default { data() { return { ruleForm: { - + cdList: [ + { + cdmc: "", + cdlj: "", + cdlx: "", + } + ] }, rules: { ssdw: [ @@ -413,15 +442,15 @@ export default { xtzrrdz: [ { required: true, message: "系统责任人地址不能为空", trigger: "change" } ], - cdmc: [ - { required: true, message: "菜单信息(菜单名称)不能为空", trigger: "change" } - ], - cdlj: [ - { required: true, message: "菜单信息(菜单链接)不能为空", trigger: "change" } - ], - cdlx: [ - { required: true, message: "菜单信息(菜单类型)不能为空", trigger: "change" } - ], + // cdmc: [ + // { required: true, message: "菜单信息(菜单名称)不能为空", trigger: "change" } + // ], + // cdlj: [ + // { required: true, message: "菜单信息(菜单链接)不能为空", trigger: "change" } + // ], + // cdlx: [ + // { required: true, message: "菜单信息(菜单类型)不能为空", trigger: "change" } + // ], xtjj: [ { required: true, message: "系统简介不能为空", trigger: "change" } ] @@ -450,11 +479,26 @@ export default { this.getInfo(this.id) this.disabled = false; } - if (this.$route.query.taskInfo == 'taskInfo') { - this.disabled = true; - } + // if (this.$route.query.taskInfo == 'taskInfo') { + // this.disabled = true; + // } }, methods: { + removeDomain(item, type) { + var index = this.ruleForm[type].indexOf(item) + if (index !== -1) { + this.ruleForm[type].splice(index, 1) + } + }, + // 新增其他联系人 + addOtherConcat(type) { + this.ruleForm[type].push({ + cdmc: "", + cdlj: "", + cdlx: "", + // key: Date.now() + }); + }, sendBack() { if (localStorage.getItem('ismypaginationTow')) { let formInline = JSON.parse(localStorage.getItem('ismypaginationTow')) @@ -556,23 +600,29 @@ export default { } if (type == 1) { - let tijioaobj = { - taskId: this.$route.query.taskId, - assetId: this.$route.query.assetId, - xtmc: this.ruleForm.gzhmc, - status: 3, - type: this.$route.query.type - } - assetTasksh(tijioaobj).then(res => { - if (res.code == 200) { - this.$modal.msgSuccess("审核成功"); - this.$router.go(-1); + this.$refs['ruleForm'].validate((valid) => { + + let tijioaobj = { + taskId: this.$route.query.taskId, + assetId: this.$route.query.assetId, + xtmc: this.ruleForm.gzhmc, + status: 3, + type: this.$route.query.type, + assetOfficialAccountCpPo:this.ruleForm + } + assetTasksh(tijioaobj).then(res => { + if (res.code == 200) { + this.$modal.msgSuccess("审核成功"); + this.$router.go(-1); + } + }) }) + } }, - + }, } </script> \ No newline at end of file diff --git a/src/views/components/renwuType/index_v3.vue b/src/views/components/renwuType/index_v3.vue index aaed14d..fcaa30f 100644 --- a/src/views/components/renwuType/index_v3.vue +++ b/src/views/components/renwuType/index_v3.vue @@ -18,7 +18,7 @@ </el-col> <el-col :span="12"> <el-form-item label="电子邮箱后缀" prop="dzyxhz"> - <el-input v-model="ruleForm.dzyxhz" placeholder="请输入电子邮箱后缀" disabled></el-input> + <el-input v-model="ruleForm.dzyxhz" placeholder="请输入电子邮箱后缀" ></el-input> </el-form-item> </el-col> </el-row> @@ -165,20 +165,19 @@ </el-form-item> </el-col> </el-row> - + </el-form> <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" - v-if="pageType !== 'look' && $route.name == 'mytaskAuditInfo'"> - <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="success" @click="newAssets(3)" :loading="loading">提交</el-button> + v-if="pageType !== 'look' && $route.name == 'mytaskAuditInfo'"> + <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="success" @click="newAssets(3)" :loading="loading">提交</el-button> <!-- <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> --> - </el-row> - <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" - v-if="pageType == 'look'"> + </el-row> + <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType == 'look'"> <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> </el-row> <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" @@ -187,7 +186,7 @@ <el-button type="primary" @click="JGnewAssets(1)">通过</el-button> <!-- <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> --> </el-row> - + </div> </div> <baofei ref='baofei' :ruleForm='ruleForm' @assetTaskzc="guanting"></baofei> @@ -284,9 +283,9 @@ export default { this.getInfo(this.id) this.disabled = false; } - if (this.$route.query.taskInfo == 'taskInfo') { - this.disabled = true; - } + // if (this.$route.query.taskInfo == 'taskInfo') { + // this.disabled = true; + // } }, methods: { sendBack() { @@ -387,23 +386,30 @@ export default { } if (type == 1) { - let tijioaobj = { - taskId: this.$route.query.taskId, - assetId: this.$route.query.assetId, - xtmc: this.ruleForm.dzyxhz, - status: 3, - type: this.$route.query.type - } - assetTasksh(tijioaobj).then(res => { - if (res.code == 200) { - this.$modal.msgSuccess("审核成功"); - this.$router.go(-1); + + this.$refs['ruleForm'].validate((valid) => { + + let tijioaobj = { + taskId: this.$route.query.taskId, + assetId: this.$route.query.assetId, + xtmc: this.ruleForm.dzyxhz, + status: 3, + type: this.$route.query.type, + assetEmailCpPo: this.ruleForm + } + assetTasksh(tijioaobj).then(res => { + if (res.code == 200) { + this.$modal.msgSuccess("审核成功"); + this.$router.go(-1); + } + }) }) + } }, - + }, } </script> \ No newline at end of file diff --git a/src/views/components/renwuType/index_v4.vue b/src/views/components/renwuType/index_v4.vue index 178fbf7..355d96f 100644 --- a/src/views/components/renwuType/index_v4.vue +++ b/src/views/components/renwuType/index_v4.vue @@ -18,7 +18,7 @@ </el-col> <el-col :span="12"> <el-form-item label="移动应用名称" prop="appName"> - <el-input v-model="ruleForm.appName" placeholder="请输入移动应用名称" disabled></el-input> + <el-input v-model="ruleForm.appName" placeholder="请输入移动应用名称" ></el-input> </el-form-item> </el-col> </el-row> @@ -152,20 +152,19 @@ </el-form-item> </el-col> </el-row> - + </el-form> <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" - v-if="pageType !== 'look' && $route.name == 'mytaskAuditInfo'"> - <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="success" @click="newAssets(3)" :loading="loading">提交</el-button> + v-if="pageType !== 'look' && $route.name == 'mytaskAuditInfo'"> + <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="success" @click="newAssets(3)" :loading="loading">提交</el-button> <!-- <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> --> - </el-row> - <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" - v-if="pageType == 'look'"> + </el-row> + <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-if="pageType == 'look'"> <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> </el-row> <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" @@ -175,7 +174,7 @@ <!-- <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> --> </el-row> - + </div> </div> <baofei ref='baofei' :ruleForm='ruleForm' @assetTaskzc="guanting"></baofei> @@ -274,9 +273,9 @@ export default { this.getInfo(this.id) this.disabled = false; } - if (this.$route.query.taskInfo == 'taskInfo') { - this.disabled = true; - } + // if (this.$route.query.taskInfo == 'taskInfo') { + // this.disabled = true; + // } }, methods: { sendBack() { @@ -377,23 +376,29 @@ export default { } if (type == 1) { - let tijioaobj = { - taskId: this.$route.query.taskId, - assetId: this.$route.query.assetId, - xtmc: this.ruleForm.appName, - status: 3, - type: this.$route.query.type - } - assetTasksh(tijioaobj).then(res => { - if (res.code == 200) { - this.$modal.msgSuccess("审核成功"); - this.$router.go(-1); + this.$refs['ruleForm'].validate((valid) => { + + let tijioaobj = { + taskId: this.$route.query.taskId, + assetId: this.$route.query.assetId, + xtmc: this.ruleForm.appName, + status: 3, + type: this.$route.query.type, + assetAppCpPo: this.ruleForm + } + assetTasksh(tijioaobj).then(res => { + if (res.code == 200) { + this.$modal.msgSuccess("审核成功"); + this.$router.go(-1); + } + }) }) + } }, - + }, } </script> \ No newline at end of file diff --git a/src/views/components/renwuType/webType1 copy.vue b/src/views/components/renwuType/webType1 copy.vue new file mode 100644 index 0000000..76cad49 --- /dev/null +++ b/src/views/components/renwuType/webType1 copy.vue @@ -0,0 +1,3046 @@ +<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-if="!loading"> + <el-form :model="ruleForm" v-loading="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> + <el-input v-model="ruleForm.xtmc"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="单位名称" required> + <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" placeholder="请输入系统域名"></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="建设(运营)单位"> + <el-input v-model="ruleForm.jsyydw" placeholder="请输入建设(运营)单位"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="互联网开放用途" required> + <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="12"> + <el-form-item label="Ip/Port" required class="IpPort"> + <el-row> + <el-col :span="19"> + <el-form-item prop="name"> + <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="name"> + <el-input v-model="ruleForm.ipPort" style="width: 100%;" placeholder="端口号"></el-input> + </el-form-item> + </el-col> + </el-row> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="是否自建互联网专线IP" required prop="isZjhlwip" > + <el-select v-model="ruleForm.isZjhlwip" placeholder="请选择是否自建互联网专线IP"> + <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="'关联域名' + (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;" v-if="$route.query.pageType != 'look'"> + <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="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="'关联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;" v-if="$route.query.pageType != 'look'"> + <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="到期提醒人" 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="系统重要性"> + <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> + <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="系统类型" required> + <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-col :span="12"> + <el-form-item label="机房信息" required> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <!-- v-if="ruleForm.bsypt == 1" --> + <el-row> + <el-col :span="12"> + <el-form-item label="云服务商名称" required> + <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> + <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> + <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> + <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"> + <el-form-item label="DNS"> + <el-input v-model="ruleForm.dns" style="width: 100%;" placeholder="请输入DNS"></el-input> + </el-form-item> + </el-col> + <el-col :span="12"> + <el-form-item label="系统标签"> + <el-input v-model="ruleForm.xtbq" style="width: 100%;" placeholder="请输入系统标签"></el-input> + </el-form-item> + </el-col> + </el-row> + + <el-row> + <el-col :span="12" v-if="ruleForm.xtbsfs == 3"> + <el-form-item label="托管单位" required> + <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> + <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> + <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> + <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="name"> + <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' + }, + { + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + message: '请输入正确的手机号码', + trigger: 'blur' + } + ]"> + <el-input v-model="ruleForm.fgfzrlxfs" style="width: 100%;" placeholder="请输入联系方式"></el-input> + </el-form-item> + </el-col> + <el-col :span="8" 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="name"> + <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' + }, + { + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + message: '请输入正确的手机号码', + trigger: 'blur' + } + ]"> + <el-input v-model="ruleForm.bmfzrlxfs" style="width: 100%;" placeholder="请输入联系方式"></el-input> + </el-form-item> + </el-col> + <el-col :span="8" 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="name"> + <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' + }, + { + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + message: '请输入正确的手机号码', + trigger: 'blur' + } + ]"> + <el-input v-model="ruleForm.dylxrlxfs" style="width: 100%;" placeholder="请输入联系方式"></el-input> + </el-form-item> + </el-col> + <el-col :span="8" 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="'otherConcat.' + index + '.qtlxrlxfs'" :rules="[ + { + required: true, message: '请输入', trigger: 'blur' + }, + { + pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + message: '请输入正确的手机号码', + trigger: 'blur' + } + ]"> + <el-input v-model="domain.qtlxrlxfs" style="width: 100%;" placeholder="请输入联系方式"></el-input> + </el-form-item> + </el-col> + <el-col :span="7" 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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <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> + <!-- 第三方测评 --> + <div v-if="ruleForm.dbxxSfydsfcp == 1"> + <el-row style="margin: 10px 0;"> + <span class="top-title-two-box">第三方测评</span> + </el-row> + <el-row style="display: flex;"> + <el-col :span="8"> + <el-form-item label="测评机构名称"> + <el-input v-model="ruleForm.sfCpjgmc" style="width: 100%;" placeholder="请输入测评机构名称"></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="测评机构联系人"> + <el-input v-model="ruleForm.sfCpjglxr" style="width: 100%;" placeholder="请输入测评机构联系人"></el-input> + </el-form-item> + </el-col> + <el-col :span="8"> + <el-form-item label="测评机构地址"> + <el-input v-model="ruleForm.sfCpjgdz" style="width: 100%;" placeholder="请输入测评机构地址"></el-input> + </el-form-item> + </el-col> + </el-row> + <el-row style="display: flex;"> + <el-col :span="8"> + <el-form-item label="测评机构联系人电话" prop="sfCpjglxrdh" :rules="[ + { + pattern: /^1[3|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> + </div> + <!-- 密评信息 --> + <el-row style="margin: 10px 0;"> + <span class="top-title-box">密评信息</span> + </el-row> + <el-row> + <el-col :span="12"> + <el-form-item label="是否密评系统"> + <el-select v-model="ruleForm.mpSfmpxt" placeholder="请选择是否密评系统"> + <el-option v-for="dict in 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 :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;" v-if='shaojunbuyao'> + <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;" v-if='shaojunbuyao'> + <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;" v-if='shaojunbuyao'> + <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;" v-if='shaojunbuyao'> + <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 :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 :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 :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' + } + ]"> + <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> + <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> + <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;" v-if='shaojunbuyao'> + <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 :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 :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 :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' + } + ]"> + <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> + <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> + <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;" v-if='shaojunbuyao'> + <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;" v-if='shaojunbuyao'> + <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" :prop="'fwqxx.' + index + '.value'"> + <el-row style="display: flex;"> + <el-col :span="8"> + <el-form-item class="daoqitixingren" required :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 :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-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-col> + <el-col :span="16" style="margin-left: 10px;"> + <el-input v-model="domain.sbIp" placeholder="请输入"></el-input> + </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 :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 :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 :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 :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 :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 :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 :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-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-col> + <el-col :span="16" style="margin-left: 10px;"> + <el-input v-model="domain.sbIp" placeholder="请输入"></el-input> + </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 :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 :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 :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 :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 :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-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-col> + <el-col :span="16" style="margin-left: 10px;"> + <el-input v-model="domain.sbIp" placeholder="请输入"></el-input> + </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 :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 :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 :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> + <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> + <!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> --> + <el-select v-model="ruleForm.sjzcSjklx" placeholder="请选择数据库类型"> + <el-option + v-for="dict in dict.type.database_type" + :key="dict.value" + :label="dict.label" + :value="dict.value" + /> + </el-select> + </el-form-item> + </el-col> + </el-row> + <el-row style="display: flex;"> + <el-col :span="12"> + <el-form-item label="端口" required> + <el-input v-model="ruleForm.sjzcDk" placeholder="请输入端口"></el-input> + </el-form-item> + </el-col> + <el-col :span="12" style="margin-left: 10px;"> + <el-form-item label="数据库版本" required> + <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> + <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> + <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> + <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> + <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> + <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> + <!-- <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> + <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> + <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> + <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> + <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> + <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;" v-if="ruleForm.bfyy"> + <span class="top-title-box">关停原因</span> + </el-row> + <el-row style="margin: 20px 0;"> + <el-form-item> + <div>{{ ruleForm.bfyy }}</div> + </el-form-item> + </el-row> + + </div> + </el-form> + <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" + v-if="$route.query.pageType == 'change'"> + <el-button type="danger" @click="newAssets(0)">不通过</el-button> + <el-button type="primary" @click="newAssets(1)">通过</el-button> + </el-row> + <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" + v-else> + <el-button type="primary" @click="sendBack" class="fanhuipiaofu" >返回</el-button> + </el-row> + + + </div> + <my-dialog title="提示" ref="liebiaoDialog" @close="importClose" class="taskDialogBox" width="40%"> + <el-row> + <el-col :span="21"> + <el-form :model="dialogruleForm" :rules="dialogruleFormrules" ref="dialogruleForm" label-width="100px"> + <el-form-item label="不通过原因:" prop="btgyy"> + <el-input v-model="dialogruleForm.btgyy" placeholder="请输入不通过原因"></el-input> + </el-form-item> + <el-form-item class="newTask-form-item"> + <el-button @click="resetForm('dialogruleForm')">取消</el-button> + <el-button type="primary" @click="submitForm('dialogruleForm')">确定</el-button> + </el-form-item> + </el-form> + </el-col> + <el-col :span="6"></el-col> + </el-row> + </my-dialog> + </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 myDialog from "@/views/components/myDialog/index.vue" + +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', 'database_type' + ], + components: { + myUpload, + myDialog + }, + data() { + return { + dialogruleForm: { + btgyy: "" + }, + dialogruleFormrules: { + btgyy: [ + { required: true, message: '请输入', trigger: 'blur' }, + ], + }, + shaojunbuyao: false, + 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.disabled = false; + this.getInfo(obj) + this.isMore = true; + } + }, + methods: { + sendBack() { + if (localStorage.getItem('ismypaginationTow')) { + let formInline = JSON.parse(localStorage.getItem('ismypaginationTow')) + formInline.isfanhuiTow = true + localStorage.setItem("ismypaginationTow", JSON.stringify(formInline)) + } + this.$router.go(-1); + }, + importClose() { }, + // 关闭新增弹窗 + resetForm() { + this.dialogruleForm = { + btgyy: "" + } + this.$refs.liebiaoDialog.close() + + }, + // 获取详情 + 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) { + this[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 = ""; + } + }, + submitForm(formName) { + this.$refs[formName].validate((valid) => { + if (valid) { + let tijioaobj = { + taskId: this.$route.query.taskId, + assetId: this.$route.query.assetId, + xtmc: this.ruleForm.xtmc, + btgyy: this.dialogruleForm.btgyy, + status: 4, + type: this.$route.query.type + } + assetTasksh(tijioaobj).then(res => { + if (res.code == 200) { + this.$modal.msgSuccess("审核成功"); + this.loading = false + this.$router.go(-1); + } + }) + + } else { + console.log('error submit!!'); + return false; + } + }); + + }, + // 新增资产确认按钮 + newAssets(type) { + + + //不通过 + if (type == 0) { + this.$refs.liebiaoDialog.open() + + } + if (type == 1) { + this.loading = true; + let tijioaobj = { + taskId: this.$route.query.taskId, + assetId: this.$route.query.assetId, + xtmc: this.ruleForm.xtmc, + dwmc: this.$route.query.zcdwmc, + status: 3, + type: this.$route.query.type + } + tijioaobj.status = 3 + assetTasksh(tijioaobj).then(res => { + if (res.code == 200) { + this.$modal.msgSuccess("审核成功"); + this.loading = false + this.$router.go(-1); + } + }) + + // 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.chepingUnit, ...this.yjgysUnit, ...this.jfywUnit, ...this.xtsjUnit, ...this.xtjsUnit, ...this.xtyyUnit, ...this.aqfwUnit] + // this.ruleForm.jcwlList = [...this.fwqxx, ...this.wlsb, ...this.aqsb] + // if (this.dlwz.length > 0) { + // this.ruleForm.sheng = this.dlwz[0] + // this.ruleForm.shi = this.dlwz[1] + // this.ruleForm.qu = this.dlwz[2] + // } + // this.loading = true; + // if (this.$route.query.pageType == 'change') { + // assetUnitData('put', this.ruleForm).then(res => { + // console.log(res, "res"); + // this.loading = false; + // this.$modal.msgSuccess("修改成功"); + // this.$router.go(-1); + // }) + // } else { + // assetUnitData('post', this.ruleForm).then(res => { + // console.log(res, "res"); + // this.loading = false; + // this.$modal.msgSuccess("新增成功"); + // this.$router.go(-1); + // }) + // } + } + + }, + }, + beforeRouteEnter(to, from, next) { + if (to.query.pageType == 'change') { + to.meta.title = '审核资产' + } else if (to.query.pageType == 'look') { + to.meta.title = '查看资产' + } + next(); + }, +} +</script> diff --git a/src/views/components/renwuType/webType1.vue b/src/views/components/renwuType/webType1.vue index 45f96b8..0214f61 100644 --- a/src/views/components/renwuType/webType1.vue +++ b/src/views/components/renwuType/webType1.vue @@ -6,18 +6,22 @@ <el-row style="margin: 10px 0;"> <span class="top-title-box">基本信息</span> </el-row> - <div class="assets-info-box" v-if="!loading"> - <el-form :model="ruleForm" v-loading="loading" :rules="rules" ref="ruleForm" label-width="170px" + <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> + <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> - <el-input v-model="ruleForm.dwmc"></el-input> + <el-form-item label="单位名称" required :rules="{ + required: true, message: '请输入', trigger: 'blur' + }" prop="dwmc" disabled> + <el-input v-model="ruleForm.dwmc" ></el-input> </el-form-item> </el-col> </el-row> @@ -59,7 +63,9 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="互联网开放用途" required> + <el-form-item label="互联网开放用途" required :rules="{ + required: true, message: '请输入', trigger: 'blur' + }" prop="hlwkfyt"> <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" /> @@ -72,13 +78,17 @@ <el-form-item label="Ip/Port" required class="IpPort"> <el-row> <el-col :span="19"> - <el-form-item prop="name"> + <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="name"> + <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> @@ -86,7 +96,9 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="是否自建互联网专线IP" required prop="isZjhlwip" > + <el-form-item label="是否自建互联网专线IP" required prop="isZjhlwip" :rules="{ + required: true, message: '请输入', trigger: 'blur' + }"> <el-select v-model="ruleForm.isZjhlwip" placeholder="请选择是否自建互联网专线IP"> <el-option v-for="dict in dict.type.is_no" :key="dict.value" :label="dict.label" :value="dict.value" /> @@ -103,12 +115,12 @@ <el-col :span="23"> <el-input v-model="domain.key" placeholder="请输入关联域名"></el-input> </el-col> - <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType != 'look'"> + <!-- <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType != 'look'"> <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-col> --> </el-row> </el-form-item> </el-col> @@ -129,12 +141,12 @@ <el-col :span="23"> <el-input v-model="domain.key" placeholder="请输入关联IP"></el-input> </el-col> - <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType != 'look'"> + <!-- <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType != 'look'"> <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-col> --> </el-row> </el-form-item> </el-col> @@ -149,7 +161,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -171,9 +183,10 @@ </el-select> </el-form-item> </el-col> - <el-col :span="12"> - <el-form-item label="是否关基系统" required> + <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" /> @@ -183,30 +196,37 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="系统类型" required> + <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-col :span="12"> - <el-form-item label="机房信息" required> + <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> + <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> + <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" /> @@ -221,7 +241,9 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="系统状态" required> + <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" /> @@ -321,7 +343,9 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="用户规模" required> + <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" /> @@ -329,19 +353,25 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="互联网接入运营商" required> + <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> + <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> + <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" /> @@ -349,22 +379,28 @@ </el-form-item> </el-col> </el-row> - <!-- v-if="ruleForm.bsypt == 1" --> + <!-- v-if="ruleForm.bsypt == 1" --> <el-row> <el-col :span="12"> - <el-form-item label="云服务商名称" required> + <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> + <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> + <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" /> @@ -372,7 +408,9 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="是否对公众开放" required> + <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" /> @@ -394,27 +432,28 @@ </el-form-item> </el-col> </el-row> - <el-row> <el-col :span="12" v-if="ruleForm.xtbsfs == 3"> - <el-form-item label="托管单位" required> + <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> + <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> + <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-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> --> @@ -572,7 +611,9 @@ </el-row> <el-row> <el-col :span="24"> - <el-form-item label="业务描述" required> + <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> @@ -587,7 +628,9 @@ <el-form-item label="分管责任人" required class="daoqitixingren"> <el-row> <el-col :span="8"> - <el-form-item prop="name"> + <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> @@ -597,7 +640,7 @@ required: true, message: '请输入', trigger: 'blur' }, { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -611,7 +654,8 @@ type: 'email', message: '请输入正确的邮箱地址', trigger: ['blur', 'change'] - } + }, + ]"> <el-input v-model="ruleForm.fgfzryx" style="width: 100%;" placeholder="请输入邮箱"></el-input> </el-form-item> @@ -625,7 +669,9 @@ <el-form-item label="部门负责人" required class="daoqitixingren"> <el-row> <el-col :span="8"> - <el-form-item prop="name"> + <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> @@ -635,7 +681,7 @@ required: true, message: '请输入', trigger: 'blur' }, { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -663,7 +709,9 @@ <el-form-item label="第一联系人" required class="daoqitixingren"> <el-row> <el-col :span="8"> - <el-form-item prop="name"> + <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> @@ -673,7 +721,7 @@ required: true, message: '请输入', trigger: 'blur' }, { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -713,7 +761,7 @@ required: true, message: '请输入', trigger: 'blur' }, { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -732,7 +780,7 @@ <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;"> + <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType !== 'look'"> <i @click="removeDomain(domain, 'otherConcat')" class="el-icon-remove-outline" style="font-size: 16px;cursor: pointer;"></i> </el-col> @@ -740,7 +788,7 @@ </el-form-item> </el-col> </el-row> - <el-row> + <el-row v-if="$route.query.pageType !== 'look'"> <el-col :span="24"> <el-form-item prop="btn"> <el-button @click="addOtherConcat('otherConcat')">添加其他联系人</el-button> @@ -754,7 +802,9 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="是否备案" required> + <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" /> @@ -785,14 +835,18 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="ICP备案编号" required> + <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> + <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> @@ -821,7 +875,7 @@ <el-col :span="12"> <el-form-item label="备案联系人电话" prop="ipcBalxrdh" :rules="[ { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -844,7 +898,9 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="是否备案" required> + <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" /> @@ -864,7 +920,9 @@ </el-form-item> </el-col> <el-col :span="8"> - <el-form-item label="公安机关备案号" required> + <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> @@ -883,43 +941,57 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="开发商" required> + <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> + <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> + <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> + <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> + <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> + <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> + <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" /> @@ -927,7 +999,9 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item label="是否有国产设备" required> + <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" /> @@ -950,7 +1024,9 @@ </el-row> <el-row> <el-col :span="12"> - <el-form-item label="是否等保系统" required> + <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" /> @@ -965,12 +1041,16 @@ </el-row> <el-row style="display: flex;"> <el-col :span="8"> - <el-form-item label="等保测评备案号" required> + <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> + <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" /> @@ -1001,7 +1081,9 @@ </el-form-item> </el-col> <el-col :span="8" style="margin-left: 10px"> - <el-form-item label="定级时间" required> + <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> @@ -1010,13 +1092,17 @@ </el-row> <el-row style="display: flex;"> <el-col :span="8"> - <el-form-item label="测评得分" required> + <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> + <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" /> @@ -1051,7 +1137,7 @@ <el-col :span="8"> <el-form-item label="测评机构联系人电话" prop="sfCpjglxrdh" :rules="[ { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1074,7 +1160,7 @@ <el-col :span="8"> <el-form-item label="测评时联系人电话" prop="sfCpslxrdh" :rules="[ { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1085,7 +1171,7 @@ <el-col :span="8"> <el-form-item label="测评师电话" prop="sfCpsdh" :rules="[ { - pattern: /^1[3|4|5|6|7|8|9][0-9]\d{8}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1169,12 +1255,20 @@ :prop="'chepingUnit.' + index + '.value'"> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item class="daoqitixingren" required :label="'测评单位名称' + (index == 0 ? '' : index)"> + <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-form-item class="daoqitixingren" :label="'统一社会信用代码' + (index == 0 ? '' : index)" :rules="[ + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]"> <el-input v-model="domain.tyshxydm" placeholder="请输入统一信用代码"></el-input> </el-form-item> </el-col> @@ -1189,7 +1283,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1197,12 +1291,12 @@ <el-input v-model="domain.lxdh" placeholder="请输入联系电话"></el-input> </el-form-item> </el-col> - <el-col :span="1" style="text-align: center;" v-if='shaojunbuyao'> + <!-- <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType !== 'look'"> <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-col> --> </el-row> </div> <div v-for="(domain, index) in ruleForm.yjgysUnit" :key="domain.remark" @@ -1214,7 +1308,13 @@ </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> - <el-form-item class="daoqitixingren" :label="'统一社会信用代码' + (index == 0 ? '' : index)"> + <el-form-item class="daoqitixingren" :label="'统一社会信用代码' + (index == 0 ? '' : index)" :rules="[ + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]"> <el-input v-model="domain.tyshxydm" placeholder="请输入统一信用代码"></el-input> </el-form-item> </el-col> @@ -1229,7 +1329,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1237,12 +1337,12 @@ <el-input v-model="domain.lxdh" placeholder="请输入联系电话"></el-input> </el-form-item> </el-col> - <el-col :span="1" style="text-align: center;" v-if='shaojunbuyao'> + <!-- <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType !== 'look'"> <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-col> --> </el-row> </div> <div v-for="(domain, index) in ruleForm.jfywUnit" :key="domain.remark" @@ -1254,7 +1354,13 @@ </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> - <el-form-item class="daoqitixingren" :label="'统一社会信用代码' + (index == 0 ? '' : index)"> + <el-form-item class="daoqitixingren" :label="'统一社会信用代码' + (index == 0 ? '' : index)" :rules="[ + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]"> <el-input v-model="domain.tyshxydm" placeholder="请输入统一信用代码"></el-input> </el-form-item> </el-col> @@ -1269,7 +1375,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1277,12 +1383,12 @@ <el-input v-model="domain.lxdh" placeholder="请输入联系电话"></el-input> </el-form-item> </el-col> - <el-col :span="1" style="text-align: center;" v-if='shaojunbuyao'> + <!-- <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType !== 'look'"> <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-col> --> </el-row> </div> <div v-for="(domain, index) in ruleForm.xtsjUnit" :key="domain.remark" @@ -1294,7 +1400,13 @@ </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> - <el-form-item class="daoqitixingren" :label="'统一社会信用代码' + (index == 0 ? '' : index)"> + <el-form-item class="daoqitixingren" :label="'统一社会信用代码' + (index == 0 ? '' : index)" :rules="[ + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]"> <el-input v-model="domain.tyshxydm" placeholder="请输入统一信用代码"></el-input> </el-form-item> </el-col> @@ -1309,7 +1421,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1317,31 +1429,42 @@ <el-input v-model="domain.lxdh" placeholder="请输入联系电话"></el-input> </el-form-item> </el-col> - <el-col :span="1" style="text-align: center;" v-if='shaojunbuyao'> + <!-- <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType !== 'look'"> <i @click="addGongyinglian('xtsjUnit', 4)" v-if="index == 0" class="el-icon-circle-plus-outline" style="margin-top: 10px;font-size: 16px;cursor: pointer;"></i> <i @click="removeDomain(domain, 'xtsjUnit')" v-else class="el-icon-remove-outline" style="margin-top: 10px;font-size: 16px;cursor: pointer;"></i> - </el-col> + </el-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 :label="'系统建设单位名称' + (index == 0 ? '' : index)"> + <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" required :label="'统一社会信用代码' + (index == 0 ? '' : index)"> + <el-form-item class="daoqitixingren" :prop="`xtjsUnit[${index}].tyshxydm`" :rules="[ + { required: true, message: '请输入', trigger: 'blur' }, + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]" required :label="'统一社会信用代码' + (index == 0 ? '' : index)"> <el-input v-model="domain.tyshxydm" placeholder="请输入统一信用代码"></el-input> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item class="daoqitixingren" required :label="'联系人' + (index == 0 ? '' : index)"> + <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> @@ -1349,9 +1472,12 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' + }, + { + required: true, message: '请输入', trigger: 'blur' } ]"> <el-input v-model="domain.lxdh" placeholder="请输入联系电话"></el-input> @@ -1360,43 +1486,58 @@ </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item label="供应商注册地址" required> + <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> + <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;" v-if='shaojunbuyao'> + <!-- <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType !== 'look'"> <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-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 :label="'系统运营单位名称' + (index == 0 ? '' : index)"> + <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 :label="'统一社会信用代码' + (index == 0 ? '' : index)"> + <el-form-item class="daoqitixingren" required :prop="`xtyyUnit[${index}].tyshxydm`" :rules="[ + { required: true, message: '请输入', trigger: 'blur' }, + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]" :label="'统一社会信用代码' + (index == 0 ? '' : index)"> <el-input v-model="domain.tyshxydm" placeholder="请输入统一信用代码"></el-input> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item class="daoqitixingren" required :label="'联系人' + (index == 0 ? '' : index)"> + <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> @@ -1404,9 +1545,12 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' + }, + { + required: true, message: '请输入', trigger: 'blur' } ]"> <el-input v-model="domain.lxdh" placeholder="请输入联系电话"></el-input> @@ -1415,24 +1559,28 @@ </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item label="供应商注册地址" required> + <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> + <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;" v-if='shaojunbuyao'> + <!-- <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType !== 'look'"> <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-col> --> </el-row> </div> <div v-for="(domain, index) in ruleForm.aqfwUnit" :key="domain.remark" @@ -1444,7 +1592,13 @@ </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> - <el-form-item class="daoqitixingren" :label="'统一社会信用代码' + (index == 0 ? '' : index)"> + <el-form-item class="daoqitixingren" :label="'统一社会信用代码' + (index == 0 ? '' : index)" :rules="[ + { + pattern: /^[a-zA-Z0-9]{18}$/, + message: '请输入正确格式的18位统一社会信用代码', + trigger: 'blur' + } + ]"> <el-input v-model="domain.tyshxydm" placeholder="请输入统一信用代码"></el-input> </el-form-item> </el-col> @@ -1459,7 +1613,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1467,12 +1621,12 @@ <el-input v-model="domain.lxdh" placeholder="请输入联系电话"></el-input> </el-form-item> </el-col> - <el-col :span="1" style="text-align: center;" v-if='shaojunbuyao'> + <!-- <el-col :span="1" style="text-align: center;" v-if="$route.query.pageType !== 'look'"> <i @click="addGongyinglian('aqfwUnit', 6)" v-if="index == 0" class="el-icon-circle-plus-outline" style="margin-top: 10px;font-size: 16px;cursor: pointer;"></i> <i @click="removeDomain(domain, 'aqfwUnit')" v-else class="el-icon-remove-outline" style="margin-top: 10px;font-size: 16px;cursor: pointer;"></i> - </el-col> + </el-col> --> </el-row> </div> <!-- 基础网络 --> @@ -1483,15 +1637,19 @@ <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" :prop="'fwqxx.' + index + '.value'"> + <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 :label="'设备类型' + (index == 0 ? '' : index)"> + <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 :label="'品牌' + (index == 0 ? '' : index)"> + <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> @@ -1499,13 +1657,21 @@ <el-form-item class="daoqitixingren" required :label="'设备IP' + (index == 0 ? '' : index)"> <el-row style="display: flex;"> <el-col :span="8"> - <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 :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-input v-model="domain.sbIp" placeholder="请输入"></el-input> + <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> @@ -1513,7 +1679,9 @@ </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item class="daoqitixingren" required :label="'操作系统' + (index == 0 ? '' : index)"> + <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" /> @@ -1521,36 +1689,48 @@ </el-form-item> </el-col> <el-col :span="12"> - <el-form-item class="daoqitixingren" required :label="'操作系统版本' + (index == 0 ? '' : index)"> + <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 :label="'硬件型号' + (index == 0 ? '' : index)"> + <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" :label="'硬件序列号' + (index == 0 ? '' : index)"> + <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" :label="'硬件版本信息' + (index == 0 ? '' : index)"> + <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 :label="'硬件用途' + (index == 0 ? '' : index)"> + <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 :label="'硬件部署位置' + (index == 0 ? '' : index)"> + <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> @@ -1572,12 +1752,16 @@ <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 :label="'设备类型' + (index == 0 ? '' : index)"> + <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 :label="'品牌' + (index == 0 ? '' : index)"> + <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> @@ -1585,13 +1769,23 @@ <el-form-item class="daoqitixingren" required :label="'设备IP' + (index == 0 ? '' : index)"> <el-row style="display: flex;"> <el-col :span="8"> - <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 :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-input v-model="domain.sbIp" placeholder="请输入"></el-input> + <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> @@ -1599,29 +1793,39 @@ </el-row> <el-row style="display: flex;"> <el-col :span="8"> - <el-form-item class="daoqitixingren" required :label="'硬件型号' + (index == 0 ? '' : index)"> + <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" :label="'硬件序列号' + (index == 0 ? '' : index)"> + <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" :label="'硬件版本信息' + (index == 0 ? '' : index)"> + <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 :label="'硬件用途' + (index == 0 ? '' : index)"> + <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 :label="'硬件部署位置' + (index == 0 ? '' : index)"> + <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> @@ -1643,12 +1847,16 @@ <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 :label="'设备类型' + (index == 0 ? '' : index)"> + <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 :label="'品牌' + (index == 0 ? '' : index)"> + <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> @@ -1656,13 +1864,21 @@ <el-form-item class="daoqitixingren" required :label="'设备IP' + (index == 0 ? '' : index)"> <el-row style="display: flex;"> <el-col :span="8"> - <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 :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-input v-model="domain.sbIp" placeholder="请输入"></el-input> + <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> @@ -1670,7 +1886,9 @@ </el-row> <el-row style="display: flex;"> <el-col :span="8"> - <el-form-item class="daoqitixingren" required :label="'硬件型号' + (index == 0 ? '' : index)"> + <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> @@ -1687,12 +1905,16 @@ </el-row> <el-row style="display: flex;"> <el-col :span="8"> - <el-form-item class="daoqitixingren" required :label="'硬件用途' + (index == 0 ? '' : index)"> + <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 :label="'硬件部署位置' + (index == 0 ? '' : index)"> + <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> @@ -1776,7 +1998,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1836,7 +2058,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -1917,7 +2139,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -2020,7 +2242,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -2102,7 +2324,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -2200,7 +2422,7 @@ <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}$/, + pattern: /^1[3-9]\d{9}$|^0\d{2,3}-\d{7,8}$/, message: '请输入正确的手机号码', trigger: 'blur' } @@ -2309,44 +2531,52 @@ </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item label="数据库名称" required> + <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> + <el-form-item label="数据库类型" required :prop="`sjzcSjklx`" :rules="{ + required: true, message: '请输入', trigger: 'blur' + }"> <!-- <el-input v-model="ruleForm.sjzcSjklx" placeholder="请输入数据库类型"></el-input> --> <el-select v-model="ruleForm.sjzcSjklx" placeholder="请选择数据库类型"> - <el-option - v-for="dict in dict.type.database_type" - :key="dict.value" - :label="dict.label" - :value="dict.value" - /> + <el-option v-for="dict in dict.type.database_type" :key="dict.value" :label="dict.label" + :value="dict.value" /> </el-select> </el-form-item> </el-col> </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item label="端口" required> + <el-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> + <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> + <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> + <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" /> @@ -2356,7 +2586,9 @@ </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item label="开放属性" required> + <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" /> @@ -2364,7 +2596,9 @@ </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> - <el-form-item label="数据领域" required> + <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" /> @@ -2374,7 +2608,9 @@ </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item label="更新周期" required> + <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" /> @@ -2382,7 +2618,9 @@ </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> - <el-form-item label="数据类型" required> + <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" @@ -2397,12 +2635,16 @@ </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item label="数据量" required> + <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> + <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" /> @@ -2412,7 +2654,9 @@ </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item label="数据是否出境" required> + <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" /> @@ -2420,7 +2664,9 @@ </el-form-item> </el-col> <el-col :span="12" style="margin-left: 10px;"> - <el-form-item label="数据分级分类" required> + <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" /> @@ -2430,7 +2676,9 @@ </el-row> <el-row style="display: flex;"> <el-col :span="12"> - <el-form-item label="数据重要程度" required> + <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" /> @@ -2448,36 +2696,45 @@ </el-row> <!-- 业务系统拓扑图 --> <el-row style="margin: 10px 0;"> - <span class="top-title-box">业务系统拓扑图</span> + <span class="top-title-box"> + <span style="color:#ff4949;font-size: 16px">*</span> + 业务系统拓扑图 + <span style="color:#ff4949;font-size: 13px;font-weight: 400;margin-left:10px">提示:附件/图片请至少选择一项</span> + + </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> + <span class="guanbixinghao"> + <el-row style="margin: 20px 0;"> + + + <el-form-item :required="false" prop="ywxttpwj" label="附件上传"> + <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 :required="false" prop="ywxttpt" label="图片上传"> + <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> + </span> + <el-row style="margin: 10px 0;" v-if="ruleForm.bfyy"> + <span class="top-title-box">关停原因</span> </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> + <div>{{ ruleForm.bfyy }}</div> </el-form-item> </el-row> - <el-row style="margin: 10px 0;" v-if="ruleForm.bfyy"> - <span class="top-title-box">关停原因</span> - </el-row> - <el-row style="margin: 20px 0;"> - <el-form-item> - <div>{{ ruleForm.bfyy }}</div> - </el-form-item> - </el-row> </div> </el-form> @@ -2486,11 +2743,10 @@ <el-button type="danger" @click="newAssets(0)">不通过</el-button> <el-button type="primary" @click="newAssets(1)">通过</el-button> </el-row> - <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" - v-else> - <el-button type="primary" @click="sendBack" class="fanhuipiaofu" >返回</el-button> + <el-row style="margin: 10px 0 ;padding-bottom: 50px; text-align: center;" v-else> + <el-button type="primary" @click="sendBack" class="fanhuipiaofu">返回</el-button> </el-row> - + </div> <my-dialog title="提示" ref="liebiaoDialog" @close="importClose" class="taskDialogBox" width="40%"> @@ -2510,6 +2766,7 @@ </el-row> </my-dialog> </div> + </div> </template> <script> @@ -2533,6 +2790,28 @@ export default { myDialog }, data() { + var validateName = (rule, value, callback) => { + if (!this.ruleForm.ywxttpwj && !this.ruleForm.ywxttpt) { + + callback(new Error("附件,图片请任意上传一项")) + } else { + //任意值被填写,清除验证提示 + if (!this.ruleForm.ywxttpwj || !this.ruleForm.ywxttpt) { + this.$nextTick(() => { + if (this.$refs.ruleForm.clearValidate("ywxttpwj")) { + this.$refs.ruleForm.clearValidate("ywxttpwj") + + } + if (this.$refs.ruleForm.clearValidate("ywxttpt")) { + this.$refs.ruleForm.clearValidate("ywxttpt") + + } + + }) + } + callback() + } + } return { dialogruleForm: { btgyy: "" @@ -2711,7 +2990,22 @@ export default { // 防勒索 xtfhqkFls: [], - rules: {}, + rules: { + ywxttpt: [ + { + required: true, + validator: validateName, + trigger: "change", + }, + ], + ywxttpwj: [ + { + required: true, + validator: validateName, + trigger: "change", + }, + ], + }, disabled: false, loading: false, } @@ -2739,7 +3033,7 @@ export default { }); }) } else if (this.$route.query.pageType == 'change') { - this.disabled = true; + this.disabled = false; this.getInfo(obj) this.isMore = true; } @@ -2984,23 +3278,40 @@ export default { } if (type == 1) { - this.loading = true; - let tijioaobj = { - taskId: this.$route.query.taskId, - assetId: this.$route.query.assetId, - xtmc: this.ruleForm.xtmc, - dwmc: this.$route.query.zcdwmc, - status: 3, - type: this.$route.query.type - } - tijioaobj.status = 3 - assetTasksh(tijioaobj).then(res => { - if (res.code == 200) { - this.$modal.msgSuccess("审核成功"); + + + this.$refs['ruleForm'].validate((valid) => { + if (valid) { + let tijioaobj = { + taskId: this.$route.query.taskId, + assetId: this.$route.query.assetId, + xtmc: this.ruleForm.xtmc, + dwmc: this.$route.query.zcdwmc, + status: 3, + type: this.$route.query.type, + assetCurrentCpPo:this.ruleForm + } + tijioaobj.status = 3 + assetTasksh(tijioaobj).then(res => { + if (res.code == 200) { + this.$modal.msgSuccess("审核成功"); + this.loading = false + this.$router.go(-1); + } + }) + } else { this.loading = false - this.$router.go(-1); + + this.$message({ + type: 'info', + message: '请填写完整' + }); + return false; } - }) + }); + + // this.loading = true; + // this.ruleForm.xttz = this.xttz.join(','); // this.ruleForm.xtfhqkFcg = this.xtfhqkFcg.join(','); diff --git a/src/views/components/renwuType/webType2DW.vue b/src/views/components/renwuType/webType2DW.vue index 93fd960..17dd83e 100644 --- a/src/views/components/renwuType/webType2DW.vue +++ b/src/views/components/renwuType/webType2DW.vue @@ -2801,8 +2801,15 @@ export default { //任意值被填写,清除验证提示 if (!this.ruleForm.ywxttpwj || !this.ruleForm.ywxttpt) { this.$nextTick(() => { - this.$refs.ruleForm.clearValidate("ywxttpwj") - this.$refs.ruleForm.clearValidate("ywxttpt") + if(this.$refs.ruleForm.clearValidate("ywxttpwj")){ + this.$refs.ruleForm.clearValidate("ywxttpwj") + + } + if(this.$refs.ruleForm.clearValidate("ywxttpt")){ + this.$refs.ruleForm.clearValidate("ywxttpt") + + } + }) } callback() diff --git a/src/views/unitPages/myTask/info.vue b/src/views/unitPages/myTask/info.vue index a95b815..5af116d 100644 --- a/src/views/unitPages/myTask/info.vue +++ b/src/views/unitPages/myTask/info.vue @@ -114,14 +114,15 @@ :row-class-name="tableRowClassName"> <el-table-column type="index" width="50" label="序号" align="center" /> <!-- <el-table-column label="资产编号" key="id" width="200px" prop="id" align="center" /> --> - <el-table-column :label="xtmcName" key="xtmc" prop="xtmc" align="center" /> + <el-table-column :label="xtmcName" prop="xtmc" align="center" /> <!-- <el-table-column label="系统类型" key="xtlx" prop="xtlx" align="center"> <template slot-scope="scope"> <dict-tag :options="dict.type.zc_xtlx" :value="scope.row.xtlx" /> </template> </el-table-column> --> - <el-table-column label="核查单位" key="zcdwmc" prop="zcdwmc" align="center" /> - <el-table-column label="审核状态" key="status" width="200px" prop="status" class-name="table-status" + <el-table-column label="核查单位" prop="zcdwmc" align="center" /> + <el-table-column label="单位核查时间" prop="updateTime" align="center" /> + <el-table-column label="审核状态" width="200px" prop="status" class-name="table-status" align="center"> <template slot-scope="scope"> <span v-if="scope.row.status == 0" style="color: #E6A23C;"> @@ -157,8 +158,9 @@ <img src="@/assets/images/icon-shenhe@2x.png" alt="" style="width: 15px;margin-right: 5px;"> <span class="del-info" style="color: #1485EF;">核查</span> </div> + <!-- scope.row.status == 4 --> <div style="display: flex;align-items: center;cursor: pointer;margin-left: 5px;" - @click="goInfo(3, scope.row)" v-show='scope.row.status == 4'> + @click="goInfo(3, scope.row)" v-show='scope.row.btgyy'> <img src="@/assets/images/icon-ck@2x.png" alt="" style="width: 20px;margin-right: 5px;"> <span class="look-info" style="color: #1485EF;">查看原因</span> </div> @@ -527,6 +529,7 @@ export default { this.loading = true this.pagination.taskId = this.$route.query.id || this.$route.meta.id // this.pagination.dwmc = this.$route.query.dwmc || this.$route.meta.dwmc + this.pagination.type = this.activeName if (this.$store.state.user.roles.includes("unit")) { this.pagination.dwmc = this.$store.state.user.useer.nickName }