Excel批量导入
代码事例
vue
<template>
<fk-space>
<fk-button type="primary" @click="handleSelect">批量导入</fk-button>
<fk-button type="primary" @click="handleCustomSelect">自定义额外表单</fk-button>
</fk-space>
<p>数据模型</p>
<fk-row>
<JsonViewer :data="selected" />
</fk-row>
</template>
<script lang="tsx" setup>
import { ref } from 'vue';
import { IconQuestionCircle, Tooltip } from '@erp/common';
import { createImportExcelPop, pop } from '@erp/biz';
const selected = ref([]);
const handleSelect = () => {
createImportExcelPop({
bizName: '订单及开票信息',
tips: '提示:批量导入仅限订单拆分开票',
downloadUrl: 'https://static.erp.91spyc.com/default/OgQYJrhASUsaOv9Z7ijzOyvMtOtILR9SSyC2PVtb.xlsx',
uploadTips: '底部说明',
beforeConfirm: async file => {
return true;
},
}).then(res => {
console.log('createImportExcelPop >>', res);
selected.value = res;
});
};
const handleCustomSelect = () => {
createImportExcelPop({
bizName: '订单及开票信息',
tips: '提示:批量导入仅限订单拆分开票',
downloadUrl: 'https://static.erp.91spyc.com/default/OgQYJrhASUsaOv9Z7ijzOyvMtOtILR9SSyC2PVtb.xlsx',
uploadTips: '底部说明',
stepFields: [
{
label: '3.选择导入类型',
key: 'type',
type: 'radio',
defaultValue: 1,
tooltip: '选择导入类型 TOOLTIP',
options: [
{
label: '普通单',
value: 1,
}, {
label(){
return <span>大单 <Tooltip content="23432"><IconQuestionCircle class="model-item-tooltip" /></Tooltip></span>
},
value: 2,
},
]
}
],
beforeConfirm: async (file, model) => {
pop.info(`已选择 ${JSON.stringify(model)} 数据模型`)
model.file = file;
return model;
},
}).then(res => {
console.log('createImportExcelPop >>', res);
selected.value = res;
});
}
</script>API
<import-excel> Props
| 参数名 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| biz-name | 业务名称 | string | - |
| tips | 提示 | string | - |
| upload-tips | 上传提示 | string | - |
| download-url | 下载地址 | string | - |
| before-confirm | 确认前回调,用于手动上传文件 | TSFunctionType | - |
ImportExcelProps
| 参数名 | 描述 | 类型 | 默认值 |
|---|---|---|---|
| bizName | 业务名称 | string | - |
| tips | 提示 | string | - |
| uploadTips | 上传提示 | string | - |
| downloadUrl | 下载地址 | string | - |
| beforeConfirm | 确认前回调,用于手动上传文件 | (url: FileItem) => Promise<boolean> | - |