You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
67 lines
1.8 KiB
JavaScript
67 lines
1.8 KiB
JavaScript
import {
|
|
addVariables
|
|
} from './script.js';
|
|
|
|
import {
|
|
addCode
|
|
} from './template.js';
|
|
|
|
import {
|
|
getInputCode
|
|
} from './input.js';
|
|
|
|
const elementEnum = {
|
|
'hw-input': getInputCode
|
|
};
|
|
|
|
const getFormCode = (data) => {
|
|
let code = ``;
|
|
let variablesCode = ``;
|
|
let functionCode = ``;
|
|
let isForm = data.isForm || false;
|
|
let formData = data.elementData || {};
|
|
let tier = data.tier || [];
|
|
let parentData = data.formData || {};
|
|
addVariables(tier, formData.options.key || ('form-' + formData.options.uuid), {});
|
|
if (isForm) {
|
|
// code += `<el-form-item label="${formData.options.name || ''}" required="${formData.options.required}">`;
|
|
addCode(`<el-form-item label="${formData.options.name || ''}" required="${formData.options.required}">`);
|
|
} else {
|
|
console.log(123123);
|
|
// code += `<div> `;
|
|
addCode(`<div> `);
|
|
}
|
|
tier.push(formData.options.key || ('form-' + formData.options.uuid));
|
|
// code += `<el-form :model="pageForm['${formData.options.key || ('form-' + formData.options.uuid)}']" label-width="${formData.options.labelWidth}" >`;
|
|
addCode(`<el-form :model="pageForm['${formData.options.key || ('form-' + formData.options.uuid)}']" label-width="${formData.options.labelWidth}" >`);
|
|
|
|
formData.tasks.forEach(task => {
|
|
console.log(task);
|
|
if (task.type === 'hw-form') {
|
|
getFormCode({
|
|
isForm: true, formData: formData, elementData: task, tier
|
|
});
|
|
} else {
|
|
elementEnum[task.type]({
|
|
isForm: true, formData: formData, elementData: task, tier
|
|
});
|
|
}
|
|
});
|
|
|
|
// code += `</el-form>`;
|
|
addCode(`</el-form>`);
|
|
if (isForm) {
|
|
// code += `</el-form-item>`;
|
|
addCode(`</el-form-item>`);
|
|
} else {
|
|
// code += `</div>`;
|
|
addCode(`</div>`);
|
|
}
|
|
addCode(code);
|
|
|
|
};
|
|
|
|
export {
|
|
getFormCode
|
|
};
|