<a-button type="primary" @click="handleAdd" v-if="!disable">新增</a-button>
<br>
<br>
<a-form ref="formRefProtocol" :model="protocolFormState">
<a-table :columns="columns" :data-source="protocolFormState.dataSource" bordered
@change="handleTableChange" :rowKey="(record: any) => { return record.id }">
<template v-slot:bodyCell="{ column, record, index, text }">
<template v-if="column.dataIndex == itemName">
<span v-if="disable">{
{
text }}</span>
<a-form-item v-else :name="[dataSource, index, itemName]" :rules="{
required: true,
message: 请输入协议名称,
trigger: change,
}">
<a-input v-model:value="record.itemName" placeholder="请输入协议名称" />
</a-form-item>
</template>
<template v-if="column.dataIndex == itemType">
<span v-if="disable">{
{
text }}</span>
<a-form-item v-else :name="[dataSource, index, itemType]"
:rules="[{ required: true, message: 请选择签约时间, trigger: change }]">
<a-date-picker v-model:value="record.itemType" placeholder="请选择签约时间" />
</a-form-item>
</template>
<template v-if="column.dataIndex == value2">
<div v-if="!record.value2">
<a-upload name="file" :limit="1" v-model:file-list="fileList"
:before-upload="(file: any) => beforeUpload(file, record)" :showUploadList="false">
<a-button>
<upload-outlined></upload-outlined>
上传
</a-button>
</a-upload>
</div>
<div v-else>
<a :href="record.fileLike" target="_blank">预览</a>
<a-divider type="vertical" />
<a @click="handledownloadFile(record)">下载</a>
<a-divider type="vertical" />
<a-popconfirm title="确认删除吗?" @confirm="handleRemove(record)" v-if="!disable">
<a>删除</a>
</a-popconfirm>
</div>
</template>
</template>
</a-table>
</a-form>
const protocolFormState = reactive<{
dataSource: any }>({
dataSource: [{
itemName: 1111, value2: 333 }, {
itemName: 1111 }],
});
const handleAdd = () => {
let key = Math.ceil(Math.random() * 10).toString()
protocolFormState.dataSource.push({
key,
itemName: "",
itemType: "",
})
}