import { formItemWrapper, colWrapper } from './common/htmlWrapper' // 创建“el-button” function createButtonHtml(upload) { let buttonHtml = '' const config = upload.__config__ if (upload['list-type'] === 'picture-card') { buttonHtml += '\n' } else { buttonHtml += `${config.buttonText}\n` } if (config.showTip) { buttonHtml += `
只能上传不超过 ${config.fileSize}${config.sizeUnit} 的${upload.accept}文件
` } return buttonHtml } // 创建“el-upload” function createUploadHtml(formJson, upload, parent) { // const vModel = getVModelHtml(formJson, upload, parent) const vModel = upload.__vModel__ const disabled = upload.disabled ? ':disabled=\'true\'' : '' const action = upload.action ? `:action="${vModel}Action"` : '' const multiple = upload.multiple ? 'multiple' : '' const listType = upload['list-type'] !== 'text' ? `list-type="${upload['list-type']}"` : '' const accept = upload.accept ? `accept="${upload.accept}"` : '' const name = upload.name !== 'file' ? `name="${upload.name}"` : '' const autoUpload = upload['auto-upload'] === false ? ':auto-upload="false"' : '' const beforeUpload = `:before-upload="${vModel}BeforeUpload"` const fileList = `:file-list="${vModel}fileList"` const ref = `ref="${vModel}"` // 创建“el-button” const buttonHtml = createButtonHtml(upload) return `${buttonHtml}` } /** * 获取“上传”HTML * @param formJson 表单结构 * @param upload “上传”组件 * @param parent 父组件(dialog, table...) * @param isSomeSpanUnequal24 是否有的组件“span”不等于“24” * @returns {string} “上传”HTML */ export default function getUploadHtml(formJson, upload, parent, isSomeSpanUnequal24) { // 创建“el-upload” const uploadHtml = createUploadHtml(formJson, upload, parent) // 用“el-form-item”包裹“el-upload” let formItemHtml = formItemWrapper(formJson, upload, uploadHtml) // span不为24的用“el-col”包裹“el-form-item” if (isSomeSpanUnequal24) { formItemHtml = colWrapper(upload, formItemHtml) } return formItemHtml }