提交 320bc7ff authored 作者: kxjia's avatar kxjia

Merge branch 'master' of http://47.97.51.208/root/zrch-risk-39

......@@ -4,7 +4,6 @@ import { FormulaType } from 'exceljs';
import type { VxeGridProps, VxeColumnPropTypes } from 'vxe-table';
import XEUtils from 'xe-utils';
interface VxeColumn {
type?: string;
field?: string;
......@@ -29,519 +28,753 @@ interface VxeColumn {
export const tableFormData = [
{
serialNumber: "1",
project: "基础设施灾备模式",
serialNumber: '1',
project: '基础设施灾备模式',
code: 'TB201',
content: [
{ type: "text", value: "基础设施灾备模式" },
{ type: "br" },
{
type: "radio-group-extraFields",
field: "COL1",
format:"1",
{ type: 'text', value: '基础设施灾备模式' },
{ type: 'br' },
{
type: 'radio-group-extraFields',
field: 'COL1',
format: '1',
options: [
{label:'一主一备:一个生产中心对应一个灾备中心',extraField:"",extraLabel:"" },
{label:'一主多备:一个生产中心对应多个灾备中心',extraField:"",extraLabel:"" },
{label:'多主一备:多个生产中心共用一个灾备中心',
extraField:"COL2",extraLabel:"其中,多个生产中心之间关系",extraFormType:"radio",extraOptions: [
{label:"独立运行",value:"独立运行"},
{label:"互为备份",value:"互为备份"},
{label:"双活",value:"双活"},
{label:"多活",value:"多活"},
]
{ label: '一主一备:一个生产中心对应一个灾备中心', extraField: '', extraLabel: '' },
{ label: '一主多备:一个生产中心对应多个灾备中心', extraField: '', extraLabel: '' },
{
label: '多主一备:多个生产中心共用一个灾备中心',
extraField: 'COL2',
extraLabel: '其中,多个生产中心之间关系',
extraFormType: 'radio',
extraOptions: [
{ label: '独立运行', value: '独立运行' },
{ label: '互为备份', value: '互为备份' },
{ label: '双活', value: '双活' },
{ label: '多活', value: '多活' },
],
},
{label:'多主多备:多个生产中心对应多个灾备中心',
extraField:"COL3",extraLabel:"其中,多个生产中心之间关系",extraFormType:"radio",extraOptions: [
{label:"独立运行",value:"独立运行"},
{label:"互为备份",value:"互为备份"},
{label:"双活",value:"双活"},
{label:"多活",value:"多活"},
]
{
label: '多主多备:多个生产中心对应多个灾备中心',
extraField: 'COL3',
extraLabel: '其中,多个生产中心之间关系',
extraFormType: 'radio',
extraOptions: [
{ label: '独立运行', value: '独立运行' },
{ label: '互为备份', value: '互为备份' },
{ label: '双活', value: '双活' },
{ label: '多活', value: '多活' },
],
},
{label:'双活:两个生产中心同时运行相同重要信息系统并承担用户业务,互为实时备份',extraField:"",extraLabel:"" },
{label:'多活:多个生产中心同时运行相同重要信息系统并承担用户业务,互为实时备份',extraField:"",extraLabel:"" },
{ label: '双活:两个生产中心同时运行相同重要信息系统并承担用户业务,互为实时备份', extraField: '', extraLabel: '' },
{ label: '多活:多个生产中心同时运行相同重要信息系统并承担用户业务,互为实时备份', extraField: '', extraLabel: '' },
{label:'其他',extraField:"COL4",extraLable:"" },
{label:'无'},
{ label: '其他', extraField: 'COL4', extraLable: '' },
{ label: '无' },
],
},
{ type: "br" },
{ type: "br" },
{ type: "text", value: "基础设施灾备模式-备注" },
{ type: "textarea", field: "COL5",width:"500px"},
{ type: 'br' },
{ type: 'br' },
{ type: 'text', value: '基础设施灾备模式-备注' },
{ type: 'textarea', field: 'COL5', width: '500px' },
],
},
{
serialNumber: "2",
project: "生产中心",
code:"TB202",
type:"MultiColumnTable",
serialNumber: '2',
project: '生产中心',
code: 'TB202',
type: 'MultiColumnTable',
content: [
{
name: "类型",formType:'radio-group-extraFields',field:"COL6",options:[
{label:'数据中心'},
{label:'中心机房'}
],
extraFields:{
"数据中心": [
{label:"数据中心类型",field:"COL7",formType:"checkbox",options:[
{label:"生产中心",value:"生产中心"},
{label:"同城灾备中心",value:"同城灾备中心"},
{label:"异地灾备中心",value:"异地灾备中心"}
]},
],
"中心机房": [
{label:"中心机房类型",field:"COL8",formType:"checkbox",options:[
{label:"生产机房",value:"生产机房"},
{label:"同城灾备机房",value:"同城灾备机房"},
{label:"异地灾备机房",value:"异地灾备机房"}
]},
],
}
name: '类型',
formType: 'radio-group-extraFields',
field: 'COL6',
options: [{ label: '数据中心' }, { label: '中心机房' }],
extraFields: {
数据中心: [
{
label: '数据中心类型',
field: 'COL7',
formType: 'checkbox',
options: [
{ label: '生产中心', value: '生产中心' },
{ label: '同城灾备中心', value: '同城灾备中心' },
{ label: '异地灾备中心', value: '异地灾备中心' },
],
},
],
中心机房: [
{
label: '中心机房类型',
field: 'COL8',
formType: 'checkbox',
options: [
{ label: '生产机房', value: '生产机房' },
{ label: '同城灾备机房', value: '同城灾备机房' },
{ label: '异地灾备机房', value: '异地灾备机房' },
],
},
],
},
},
{ name: "中心名称",formType:'input',field:"COL9"},
{ name: "负责部门",formType:'input',field:"COL10"},
{ name: "地点",formType:'combinaform',childs:
[
{label:'国家',formType:"input",field:"COL12",},
{label:'省(自治区、直辖市)',formType:"input",field:"COL13",},
{label:'市(县、州、盟)',formType:"input",field:"COL14",},
{label:'街道',formType:"input",field:"COL15",},
{label:'门牌号',formType:"input",field:"COL16",},
] ,layout:"horizontal" //'horizontal'|'vertical'|'inline'
{ name: '中心名称', formType: 'input', field: 'COL9' },
{ name: '负责部门', formType: 'input', field: 'COL10' },
{
name: '地点',
formType: 'combinaform',
childs: [
{ label: '国家', formType: 'input', field: 'COL12' },
{ label: '省(自治区、直辖市)', formType: 'input', field: 'COL13' },
{ label: '市(县、州、盟)', formType: 'input', field: 'COL14' },
{ label: '街道', formType: 'input', field: 'COL15' },
{ label: '门牌号', formType: 'input', field: 'COL16' },
],
layout: 'horizontal', //'horizontal'|'vertical'|'inline'
},
{ name: "启用日期",formType:'date',field:"COL18"},
{ name: "功能用途",formType:'textarea',field:"COL20"},
{ name: "产权形式",formType:'select',field:"COL22",
options:[
{label:'自有',value:"自有"},
{label:'共有',value:"共有",extraFields:[
{label:'共有方名称',formType:"input",field:"COL23",},
{label:'性质',formType:"radio",field:"COL24",options:[
{label:'母行或母公司',value:"母行或母公司"},
{label:'同一母行或母公司下的其他子公司',value:"同一母行或母公司下的其他子公司"},
{label:'独立第三方公司',value:"独立第三方公司"},
{label:'其他',value:"其他"}
],otherFiled:'COL25'
},
]
{ name: '启用日期', formType: 'date', field: 'COL18' },
{ name: '功能用途(包括承载重要信息系统情况)', formType: 'textarea', field: 'COL20' },
{
name: '产权形式',
formType: 'select',
field: 'COL22',
options: [
{ label: '自有', value: '自有' },
{
label: '共有',
value: '共有',
extraFields: [
{ label: '共有方名称', formType: 'input', field: 'COL23' },
{
label: '性质',
formType: 'radio',
field: 'COL24',
options: [
{ label: '母行或母公司', value: '母行或母公司' },
{ label: '同一母行或母公司下的其他子公司', value: '同一母行或母公司下的其他子公司' },
{ label: '其他银行或保险业机构', value: '其他银行或保险业机构' },
{ label: '独立第三方公司', value: '独立第三方公司' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'COL25',
},
{label:'他有',value:"他有",extraFields:[
{label:'出租(出借)方名称',formType:"input",field:"COL26",},
{label:'性质',formType:"radio",field:"C20A002",options:[
{label:'母行或母公司',value:"母行或母公司"},
{label:'同一母行或母公司下的其他子公司',value:"同一母行或母公司下的其他子公司"},
{label:'独立第三方公司',value:"独立第三方公司"},
{label:'其他',value:"其他"}
],otherFiled:'COL28'
},
]},
],layout:"horizontal"
],
},
{
label: '他有',
value: '他有',
extraFields: [
{ label: '出租(出借)方名称', formType: 'input', field: 'COL26' },
{
label: '性质',
formType: 'radio',
field: 'C20A002',
options: [
{ label: '母行或母公司', value: '母行或母公司' },
{ label: '同一母行或母公司下的其他子公司', value: '同一母行或母公司下的其他子公司' },
{ label: '其他银行或保险业机构', value: '其他银行或保险业机构' },
{ label: '独立第三方公司', value: '独立第三方公司' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'COL28',
},
],
},
],
layout: 'horizontal',
},
{ name: "使用模式",formType:'select',field:"COL30",
options:[
{label:'独立使用和管理'},
{label:'托管',extraFields:[
{label:'托管机构名称',formType:"input",field:"COL31",},
{label:'性质',formType:"radio",field:"C20A003",options:[
{label:'母行或母公司',value:"母行或母公司"},
{label:'同一母行或母公司下的其他子公司',value:"同一母行或母公司下的其他子公司"},
{label:'其他银行或保险业机构',value:"其他银行或保险业机构"},
{label:'独立第三方公司',value:"独立第三方公司"},
{label:'其他',value:"其他"}
],otherFiled:'COL33'},
{
name: '使用模式',
formType: 'select',
field: 'COL30',
options: [
{ label: '独立使用和管理' },
{
label: '托管',
extraFields: [
{ label: '托管机构名称', formType: 'input', field: 'COL31' },
{
label: '性质',
formType: 'radio',
field: 'C20A003',
options: [
{ label: '母行或母公司', value: '母行或母公司' },
{ label: '同一母行或母公司下的其他子公司', value: '同一母行或母公司下的其他子公司' },
{ label: '其他银行或保险业机构', value: '其他银行或保险业机构' },
{ label: '独立第三方公司', value: '独立第三方公司' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'COL33',
},
{label:'托管方式',formType:"checkbox",field:"C20A004",options:[
{label:'主机托管',value:""},
{label:'云主机或存储(IaaS)',value:"云主机或存储(IaaS)"},
{label:'平台软件(PaaS)',value:"平台软件(PaaS"},
{label:'用软件(SaaS)',value:"用软件(SaaS)"},
]},
]
{
label: '托管方式',
formType: 'checkbox',
field: 'C20A004',
options: [
{ label: '主机托管', value: '' },
{ label: '云主机或存储(IaaS)', value: '云主机或存储(IaaS)' },
{ label: '平台软件(PaaS)', value: '平台软件(PaaS' },
{ label: '用软件(SaaS)', value: '用软件(SaaS)' },
],
},
],
},
],layout:"horizontal"
],
layout: 'horizontal',
},
{ name: "运维模式",
formType:'select',
field:"COL35",
options:[
{label:'自主运维',extraFields:[
{label:'责任部门',formType:"input",field:"COL36",},
]},
{label:'整体运维外包',extraFields:[
{label:'托管机构名称',formType:"input",field:"COL37",},
{label:'性质',formType:"radio",field:"COL38",options:[
{label:'母行或母公司',value:"母行或母公司"},
{label:'同一母行或母公司下的其他子公司',value:"同一母行或母公司下的其他子公司"},
{label:'其他银行或保险业机构',value:"其他银行或保险业机构"},
{label:'独立第三方公司',value:"独立第三方公司"},
{label:'其他',value:"其他"}
],otherFiled:'COL39'},
{label:'托管方式',formType:"checkbox",field:"COL40",options:[
{label:'主机托管',value:"主机托管"},
{label:'云主机或存储(IaaS)',value:"云主机或存储(IaaS)"},
{label:'平台软件(PaaS)',value:"平台软件(PaaS)"},
{label:'用软件(SaaS)',value:"用软件(SaaS)"},
]},
]
{
name: '运维模式',
formType: 'select',
field: 'COL35',
options: [
{ label: '自主运维', extraFields: [{ label: '责任部门', formType: 'input', field: 'COL36' }] },
{
label: '整体运维外包',
extraFields: [
{ label: '外包商名称', formType: 'input', field: 'COL37' },
{
label: '性质',
formType: 'radio',
field: 'COL38',
options: [
{ label: '母行或母公司', value: '母行或母公司' },
{ label: '同一母行或母公司下的其他子公司', value: '同一母行或母公司下的其他子公司' },
{ label: '其他银行或保险业机构', value: '其他银行或保险业机构' },
{ label: '独立第三方公司', value: '独立第三方公司' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'COL39',
},
],
},
{
label: '部分运维外包',
extraFields: [
{
label: '外包商服务内容',
formType: 'checkbox',
field: 'COL40',
options: [
{ label: '机房环境', value: '机房环境' },
{ label: '基础设施', value: '基础设施' },
{ label: '硬件设备', value: '硬件设备' },
{ label: '信息系统', value: '信息系统' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'COL41',
},
],
},
{label:'部分运维外包'},
],layout:"horizontal"
],
layout: 'horizontal',
},
// { name: "部署模式 ",formType:'checkbox-group',field:"C20A006",options:[
// "裸金属","虚拟化","集群","容器","私有云","专有云","公有云","混合云"
// "裸金属","虚拟化","集群","容器","私有云","专有云","公有云","混合云"
// ]},
{ name: "物理安全管控措施",formType:'checkbox-group',field:"C20A006",
options:["物理围笼","视频监控","门禁措施","其他"],
otherField:"C24A002"
{
name: '物理安全管控措施',
formType: 'checkbox-group',
field: 'C20A006',
options: ['物理围笼', '视频监控', '门禁措施', '其他'],
otherField: 'C24A002',
},
{ name: "网络授时服务 ",formType:'radio-group-extraFields',field:"C20A100",options:[
{label:'有'},
{label:'无'}
],
extraFields:{
"有": [
{label:"时钟来源",formType:'checkbox',field:"C20A101",options:[
{label:'北斗',value:"北斗"},
{label:'GPS',value:"GPS"},
{label:'NTP时钟服务器',value:"NTP时钟服务器"},
{label:'其他',value:"其他"},
{
name: '网络授时服务 ',
formType: 'radio-group-extraFields',
field: 'C20A100',
options: [{ label: '有' }, { label: '无' }],
extraFields: {
: [
{
label: '时钟来源',
formType: 'checkbox',
field: 'C20A101',
options: [
{ label: '北斗', value: '北斗' },
{ label: 'GPS', value: 'GPS' },
{ label: 'NTP时钟服务器', value: 'NTP时钟服务器' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'C20A102',
},
],
otherOption:true,
otherField:"C20A102"
: [],
},
],
"无": [],
}
},
{ name: "核心网络设备冗余情况(仅在中心类型为生产中心或生产机房时填写)",formType:'combinaform',childs:[
{ label: "核心路由器 ",formType:'checkbox',field:"COL43",options:[
{label:'双机热备',value:"双机热备"},
{label:'负载均衡',value:"负载均衡"},
{label:'存在单点',value:"存在单点"},
{label:'其他',value:"其他"},
]},
{ label: "核心交换机 ",formType:'checkbox',field:"COL46",options:[
{label:'双机热备',value:"双机热备"},
{label:'负载均衡',value:"负载均衡"},
{label:'存在单点',value:"存在单点"},
{label:'其他',value:"其他"},
]},
{ label: "核心网安设备 ",formType:'checkbox',field:"COL48",options:[
{label:'双机热备',value:"双机热备"},
{label:'负载均衡',value:"负载均衡"},
{label:'存在单点',value:"存在单点"},
{label:'其他',value:"其他"},
]},
},
]},
{ name: "生产网线路可用性(仅在中心类型为生产中心或生产机房时填写) ",formType:'AttachTable',field:"attach3",
gridOptions:
{
{
name: '核心网络设备冗余情况(仅在中心类型为生产中心或生产机房时填写)',
formType: 'combinaform',
childs: [
{
label: '核心路由器 ',
formType: 'checkbox',
field: 'COL43',
options: [
{ label: '双机热备', value: '双机热备' },
{ label: '负载均衡', value: '负载均衡' },
{ label: '存在单点', value: '存在单点' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'COL44',
},
{
label: '核心交换机 ',
formType: 'checkbox',
field: 'COL46',
options: [
{ label: '双机热备', value: '双机热备' },
{ label: '负载均衡', value: '负载均衡' },
{ label: '存在单点', value: '存在单点' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'COL47',
},
{
label: '核心网安设备 ',
formType: 'checkbox',
field: 'COL48',
options: [
{ label: '双机热备', value: '双机热备' },
{ label: '负载均衡', value: '负载均衡' },
{ label: '存在单点', value: '存在单点' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'COL49',
},
],
},
{
name: '生产网线路可用性(仅在中心类型为生产中心或生产机房时填写) ',
formType: 'AttachTable',
field: 'attach3',
gridOptions: {
border: true,
showOverflow: true,
editConfig: {
trigger: 'click',
mode: 'row'
mode: 'row',
},
showHeader:true,
showHeader: true,
columns: [
{ type: 'seq', width: 70 },
{ field: 'col1', title: '线路名称'},
{ field: 'col2', title: '线路条数(条)', slots: { default: 'form_default' },},
{ field: 'col3', title: '不同运营商家数(家)', slots: { default: 'form_default' },},
{ field: 'col4', title: '网络带宽(M)' ,slots: { default: 'form_default' },
}
{ field: 'col1', title: '线路名称' },
{ field: 'col2', title: '线路条数(条)', slots: { default: 'form_default' } },
{ field: 'col3', title: '不同运营商家数(家)', slots: { default: 'form_default' } },
{ field: 'col4', title: '网络带宽(M)', slots: { default: 'form_default' } },
],
datas: [
{ col1: '至一级分支机构',
col2: {field: "COL51",formType:"number"},
col3: {field: "COL52",formType:"number"},
col4: {field: "COL53",formType:"input"}},
{ col1: '至同城灾备中心(或灾备机房)',
col2: {field: "COL54",formType:"number"},
col3:{field: "COL55",formType:"number"},
col4:{field: "COL56",formType:"input"}},
{ col1: '至异地灾备中心(或灾备机房)',
col2: { field: "COL57",formType:"number"},
col3:{field: "COL58",formType:"number"},
col4:{field: "COL59",formType:"input"}},
]
}
{
col1: '至一级分支机构',
col2: { field: 'COL51', formType: 'number' },
col3: { field: 'COL52', formType: 'number' },
col4: { field: 'COL53', formType: 'input' },
},
{
col1: '至同城灾备中心(或灾备机房)',
col2: { field: 'COL54', formType: 'number' },
col3: { field: 'COL55', formType: 'number' },
col4: { field: 'COL56', formType: 'input' },
},
{
col1: '至异地灾备中心(或灾备机房)',
col2: { field: 'COL57', formType: 'number' },
col3: { field: 'COL58', formType: 'number' },
col4: { field: 'COL59', formType: 'input' },
},
],
},
},
{ name: "基本情况",formType:'combinaform',childs:
[
{label:'设计等级',formType:"radio",field:"COL60",
options:[
{label:'A类',value:'A类'},
{label:'B类',value:'B类'},
{label:'C类',value:'C类'},
{label:'其他',value:"其他"},
{
name: '基本情况',
formType: 'combinaform',
childs: [
{
label: '设计等级',
formType: 'radio',
field: 'COL60',
options: [
{ label: 'A类', value: 'A类' },
{ label: 'B类', value: 'B类' },
{ label: 'C类', value: 'C类' },
{ label: '其他', value: '其他' },
],
otherOption:true,
otherField:"COL61",
otherOption: true,
otherField: 'COL61',
},
{label:'机房数量',formType:"number",field:"C20A008",unit:"个"},
{label:'机房总面积',formType:"number",field:"C20A010",unit:"平方米"},
{label:'设计可安装机柜总数',formType:"input",field:"COL150",unit:"个"},
{label:'实际安装机柜总数',formType:"input",field:"COL152",unit:"个"},
{label:'上电机柜总数',formType:"input",field:"COL154",unit:"个"},
{label:'算力',formType:"input",field:"COL156",unit:"PFLOPS"},
] ,layout:"horizontal" //'horizontal'|'vertical'|'inline'
{ label: '机房数量', formType: 'number', field: 'C20A008', unit: '个' },
{ label: '机房总面积', formType: 'number', field: 'C20A010', unit: '平方米' },
{ label: '设计可安装机柜总数', formType: 'input', field: 'COL150', unit: '个' },
{ label: '实际安装机柜总数', formType: 'input', field: 'COL152', unit: '个' },
{ label: '上电机柜总数', formType: 'input', field: 'COL154', unit: '个' },
{ label: '算力总计', formType: 'input', field: 'COL156', unit: 'PFLOPS' },
{ label: '其中GPU算力', formType: 'input', field: 'C24A004', unit: 'PFLOPS' },
],
layout: 'horizontal', //'horizontal'|'vertical'|'inline'
},
{ name: "供电",formType:'AttachTable',field:"attach1",
gridOptions:
{
{
name: '供电',
formType: 'AttachTable',
field: 'attach1',
gridOptions: {
border: true,
showOverflow: true,
editConfig: {
trigger: 'click',
mode: 'row'
mode: 'row',
},
showHeader:false,
showHeader: false,
columns: [
{ type: 'seq', width: 70 },
{ field: 'col1', title: '分类1',width:"100"},
{ field: 'col2', title: '分类2',width:"200"},
{ field: 'col3', title: '填报', slots: { default: 'form_default' },},
{ field: 'col1', title: '分类1', width: '100' },
{ field: 'col2', title: '分类2', width: '200' },
{ field: 'col3', title: '填报', slots: { default: 'form_default' } },
],
datas: [
{ col1: '供电线路', col2:"变配电室有双路市电接入",col3:{ formType:'yesno',field: "COL64"},},
{ col1: '供电线路', col2:"双路市电由不同变电所接入",col3:{ formType:'yesno',field: "COL66"},},
{ col1: 'UPS',col2:"UPS供电模式",
col3:{ formType:'radio-group',field: "COL68",options:["N+1","N+2","2N","2(N+1)","存在单点","其他"]},
{ col1: '供电线路', col2: '变配电室有双路市电接入', col3: { formType: 'yesno', field: 'COL64' } },
{ col1: '供电线路', col2: '双路市电由不同变电所接入', col3: { formType: 'yesno', field: 'COL66' } },
{
col1: 'UPS',
col2: 'UPS供电模式',
col3: { formType: 'radio-group', field: 'COL68', options: ['N+1', 'N+2', '2N', '2(N+1)', '存在单点', '其他'], otherOption: true,
otherField: 'COL69', },
},
{ col1: 'UPS',col2:"系统设计容量(KVA)",col3:{ formType:'input',field: "COL71"},},
{ col1: 'UPS',col2:"实际负载峰值(KVA)",col3:{ formType:'input',field: "COL73"},},
{ col1: 'UPS',col2:"满载电池可用时间 ",col3:{ formType:'input',field: "COL75"},},
{ col1: 'UPS',col2:"UPS主机已使用年份 ",col3:{ formType:'input',field: "COL77"},},
{ col1: 'UPS',col2:"UPS电池已使用年份",col3:{ formType:'input',field: "COL79"},},
{ col1: '发电机', col2:"是否配备",col3:{ formType:'input',field: "COL81"},},
{ col1: '发电机', col2:"额定功率",col3:{ formType:'input',field: "COL83"},},
{ col1: '发电机', col2:"是否满足机房应急供电需要",col3:{ formType:'input',field: "COL85"},},
{ col1: '发电机', col2:"自动启动",col3:{ formType:'input',field: "COL87"},},
{ col1: '发电机', col2:"启动时间",col3:{ formType:'input',field: "COL89"},},
{ col1: '发电机', col2:"本地油料储备可用时间",col3:{ formType:'input',field: "COL91"},},
{ col1: '发电机', col2:"运维单位",col3:{ formType:'input',field: "COL93"},},
{ col1: '发电机', col2:"运维单位名称",col3:{ formType:'input',field: "COL94"},},
{ col1: '发电机', col2:"是否租用",col3:{ formType:'input',field: "COL96"},},
{ col1: '能效', col2:"电能利用效率",col3:{ formType:'input',field: "C20A012"},},
{ col1: '能效', col2:"能效认证",col3:{ formType:'input',field: "C20A014"},},
{ col1: 'UPS', col2: '系统设计容量(KVA)', col3: { formType: 'input', field: 'COL71' } },
{ col1: 'UPS', col2: '实际负载峰值(KVA)', col3: { formType: 'input', field: 'COL73' } },
{ col1: 'UPS', col2: '满载电池可用时间 ', col3: { formType: 'input', field: 'COL75' } },
{ col1: 'UPS', col2: 'UPS主机已使用年份 ', col3: { formType: 'input', field: 'COL77' } },
{ col1: 'UPS', col2: 'UPS电池已使用年份', col3: { formType: 'input', field: 'COL79' } },
{ col1: '发电机', col2: '是否配备', col3: { formType: 'yesno', field: 'COL81' } },
{ col1: '发电机', col2: '额定功率(KVA)', col3: { formType: 'input', field: 'COL83' } },
{ col1: '发电机', col2: '是否满足机房应急供电需要', col3: { formType: 'yesno', field: 'COL85' } },
{ col1: '发电机', col2: '自动启动', col3: { formType: 'yesno', field: 'COL87' } },
{ col1: '发电机', col2: '启动时间(秒)', col3: { formType: 'input', field: 'COL89' } },
{ col1: '发电机', col2: '本地油料储备可用时间(小时)', col3: { formType: 'input', field: 'COL91' } },
{
col1: '发电机',
col2: '运维单位',
col3: {
formType: 'radio-group',
field: 'COL93',
options: ['本机构', '外部机构'],
extraField: 'COL94',
extraWhen: '外部机构',
extraPlaceholder: '外部机构名称',
},
},
{ col1: '发电机', col2: '运维单位名称', col3: { formType: 'input', field: 'COL94' } },
{
col1: '发电机',
col2: '是否租用',
col3: {
formType: 'yesno',
field: 'COL96',
extraField: 'COL97',
extraPlaceholder: '出租方名称',
},
},
{ col1: '能效', col2: '电能利用效率(PUE)', col3: { formType: 'input', field: 'C20A012' } },
{ col1: '能效', col2: '能效认证', col3: { formType: 'input', field: 'C20A014' } },
],
mergeCells: [
{ row: 0, col: 1, rowspan: 2, colspan: 1 },
{ row: 2, col: 1, rowspan: 6, colspan: 1 },
{ row: 8, col: 1, rowspan: 8, colspan: 1 },
{ row: 16, col: 1, rowspan: 2, colspan: 1 },
{ row: 8, col: 1, rowspan: 9, colspan: 1 },
{ row: 17, col: 1, rowspan: 2, colspan: 1 },
],
}
},
},
{ name: "门禁与监控",formType:'AttachTable',field:"attach2",
gridOptions:
{
{
name: '门禁与监控',
formType: 'AttachTable',
field: 'attach2',
gridOptions: {
border: true,
showOverflow: true,
showHeader:false,
showHeader: false,
editConfig: {
trigger: 'click',
mode: 'row'
mode: 'row',
},
columns: [
{ type: 'seq', width: 70 },
{ field: 'col1', title: '分类1',width:"100"},
{ field: 'col2', title: '分类2',width:"200"},
{ field: 'col3', title: '填报', slots: { default: 'form_default' },},
{ field: 'col1', title: '分类1', width: '100' },
{ field: 'col2', title: '分类2', width: '200' },
{ field: 'col3', title: '填报', slots: { default: 'form_default' } },
],
datas: [
{ col1: '门禁', col2:"控制方式",col3:{
field: "COL99",formType:"checkbox-group",options:[
"IC卡","密码锁","指纹","虹膜","掌纹","面部特征识别","其他"
],
}},
{ col1: '门禁', col2:"门禁记录保存时间",col3:{
field: "COL102", formType:'radio-group', options:[
"定期保存","永久保存"
],
{
col1: '门禁',
col2: '控制方式',
col3: {
field: 'COL99',
formType: 'checkbox-group',
options: ['IC卡', '密码锁', '指纹', '虹膜', '掌纹', '面部特征识别', '其他'],
otherOption: true,
otherField: 'COL100',
},
},
{
col1: '门禁',
col2: '门禁记录保存时间',
col3: {
field: 'COL103',
formType: 'radio-group',
options: ['定期保存', '永久保存'],
extraField: 'COL102',
extraWhen: '定期保存',
extraPlaceholder: '保存期限',
extraUnit: '月',
},
},
{
col1: '资产管理',
col2: '已建立并定期更新资产台账',
col3: {
field: 'C24A005',
formType: 'yesno',
},
},
}},
{
col1: '环境监控',
col2: '覆盖范围',
col3: {
field: 'COL105',
formType: 'checkbox-group',
options: ['温度', '湿度', '防水', '防磁', '防雷', '防鼠', '消防', '安防', '空调', 'UPS', '发电机','配电', '机房门禁', '逃生通道','其他'],
otherOption: true,
otherField: 'COL106',
},
},
{ col1: '环境监控', col2:"已建立并定期更新资产台账",col3:{
field: "C24A005", formType:'yesno',
}},
{ col1: '环境监控', col2:"覆盖范围",col3:{
field: "COL105", formType:'checkbox-group', options:[
"温度","湿度","防水","防磁","防雷","防鼠","消防","安防","空调","UPS","发电机配电","机房门禁","逃生通道"
]
}},
{ col1: '环境监控', col2:"视频监控记录保存时间",col3:{
formType:'number',field: "COL108",
}},
{ col1: '环境监控', col2:"报警方式",col3:{
field: "COL110", formType:'checkbox-group', options:[
"语音","短信","声光","其他"
]
}},
{
col1: '环境监控',
col2: '视频监控记录保存时间(月)',
col3: {
formType: 'number',
field: 'COL108',
},
},
{
col1: '环境监控',
col2: '报警方式',
col3: {
field: 'COL110',
formType: 'checkbox-group',
options: ['语音', '短信', '声光', '其他'],
otherOption: true,
otherField: 'COL111',
},
},
],
mergeCells: [
{ row: 0, col: 1, rowspan: 2, colspan: 1 },
{ row: 2, col: 1, rowspan: 6, colspan: 1 },
{ row: 8, col: 1, rowspan: 8, colspan: 1 },
{ row: 16, col: 1, rowspan: 2, colspan: 1 },
{ row: 3, col: 1, rowspan: 3, colspan: 1 },
],
}
},
},
{ name: "电磁屏蔽 ",formType:'combinaform',childs:[
{label:'是否全屏蔽 ',formType:"radio",field:"COL113",options:[
{label:'是',value:"是"},
{label:'否',value:"否"},
]}
]},
{ name: "防雷设施 ",formType:'combinaform',childs:[
{label:'是否具备 ',formType:"radio",field:"COL115",options:[
{label:'是',value:"是"},
{label:'否',value:"否"},
]}
]},
{
name: '电磁屏蔽 ',
formType: 'combinaform',
childs: [
{
label: '是否全屏蔽 ',
formType: 'radio',
field: 'COL113',
options: [
{ label: '是', value: '是' },
{ label: '否', value: '否' },
],
},
],
},
{
name: '防雷设施 ',
formType: 'combinaform',
childs: [
{
label: '是否具备 ',
formType: 'radio',
field: 'COL115',
options: [
{ label: '是', value: '是' },
{ label: '否', value: '否' },
],
},
],
},
{ name: "防水 ",formType:'combinaform',childs:[
{label:'是否具备 ',formType:"radio",field:"COL117",options:[
{label:'是',value:"是"},
{label:'否',value:"否"},
]}
]},
{
name: '防水 ',
formType: 'combinaform',
childs: [
{
label: '是否具备 ',
formType: 'radio',
field: 'COL117',
options: [
{ label: '是', value: '是' },
{ label: '否', value: '否' },
],
},
],
},
{ name: "防鼠 ",formType:'combinaform',childs:[
{label:'是否具备 ',formType:"radio",field:"COL119",options:[
{label:'是',value:"是"},
{label:'否',value:"否"},
]}
]},
{
name: '防鼠 ',
formType: 'combinaform',
childs: [
{
label: '是否具备 ',
formType: 'radio',
field: 'COL119',
options: [
{ label: '是', value: '是' },
{ label: '否', value: '否' },
],
},
],
},
{ name: "空调",formType:'combinaform',childs:
[
{label:'冗余情况',formType:"radio",field:"COL121",
options:[
{label:'A类',value:'A类'},
{label:'B类',value:'B类'},
{label:'C类',value:'C类'},
{label:'其他',value:'其他'},
{
name: '空调',
formType: 'combinaform',
childs: [
{
label: '冗余情况',
formType: 'radio',
field: 'COL121',
options: [
{ label: '无冗余', value: '无冗余' },
{ label: 'N+1', value: 'N+1' },
{ label: '2N', value: '2N' },
{ label: '2(N+1)', value: '2(N+1)' },
{ label: '其他', value: '其他' },
],
otherOption: true,
otherField: 'COL122',
otherLabel: '',
},
{ label: '设计单位面积制冷量', formType: 'number', field: 'COL124', unit: '瓦/平方米' },
{
label: '冷却方式',
formType: 'checkbox',
field: 'COL126',
options: [
{ label: '风冷', value: '风冷' },
{ label: '水冷', value: '水冷' },
],
otherOption:true,
otherField:"COL122",
otherLabel:""
},
{label:'设计单位面积制冷量',formType:"number",field:"COL124",unit:"瓦/平方米"},
{label:'冷却方式',formType:"checkbox",field:"COL126",options:[
{label:'风冷',value:'风冷'},
{label:'水冷',value:'水冷'},
]},
{label:'空调已使用年份',formType:"number",field:"C20A016",unit:"年"},
] ,layout:"horizontal" //'horizontal'|'vertical'|'inline'
{ label: '空调已使用年份', formType: 'number', field: 'C20A016', unit: '年' },
],
layout: 'horizontal', //'horizontal'|'vertical'|'inline'
},
{ name: "消防",formType:'combinaform',childs:
[
{label:'灭火方式',formType:"input",field:"COL128",},
{label:'灭火剂类型',formType:"input",field:"COL130",unit:"个"},
{label:'本年度是否由专业机构或部门对消防设备进行检测 ',formType:"radio",field:"COL132",options:
[
{label:'是',value:"是"},
{label:'否',value:"否"},
{
name: '消防',
formType: 'combinaform',
childs: [
{ label: '灭火方式', formType: 'input', field: 'COL128' },
{ label: '灭火剂类型', formType: 'input', field: 'COL130', unit: '个' },
{
label: '本年度是否由专业机构或部门对消防设备进行检测 ',
formType: 'radio',
field: 'COL132',
options: [
{ label: '是', value: '是' },
{ label: '否', value: '否' },
],
},
{label:'检测时间',formType:"date",field:"COL133",},
] ,layout:"horizontal" //'horizontal'|'vertical'|'inline'
},
{ label: '检测时间', formType: 'date', field: 'COL133' },
],
layout: 'horizontal', //'horizontal'|'vertical'|'inline'
},
{ name: "巡检",formType:'combinaform',childs:[
{label:'巡检频度',formType:"number",field:"COL135",unit:"次/每天"},
{label:'巡检频度备注',formType:"input",field:"COL136",unit:"次/每天"}
]},
{
name: '巡检',
formType: 'combinaform',
childs: [
{ label: '巡检频度', formType: 'number', field: 'COL135', unit: '次/每天' },
{ label: '巡检频度备注', formType: 'input', field: 'COL136', unit: '次/每天' },
],
},
{ name: "所承担的灾备职能(仅在中心类型为灾备中心或灾备机房时填写)",formType:'table',field:"TB20201",
gridOptions:
{
{
name: '所承担的灾备职能(仅在中心类型为灾备中心或灾备机房时填写)',
formType: 'table',
field: 'TB20201',
gridOptions: {
border: true,
showOverflow: true,
editConfig: {
trigger: 'click',
mode: 'row'
mode: 'row',
},
toolbarConfig: {
buttons: [
{ name: '新增', code: 'add', mode:'text',status: 'primary',size:"mini",field:"TB20201"},
{ name: '删除', code: 'delete', mode:'text',status: 'primary',size:"mini",field:"TB20201"},
]
{ name: '新增', code: 'add', mode: 'text', status: 'primary', size: 'mini', field: 'TB20201' },
{ name: '删除', code: 'delete', mode: 'text', status: 'primary', size: 'mini', field: 'TB20201' },
],
},
columns: [
{ type: 'checkbox', width: 70 },
{ field: 'COL138', title: '所备份的生产中心名称',editRender: {
name: 'input',
}
{
field: 'COL138',
title: '所备份的生产中心名称',
editRender: {
name: 'input',
},
},
{
field: 'COL139',
title: '区域',
editRender: {
name: 'VxeSelect',
options: [
{ label: '同城', value: '同城' },
{ label: '异地', value: '异地' },
],
},
},
{ field: 'COL139', title: '区域', editRender: {
name: 'VxeSelect',
options:[
{label:'同城',value:"同城"},
{label:'异地',value:"异地"},
]
} },
{ field: 'COL140', title: '与生产中心距离(公里)', editRender: {
{
field: 'COL140',
title: '与生产中心距离(公里)',
editRender: {
name: 'input',
attrs: {
type: 'number',
min: 0,
type: 'number',
min: 0,
step: 10,
placeholder: '请输入整数'
}
} }
placeholder: '请输入整数',
},
},
},
],
data: [
{ },
]
data: [{}],
},
},
],
datas:[{}],
datas: [{}],
},
];
\ No newline at end of file
];
......@@ -13,13 +13,68 @@
<template v-else-if="row[column.field].formType=='radio-group'">
<vxe-radio-group v-model="formData[row[column.field].field]">
<vxe-radio v-for="(opt, optIndex) in row[column.field].options" :key="optIndex" :label="opt">{{ opt }}</vxe-radio>
<vxe-radio
v-for="(opt, optIndex) in row[column.field].options"
:key="optIndex"
:label="opt"
>
{{ opt }}
</vxe-radio>
</vxe-radio-group>
<!-- 1)通用“其他”选项 -->
<template
v-if="
row[column.field].otherOption &&
formData[row[column.field].field] === '其他'
"
>
<vxe-input
v-model="formData[row[column.field].otherField]"
placeholder="请输入其他"
style="width: 120px; margin-left: 8px;"
/>
</template>
<!-- 2)指定值触发的额外输入,例如 extraWhen: '外部机构' -->
<template
v-else-if="
row[column.field].extraField &&
(!row[column.field].extraWhen ||
formData[row[column.field].field] === row[column.field].extraWhen)
"
>
<vxe-input
v-model="formData[row[column.field].extraField]"
:placeholder="row[column.field].extraPlaceholder || '请输入'"
style="width: 150px; margin-left: 8px;"
/>
<span v-if="row[column.field].extraUnit" class="unit">
{{ row[column.field].extraUnit }}
</span>
</template>
</template>
<template v-else-if="row[column.field].formType=='checkbox-group'">
<vxe-checkbox-group v-model="formData[row[column.field].field]">
<vxe-checkbox v-for="(opt, optIndex) in row[column.field].options" :key="optIndex" :label="opt">{{ opt }}</vxe-checkbox>
<vxe-checkbox
v-for="(opt, optIndex) in row[column.field].options"
:key="optIndex"
:label="opt"
>
{{ opt }}
</vxe-checkbox>
</vxe-checkbox-group>
<template
v-if="
row[column.field].otherField &&
Array.isArray(formData[row[column.field].field]) &&
formData[row[column.field].field].includes('其他')
"
>
<vxe-input
v-model="formData[row[column.field].otherField]"
:placeholder="row[column.field].extraPlaceholder || '请输入其他'"
style="width: 150px; margin-left: 8px;"
/>
</template>
</template>
<template v-else-if="row[column.field].formType=='textarea'">
<vxe-textarea v-model="formData[row[column.field].field]" :row="3"></vxe-textarea>
......@@ -29,6 +84,18 @@
<vxe-radio label="是"></vxe-radio>
<vxe-radio label="否"></vxe-radio>
</vxe-radio-group>
<template
v-if="
row[column.field].extraField &&
formData[row[column.field].field] === '是'
"
>
<vxe-input
v-model="formData[row[column.field].extraField]"
:placeholder="row[column.field].extraPlaceholder || '请输入'"
style="width: 150px; margin-left: 8px;"
/>
</template>
</template>
<template v-else>
<vxe-input
......
......@@ -113,7 +113,6 @@
<template v-if="field.extraFields">
<template v-for="(ccopt,ccind) in field.extraFields[row[field.field]]" :key="ccind">
<span style="margin-left:20px">{{ ccopt.label }}: </span>
<component
:is="getExtraFieldComponent(ccopt.formType)"
......@@ -124,12 +123,19 @@
:style="{width:ccopt.width}"
size="small"
/>
<template v-if="ccopt.otherOption&&row[ccopt.field]=='其他'">
<template
v-if="
ccopt.otherOption &&
(
(ccopt.formType === 'radio' && row[ccopt.field] === '其他') ||
(ccopt.formType === 'checkbox' && Array.isArray(row[ccopt.field]) && row[ccopt.field].includes('其他'))
)
"
>
<vxe-input v-model="row[ccopt.otherField]" placeholder="请输入其他" style="width: 100px;">
</vxe-input>
</template>
<span class="unit"> {{ ccopt.unit }}</span>
</template>
</template>
</template>
......@@ -151,7 +157,7 @@
<template v-if="field.extraFields">
<template v-for="(ccopts,ccind) in field.extraFields" :key="ccind">
<template v-for="(ccopt,ind) in ccopts" :key="ind">
<br>
<br/>
<span style="margin-left:20px">{{ ccopt.label }}: </span>
<component
:is="getExtraFieldComponent(ccopt.formType)"
......@@ -179,9 +185,17 @@
class="extra-input"
/>
<template v-if="item.formType==='checkbox'|| item.formType==='radio'">
<template v-if="item.otherOption&&row[item.field]==='其他'">
<template
v-if="
item.otherOption &&
(
(item.formType === 'radio' && row[item.field] === '其他') ||
(item.formType === 'checkbox' && Array.isArray(row[item.field]) && row[item.field].includes('其他'))
)
"
>
<span class="extra-label">{{ item.otherLabel}}</span>
<vxe-input v-model="row[item.otherField]" placeholder="请输入其他" style="width: 150px;">
<vxe-input v-model="row[item.otherField]" placeholder="请输入" style="width: 150px;">
</vxe-input>
</template>
</template>
......@@ -222,6 +236,21 @@
:type="extraObject.formType === 'number' ? 'number' : undefined"
class="extra-input"
/>
<template
v-if="
extraObject.otherOption &&
(
(extraObject.formType === 'radio' && row[extraObject.field] === '其他') ||
(extraObject.formType === 'checkbox' && Array.isArray(row[extraObject.field]) && row[extraObject.field].includes('其他'))
)
"
>
<vxe-input
v-model="row[extraObject.otherField]"
placeholder="请输入其他"
style="width: 150px; margin-left: 8px;"
/>
</template>
<span v-if="extraObject.extraUnit" class="unit">{{ extraObject.unit }}</span>
</div>
</template>
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论