提交 2a980e8a authored 作者: kxjia's avatar kxjia

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

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