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.
|
|
|
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
|
|
|
|
};
|