提交 43996a32 authored 作者: liuluyu's avatar liuluyu

更新TB4字段和样式

上级 9ee7229c
......@@ -23,57 +23,88 @@ interface VxeColumn {
filterRender?: any;
}
export const tableFormData =
{
serialNumber: "1",
project: "信息科技重大项目情况表",
export const tableFormData = {
serialNumber: '1',
project: '信息科技重大项目情况表',
code: 'TB4001',
type: "VxeTable",
showFooter:false,
type: 'VxeTable',
showFooter: false,
rowHeight: 96,
columns: [
{ type: 'seq', visible: true, width: '50', showOverflow: false },
{ field: 'COL1', title: '项目名称', editRender: { name: 'VxeInput' } },
{ field: 'COL2', title: '项目实现功能', editRender: { name: 'VxeInput' } },
{ type: 'seq', visible: true, width: '60', showOverflow: false },
{ field: 'COL1', title: '项目名称', width: 180, editRender: { name: 'VxeInput' } },
{ field: 'COL2', title: '项目实现功能', width: 200, editRender: { name: 'VxeTextarea', rows: 3 } },
{ field: 'COL3', title: '实施情况',
editRender: { name: 'VxeSelect', options: ["新增", "执行中", "完成", "已取消"]},
slots:{ edit: 'select',default: 'default_select'},
{
field: 'COL3',
title: '实施情况',
width: 120,
editRender: { name: 'VxeSelect', options: ['新增', '执行中', '完成', '已取消'] },
slots: { edit: 'select', default: 'default_select' },
},
{ field: 'COL4', title: '项目类别',
editRender: { name: 'VxeSelect', options: ["软件类(银行业)", "基础设施类", "其他"]},
slots:{ edit: 'select',default: 'default_select'}
{
field: 'COL4',
title: '项目类别',
width: 150,
editRender: { name: 'VxeSelect', options: ['软件类(银行业)', '软件类(保险业)', '基础设施类', '其他'] },
slots: { edit: 'select', default: 'default_select' },
},
{ field: 'COL5', title: '软件类细分',visible:true, showHeaderOverflow: true,
editRender: { name: 'VxeSelect', options: [
"综合业务", "渠道管理", "客户管理", "产品管理",
"财务管理", "决策支持", "共享支持", "其他"
],},
slots:{ edit: 'select',default: 'default_select'},
show: (row) => row.COL4 === "软件类(银行业)"
{
field: 'COL5',
title: '软件类细分',
width: 150,
showHeaderOverflow: true,
editRender: {
name: 'VxeSelect',
getOptions: (row: any) => {
if (row?.COL4 === '软件类(银行业)') {
return ['综合业务', '渠道管理', '客户管理', '产品管理', '财务管理', '决策支持', '共享支持', '其他'];
}
if (row?.COL4 === '软件类(保险业)') {
return ['核心业务', '销售服务', '客户管理', '综合管理', '财务管理', '内控合规', '其他'];
}
return [];
},
{ field: 'COL7', title: '合同金额(万元)', showHeaderOverflow: true, editRender: { name: 'VxeNumberInput' }},
{ field: 'COL8', title: '计划完成',editRender: { name: 'VxeDatePicker' }},
{ field: 'COL9', title: '开始日期',editRender: { name: 'VxeDatePicker' }},
{ field: 'COL10', title: '实际完成',editRender: { name: 'VxeDatePicker' }},
{ field: 'C20A001', title: '项目取消',editRender: { name: 'VxeDatePicker'},
visible: (row) => row.COL3 == "已取消"
},
slots: { edit: 'select_dynamic', default: 'default_select' },
},
{
field: 'COL99',
title: '其他(软件类别)',
width: 200,
showHeaderOverflow: true,
editRender: { name: 'VxeInput' },
slots: { edit: 'input', default: 'default_input' },
},
{
field: 'COL6',
title: '其他(项目类别)',
width: 200,
editRender: { name: 'VxeInput' },
slots: { edit: 'other_input', default: 'default_other' },
},
{ field: 'COL7', title: '合同金额(万元)', width: 140, showHeaderOverflow: true, editRender: { name: 'VxeNumberInput' } },
{ field: 'COL11', title: '实施模式',
editRender: { name: 'VxeSelect', options: ["自主研发(建设)", "整体外包", "部分外包"] },
slots:{ edit: 'select',default: 'default_select'}
{ field: 'COL8', title: '计划上线日期', width: 160, editRender: { name: 'VxeDatePicker' } },
{ field: 'COL9', title: '项目开始日期', width: 160, editRender: { name: 'VxeDatePicker' } },
{ field: 'COL10', title: '实际完成日期', width: 160, editRender: { name: 'VxeDatePicker' } },
{ field: 'C20A001', title: '项目取消日期', width: 160, editRender: { name: 'VxeDatePicker' }, visible: (row) => row.COL3 == '已取消' },
{
field: 'COL11',
title: '实施模式',
width: 160,
editRender: { name: 'VxeSelect', options: ['自主研发(建设)', '整体外包', '部分外包'] },
slots: { edit: 'select', default: 'default_select' },
},
{ field: 'COL12', title: '创新点和意义', showHeaderOverflow: true,editRender: { name: 'VxeInput' }},
{ field: 'COL13', title: '新技术应用情况', showHeaderOverflow: true,editRender: { name: 'VxeInput' }},
{ field: 'COL14', title: '备注', editRender: { name: 'VxeInput' }},
{ title: '操作', slots: { default: 'action' },width:100 }
{ field: 'COL12', title: '创新点和意义', width: 180, showHeaderOverflow: true, editRender: { name: 'VxeTextarea', rows: 3 } },
{ field: 'COL13', title: '新技术应用情况', width: 180, showHeaderOverflow: true, editRender: { name: 'VxeTextarea', rows: 3 } },
{ field: 'COL14', title: '备注', width: 160, editRender: { name: 'VxeInput' } },
{ title: '操作', slots: { default: 'action' }, width: 120 },
],
data: [
{ COL1: '', COL2: '', COL3: '', COL4:'', COL5: '' ,COL6:'',COL7:''},
],
}
data: [{ COL1: '', COL2: '', COL3: '', COL4: '', COL5: '', COL6: '', COL7: '', COL99: '' }],
};
......@@ -71,6 +71,7 @@
:columns="tableFormData.columns"
:pcode="tableFormData.code"
:showFooter="tableFormData.showFooter"
:rowHeight="100"
style="margin:0px;padding:0px;height:100%"
ref="refMyVxeTable"
/>
......
......@@ -11,25 +11,26 @@
<vxe-select v-model="row[column.field]" filterable :disabled="!column.editRender.getOptions?.(row)?.length" style="min-width: 120px">
<vxe-option v-for="(opt, optIndex) in column.editRender.getOptions?.(row) || []" :key="optIndex" :label="opt" :value="opt" />
</vxe-select>
<vxe-input
v-if="
(row.COL4 === '软件类(银行业)' || row.COL4 === '软件类(保险业)') &&
(row.COL5 === '其他' || !(column.editRender.getOptions?.(row) || []).includes(row.COL5))
"
v-model="row[column.field]"
placeholder="请输入"
style="min-width: 150px"
/>
</div>
</template>
<template #other_input="{ row, column }">
<vxe-input v-model="row[column.field]" placeholder="请输入" :disabled="row.COL4 !== '其他'" />
</template>
<template #input="{ row, column }">
<vxe-input
v-model="row[column.field]"
placeholder="请输入"
:disabled="!(row.COL4 === '软件类(银行业)' || row.COL4 === '软件类(保险业)') || row.COL5 !== '其他'"
/>
</template>
<template #default_select="{ row, column }">
<span>{{ row[column.field] }}</span>
</template>
<template #default_other="{ row, column }">
<span v-if="row.COL4 === '其他'">{{ row[column.field] }}</span>
<span v-if="row.COL4 === '其他'"> {{ row[column.field] }}</span>
</template>
<template #default_input="{ row, column }">
<span v-if="(row.COL4 === '软件类(银行业)' || row.COL4 === '软件类(保险业)') && row.COL5 === '其他'"> {{ row[column.field] }}</span>
</template>
<template #footer_seq="{ row, column }">
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论