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