import {
addFormVariables, addFunction, addVariables
} from './script.js';
import {
addCode
} from './template.js';
import { getInputCode } from './input.js';
const elementEnum = {
'input': getInputCode
};
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 isForm = data.isForm || false;
let tier = data.tier || [];
let tableData = data.elementData || {};
let prefix = tableData.options.key || ('table_' + tableData.options.uuid);
let formData = data.formData || {};
if (isForm) {
addCode(``);
} else {
}
if (tableData.options.isOperate) {
addCode(`
新增
编辑
删除
`);
}
addVariables(tableData.options.dataKey, []);
addVariables(`${prefix}SelectionList`, []);
addFunction(`const ${prefix}SelectionChange = (e)=>{
${prefix}SelectionList.value = e;
}`);
addFunction(`
const ${prefix}Update = (scope) =>{
if(!scope){
${prefix}OperationForm.value = ${prefix}SelectionList.value[0];
}else{
${prefix}OperationForm.value = scope.row;
}
${prefix}OperationFormVisible.value = true;
}
`);
addFunction(`
const ${prefix}Add = ()=>{
${prefix}OperationForm.value = {}
${prefix}OperationFormVisible.value = true;
}
`);
addFunction(`
const ${prefix}Del = () => {
ElMessageBox.confirm(
'确定删除这些数据吗?',
'Warning',
{
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
beforeClose: async (action, instance, done) => {
try {
let localData = pageData.value;
let formData = { ${tableData.options.delField}: ${prefix}SelectionList.value.map(v => v[${tableData.options.delField}]) }
${tableData.options.deleteFunction}
done();
} catch (e) {
console.log(e);
}
}
}
)
.then(async () => {
ElMessage({
type: 'success',
message: '删除完成'
});
})
.catch(() => {
ElMessage({
type: 'info',
message: '取消删除'
});
});
};
`);
addCode(`
${tableData.options.thTdMap.map(i => {
return ``;
}).join('\n')}
修改
删除
`);
if (isForm) {
addCode(``);
} else {
}
if (true) {
addVariables(`${prefix}OperationFormVisible`, false);
addVariables(`${prefix}OperationTitle`, '');
addFormVariables([], `${prefix}OperationForm`, {});
addCode(`
`);
tableData.options.thTdMap.filter(e => e.isUpdate).map(e => {
const noFun = () => {
};
(elementEnum[e.type] || noFun)({
isForm: true,
formData: { options: { key: `${prefix}OperationForm` } },
elementData: { options: e },
tier: [`${prefix}OperationForm`]
});
});
addCode(`
`);
addFunction(`
const ${prefix}AddSubmit = async ()=>{
let formData = ${prefix}OperationForm.value
let localData = pageData.value
${tableData.options.updateFunction}
${prefix}OperationFormVisible.value = false
}
`);
}
};
export {
getTableCode
};