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.

53 lines
1.5 KiB
JavaScript

import {
addVariables, addFunction
} from './script.js';
import {
addCode
} from './template.js';
const getFormField = (tier, formData, elementData) => {
let res = `pageForm`;
if (tier && tier.length > 0) {
tier.forEach((item, index) => {
res += `['${item}']`;
});
}
// if (formData !== '') {
// res += `['${formData}']`;
// }
if (elementData !== '') {
res += `['${elementData}']`;
}
return res;
};
const getTableCode = (data) => {
let code = ``;
let variablesCode = ``;
let functionCode = ``;
let isForm = data.isForm || false;
let tier = data.tier || [];
let inputData = data.elementData || {};
let formData = data.formData || {};
if (isForm) {
code += `<el-form-item label="${inputData.options.name || ''}" :required="${inputData.options.required}">`;
} else {
code += `<div> <span>${inputData.options.name}</span>`;
}
addVariables(tier, inputData.options.key || ('input-' + inputData.options.uuid), '');
code += `<el-input v-model="${getFormField(tier, formData.options ? (formData.options.key || ('form' + formData.options.uuid)) : '', inputData.options.key || ('input-' + inputData.options.uuid))}" ${inputData.options.disabled ? 'disabled' : ''}
type="${inputData.options.type}" ${inputData.options.type === 'password' ? 'show-password' : ''} autocomplete="new-password" />`;
if (isForm) {
code += `</el-form-item>`;
} else {
code += `</div>`;
}
addCode(code);
};
export {
getTableCode
};