提交 93d1a295 authored 作者: liuluyu's avatar liuluyu

更新TB2字段和表单配置文件

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