`;
+ addCode(`
`);
+ }
+ tier.push(formData.options.key || ('form-' + formData.options.uuid));
+ // code += ``;
+ addCode(``);
+
+ 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 += ``;
+ addCode(``);
+ if (isForm) {
+ // code += ``;
+ addCode(``);
+ } else {
+ // code += `
`;
+ addCode(`
`);
+ }
+ addCode(code);
+
+};
+
+export {
+ getFormCode
+};
diff --git a/src/views/tool/draggable/exportConfig/index.js b/src/views/tool/draggable/exportConfig/index.js
index a686227..eeee75d 100644
--- a/src/views/tool/draggable/exportConfig/index.js
+++ b/src/views/tool/draggable/exportConfig/index.js
@@ -1,7 +1,32 @@
-import { addCode, combined } from '@/views/tool/draggable/exportConfig/template.js';
+import { addCode, templateCombined, resetTemplate } from './template.js';
+import { getInputCode } from './input.js';
+import { getFormCode } from './form.js';
+import { scriptCombined, resetScript } from './script.js';
+import Download from '@/plugins/download';
+
+const reset = () => {
+ resetScript();
+ resetTemplate();
+};
+
+const elementEnum = {
+ 'hw-input': getInputCode, 'hw-form': getFormCode
+};
const exportConfig = (e) => {
+ reset();
console.log(e);
+ e.map(v => {
+ elementEnum[v.type]({
+ isForm: false, elementData: v, formData: {}
+ });
+ });
+ let template = templateCombined();
+ let script = scriptCombined();
+ let codeStr = template + script;
+ console.log(codeStr);
+ const blob = new Blob([codeStr], { type: 'text/plain;charset=utf-8' });
+ // Download.saveAs(blob, Date.now() + '.vue');
};
diff --git a/src/views/tool/draggable/exportConfig/input.js b/src/views/tool/draggable/exportConfig/input.js
index 225abcf..0bde140 100644
--- a/src/views/tool/draggable/exportConfig/input.js
+++ b/src/views/tool/draggable/exportConfig/input.js
@@ -2,20 +2,51 @@ import {
addVariables, addFunction
} from './script.js';
-const getInput = (data) => {
+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 getInputCode = (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 += `