test
parent
4efe7a3285
commit
a9805c8f1f
|
@ -4,6 +4,7 @@
|
||||||
<template #customToolButtons>
|
<template #customToolButtons>
|
||||||
<!-- <el-button type="normal" @click="printFormJson">测试按钮</el-button> -->
|
<!-- <el-button type="normal" @click="printFormJson">测试按钮</el-button> -->
|
||||||
<el-button type="normal" @click="insertFormJson">外部导入</el-button>
|
<el-button type="normal" @click="insertFormJson">外部导入</el-button>
|
||||||
|
<el-button type="normal" @click="getFieldList">获取字段列表</el-button>
|
||||||
<el-button type="primary" @click="printFormJson">外部导出</el-button>
|
<el-button type="primary" @click="printFormJson">外部导出</el-button>
|
||||||
</template>
|
</template>
|
||||||
</VFormDesigner>
|
</VFormDesigner>
|
||||||
|
@ -56,6 +57,9 @@ export default {
|
||||||
insertFormJson() {
|
insertFormJson() {
|
||||||
let jsonObj = require('./assets/testForm.json')
|
let jsonObj = require('./assets/testForm.json')
|
||||||
this.$refs.vfDesignerRef.setFormJson(jsonObj)
|
this.$refs.vfDesignerRef.setFormJson(jsonObj)
|
||||||
|
},
|
||||||
|
getFieldList() {
|
||||||
|
console.log(this.$refs.vfDesignerRef.getFieldWidgets())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@
|
||||||
<code-editor v-model="testFunc" style="display: none"></code-editor>
|
<code-editor v-model="testFunc" style="display: none"></code-editor>
|
||||||
<div slot="footer" class="dialog-footer">
|
<div slot="footer" class="dialog-footer">
|
||||||
<el-button type="primary" @click="getFormData">{{i18nt('designer.hint.getFormData')}}</el-button>
|
<el-button type="primary" @click="getFormData">{{i18nt('designer.hint.getFormData')}}</el-button>
|
||||||
|
<el-button type="primary" @click="getFieldList">{{i18nt('designer.hint.getFieldListData')}}</el-button>
|
||||||
<el-button type="primary" @click="resetForm">{{i18nt('designer.hint.resetForm')}}</el-button>
|
<el-button type="primary" @click="resetForm">{{i18nt('designer.hint.resetForm')}}</el-button>
|
||||||
<el-button type="primary" @click="setFormDisabled">{{i18nt('designer.hint.disableForm')}}</el-button>
|
<el-button type="primary" @click="setFormDisabled">{{i18nt('designer.hint.disableForm')}}</el-button>
|
||||||
<el-button type="primary" @click="setFormEnabled">{{i18nt('designer.hint.enableForm')}}</el-button>
|
<el-button type="primary" @click="setFormEnabled">{{i18nt('designer.hint.enableForm')}}</el-button>
|
||||||
|
@ -138,6 +139,22 @@
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
|
|
||||||
|
<el-dialog :title="i18nt('designer.hint.exportFieldListData')" :visible.sync="showFieldListDataDialogFlag"
|
||||||
|
v-if="showFieldListDataDialogFlag" :show-close="true" class="dialog-title-light-bg" center v-dialog-drag
|
||||||
|
:close-on-click-modal="false" :close-on-press-escape="false" :destroy-on-close="true"
|
||||||
|
:append-to-body="true">
|
||||||
|
<div style="border: 1px solid #DCDFE6">
|
||||||
|
<code-editor :mode="'json'" :readonly="true" v-model="fieldListJson"></code-editor>
|
||||||
|
</div>
|
||||||
|
<div slot="footer" class="dialog-footer">
|
||||||
|
<el-button type="primary" class="copy-form-data-json-btn" :data-clipboard-text="fieldListRawJson" @click="copyFieldListDataJson">
|
||||||
|
{{i18nt('designer.hint.copyFormData')}}</el-button>
|
||||||
|
<el-button @click="saveFieldListData">{{i18nt('designer.hint.saveFormData')}}</el-button>
|
||||||
|
<el-button type="" @click="showFieldListDataDialogFlag = false">
|
||||||
|
{{i18nt('designer.hint.closePreview')}}</el-button>
|
||||||
|
</div>
|
||||||
|
</el-dialog>
|
||||||
|
|
||||||
<el-dialog :title="i18nt('designer.toolbar.generateSFC')" :visible.sync="showExportSFCDialogFlag"
|
<el-dialog :title="i18nt('designer.toolbar.generateSFC')" :visible.sync="showExportSFCDialogFlag"
|
||||||
v-if="showExportSFCDialogFlag" :show-close="true" class="small-padding-dialog" center append-to-body v-dialog-drag
|
v-if="showExportSFCDialogFlag" :show-close="true" class="small-padding-dialog" center append-to-body v-dialog-drag
|
||||||
width="65%" :close-on-click-modal="false" :close-on-press-escape="false" :destroy-on-close="true">
|
width="65%" :close-on-click-modal="false" :close-on-press-escape="false" :destroy-on-close="true">
|
||||||
|
@ -208,6 +225,7 @@
|
||||||
showExportJsonDialogFlag: false,
|
showExportJsonDialogFlag: false,
|
||||||
showExportCodeDialogFlag: false,
|
showExportCodeDialogFlag: false,
|
||||||
showFormDataDialogFlag: false,
|
showFormDataDialogFlag: false,
|
||||||
|
showFieldListDataDialogFlag: false,
|
||||||
showExportSFCDialogFlag: false,
|
showExportSFCDialogFlag: false,
|
||||||
showNodeTreeDrawerFlag: false,
|
showNodeTreeDrawerFlag: false,
|
||||||
|
|
||||||
|
@ -221,6 +239,9 @@
|
||||||
formDataJson: '',
|
formDataJson: '',
|
||||||
formDataRawJson: '',
|
formDataRawJson: '',
|
||||||
|
|
||||||
|
fieldListJson: '',
|
||||||
|
fieldListRawJson: '',
|
||||||
|
|
||||||
vueCode: '',
|
vueCode: '',
|
||||||
htmlCode: '',
|
htmlCode: '',
|
||||||
|
|
||||||
|
@ -578,6 +599,37 @@
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getFieldListPromiseWrap () {
|
||||||
|
let callback = function nullFunc() {}
|
||||||
|
let promise = new window.Promise(function (resolve, reject) {
|
||||||
|
callback = function(fieldListJson, fieldListRawJson, error) {
|
||||||
|
!error ? resolve(fieldListJson, fieldListRawJson) : reject(error);
|
||||||
|
};
|
||||||
|
});
|
||||||
|
try {
|
||||||
|
const fieldListData = this.$refs['preForm'].getFieldWidgets()
|
||||||
|
const fieldListJson = JSON.stringify(fieldListData, null, ' ')
|
||||||
|
const fieldListRawJson = JSON.stringify(fieldListData)
|
||||||
|
callback(fieldListJson, fieldListRawJson)
|
||||||
|
} catch (error) {
|
||||||
|
callback(this.formDataModel, this.i18nt('render.hint.fieldListGenerateFailed'))
|
||||||
|
}
|
||||||
|
|
||||||
|
return promise
|
||||||
|
},
|
||||||
|
|
||||||
|
getFieldList () {
|
||||||
|
// console.log('【getFieldWidgets】',this.$refs['preForm'].getFieldWidgets())
|
||||||
|
// console.log('【getContainerWidgets】',this.$refs['preForm'].getContainerWidgets())
|
||||||
|
this.getFieldListPromiseWrap().then((fieldListJson, fieldListRawJson)=>{
|
||||||
|
this.fieldListJson = fieldListJson
|
||||||
|
this.fieldListRawJson = fieldListRawJson
|
||||||
|
this.showFieldListDataDialogFlag = true
|
||||||
|
}).catch(error => {
|
||||||
|
this.$message.error(error)
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
copyFormDataJson(e) {
|
copyFormDataJson(e) {
|
||||||
copyToClipboard(this.formDataRawJson, e,
|
copyToClipboard(this.formDataRawJson, e,
|
||||||
this.$message,
|
this.$message,
|
||||||
|
@ -586,10 +638,23 @@
|
||||||
)
|
)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
copyFieldListJson(e) {
|
||||||
|
copyToClipboard(this.fieldListRawJson, e,
|
||||||
|
this.$message,
|
||||||
|
this.i18nt('designer.hint.copyJsonSuccess'),
|
||||||
|
this.i18nt('designer.hint.copyJsonFail')
|
||||||
|
)
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
saveFormData() {
|
saveFormData() {
|
||||||
this.saveAsFile(this.htmlCode, `formData${generateId()}.json`)
|
this.saveAsFile(this.htmlCode, `formData${generateId()}.json`)
|
||||||
},
|
},
|
||||||
|
|
||||||
|
savefieldListData() {
|
||||||
|
this.saveAsFile(this.htmlCode, `fieldListData${generateId()}.json`)
|
||||||
|
},
|
||||||
|
|
||||||
resetForm() {
|
resetForm() {
|
||||||
this.$refs['preForm'].resetForm()
|
this.$refs['preForm'].resetForm()
|
||||||
},
|
},
|
||||||
|
|
|
@ -92,10 +92,12 @@ export default {
|
||||||
saveVueCode: '保存Vue文件',
|
saveVueCode: '保存Vue文件',
|
||||||
saveHtmlCode: '保存Html文件',
|
saveHtmlCode: '保存Html文件',
|
||||||
getFormData: '获取数据',
|
getFormData: '获取数据',
|
||||||
|
getFieldListData: '获取字段列表',
|
||||||
resetForm: '重置表单',
|
resetForm: '重置表单',
|
||||||
disableForm: '禁用编辑',
|
disableForm: '禁用编辑',
|
||||||
enableForm: '恢复编辑',
|
enableForm: '恢复编辑',
|
||||||
exportFormData: '表单数据',
|
exportFormData: '表单数据',
|
||||||
|
exportFieldListData: '表单字段列表',
|
||||||
copyFormData: '复制JSON',
|
copyFormData: '复制JSON',
|
||||||
saveFormData: '保存为文件',
|
saveFormData: '保存为文件',
|
||||||
copyVue2SFC: '复制Vue2代码',
|
copyVue2SFC: '复制Vue2代码',
|
||||||
|
|
|
@ -26,6 +26,7 @@ export default {
|
||||||
downloadFile: '下载',
|
downloadFile: '下载',
|
||||||
removeFile: '移除',
|
removeFile: '移除',
|
||||||
validationFailed: '表单数据校验失败',
|
validationFailed: '表单数据校验失败',
|
||||||
|
fieldListGenerateFailed: '表单字段列表生成失败',
|
||||||
|
|
||||||
subFormAction: '操作',
|
subFormAction: '操作',
|
||||||
subFormAddAction: '新增',
|
subFormAddAction: '新增',
|
||||||
|
|
Loading…
Reference in New Issue