|
|
@@ -1,96 +1,99 @@
|
|
|
<template>
|
|
|
- <el-dialog
|
|
|
- :visible.sync="dialogVisible"
|
|
|
- :close-on-click-modal="false"
|
|
|
- :close-on-press-escape="false"
|
|
|
- class="data-template-form-renderer-dialog"
|
|
|
- fullscreen
|
|
|
- destroy-on-close
|
|
|
- append-to-body
|
|
|
- @open="loadFormData"
|
|
|
- @close="closeDialog"
|
|
|
- >
|
|
|
- <data-formrender
|
|
|
- ref="formrender"
|
|
|
- :template-key="templateKey"
|
|
|
- :form-key="formKey"
|
|
|
- :print-template-id="printTemplateId"
|
|
|
- :pk-value="pkValue"
|
|
|
- :addDataCont = "addDataCont"
|
|
|
- :dynamicParams = "dynamicParams"
|
|
|
- :toolbars="toolbars"
|
|
|
- :readonly="readonly"
|
|
|
- :default-data="defaultData"
|
|
|
- @close="closeDialog"
|
|
|
- @callback="handleCallback"
|
|
|
- />
|
|
|
- </el-dialog>
|
|
|
+ <el-dialog
|
|
|
+ :visible.sync="dialogVisible"
|
|
|
+ :close-on-click-modal="false"
|
|
|
+ :close-on-press-escape="false"
|
|
|
+ class="data-template-form-renderer-dialog"
|
|
|
+ fullscreen
|
|
|
+ destroy-on-close
|
|
|
+ append-to-body
|
|
|
+ @open="loadFormData"
|
|
|
+ @close="closeDialog"
|
|
|
+ >
|
|
|
+ <data-formrender
|
|
|
+ ref="formrender"
|
|
|
+ :template-key="templateKey"
|
|
|
+ :form-key="formKey"
|
|
|
+ :print-template-id="printTemplateId"
|
|
|
+ :pk-value="pkValue"
|
|
|
+ :add-data-cont="addDataCont"
|
|
|
+ :dynamic-params="dynamicParams"
|
|
|
+ :toolbars="toolbars"
|
|
|
+ :readonly="readonly"
|
|
|
+ :default-data="defaultData"
|
|
|
+ @close="closeDialog"
|
|
|
+ @callback="handleCallback"
|
|
|
+ />
|
|
|
+ </el-dialog>
|
|
|
</template>
|
|
|
<script>
|
|
|
import DataFormrender from './index'
|
|
|
export default {
|
|
|
- components: {
|
|
|
- DataFormrender
|
|
|
- },
|
|
|
- props: {
|
|
|
- visible: {
|
|
|
- type: Boolean,
|
|
|
- default: false
|
|
|
+ components: {
|
|
|
+ DataFormrender
|
|
|
},
|
|
|
- templateKey: { // 模版Key
|
|
|
- type: String
|
|
|
+ props: {
|
|
|
+ visible: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
+ },
|
|
|
+ templateKey: { // 模版Key
|
|
|
+ type: String
|
|
|
+ },
|
|
|
+ dynamicParams: Object,
|
|
|
+ formKey: { // 表单key
|
|
|
+ type: String
|
|
|
+ },
|
|
|
+ addDataCont: { // 表单参数
|
|
|
+ type: Object
|
|
|
+ },
|
|
|
+ printTemplateId: {
|
|
|
+ type: String
|
|
|
+ },
|
|
|
+ pkValue: { // 主键
|
|
|
+ type: [String, Number]
|
|
|
+ },
|
|
|
+ toolbars: { // 工具栏
|
|
|
+ type: Array
|
|
|
+ },
|
|
|
+ readonly: {
|
|
|
+ type: Boolean,
|
|
|
+ default: false
|
|
|
+ },
|
|
|
+ defaultData: { // 默认数据
|
|
|
+ type: Object
|
|
|
+ },
|
|
|
+ previousDataTemplate: {
|
|
|
+ type: Object
|
|
|
+ }
|
|
|
},
|
|
|
- dynamicParams: Object,
|
|
|
- formKey: { // 表单key
|
|
|
- type: String
|
|
|
+ data () {
|
|
|
+ return {
|
|
|
+ dialogVisible: this.visible
|
|
|
+ }
|
|
|
},
|
|
|
- addDataCont: { // 表单参数
|
|
|
- type: Object
|
|
|
+ watch: {
|
|
|
+ visible: {
|
|
|
+ handler: function (val, oldVal) {
|
|
|
+ this.dialogVisible = this.visible
|
|
|
+ },
|
|
|
+ immediate: true
|
|
|
+ }
|
|
|
},
|
|
|
- printTemplateId: {
|
|
|
- type: String
|
|
|
- },
|
|
|
- pkValue: { // 主键
|
|
|
- type: [String, Number]
|
|
|
- },
|
|
|
- toolbars: { // 工具栏
|
|
|
- type: Array
|
|
|
- },
|
|
|
- readonly: {
|
|
|
- type: Boolean,
|
|
|
- default: false
|
|
|
- },
|
|
|
- defaultData: { // 默认数据
|
|
|
- type: Object
|
|
|
- }
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- dialogVisible: this.visible
|
|
|
+ methods: {
|
|
|
+ loadFormData () {
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.formrender.loadFormData()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ handleCallback (data) {
|
|
|
+ this.$emit('callback', data)
|
|
|
+ },
|
|
|
+ // 关闭当前窗口
|
|
|
+ closeDialog () {
|
|
|
+ this.$emit('close', false, this.previousDataTemplate)
|
|
|
+ }
|
|
|
}
|
|
|
- },
|
|
|
- watch: {
|
|
|
- visible: {
|
|
|
- handler: function(val, oldVal) {
|
|
|
- this.dialogVisible = this.visible
|
|
|
- },
|
|
|
- immediate: true
|
|
|
- }
|
|
|
- },
|
|
|
- methods: {
|
|
|
- loadFormData() {
|
|
|
- this.$nextTick(() => {
|
|
|
- this.$refs.formrender.loadFormData()
|
|
|
- })
|
|
|
- },
|
|
|
- handleCallback(data) {
|
|
|
- this.$emit('callback', data)
|
|
|
- },
|
|
|
- // 关闭当前窗口
|
|
|
- closeDialog() {
|
|
|
- this.$emit('close', false)
|
|
|
- }
|
|
|
- }
|
|
|
}
|
|
|
</script>
|
|
|
<style lang="scss">
|