| | |
| | | :title="paramVOS.title" |
| | | :visible.sync="visible" |
| | | :width="width" |
| | | :style="'height:'+height || 'auto'" |
| | | :fullscreen="paramVOS.content || paramVOS.context" |
| | | :append-to-body="true" |
| | | class="avue-dialog avue-dialog--top" |
| | | :destroy-on-close="true" |
| | | @close="dialogClose"> |
| | | dialog |
| | | <basic-form ref="formRef" v-if="paramVOS.form"></basic-form> |
| | | <ui-view ref="uiViewRef" v-else-if="paramVOS.content || paramVOS.context"></ui-view> |
| | | <div v-if="paramVOS.form" class="avue-dialog__footer"> |
| | | <el-button type="primary" @click="saveHandler">保 存</el-button> |
| | | <el-button @click="escHandler">取 消</el-button> |
| | | <el-button @click="resetValue">重 置</el-button> |
| | | <basic-form ref="formRef" v-if="paramVOS.form"> |
| | | </basic-form> |
| | | <ui-view ref="uiViewRef" v-else-if="paramVOS.content || paramVOS.context" |
| | | :btmType="paramVOS.type" |
| | | :context="paramVOS.context" |
| | | :inDialog="true" |
| | | :key="'AddEditDialog-'+type" |
| | | :sourceData="sourceData" |
| | | :dataStore="dataStore" |
| | | :paramVOS="paramVOS" |
| | | ></ui-view> |
| | | <div slot="footer" class="dialog-footer avue-dialog__footer"> |
| | | <el-button type="primary" plain size="small" @click="saveHandler">保 存</el-button> |
| | | <el-button size="small" @click="dialogClose">取 消</el-button> |
| | | <el-button size="small" @click="resetValue">重 置</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | |
| | | <script> |
| | | import uiView from "@/views/base/UIContentViewerInDialog" |
| | | import {dataForm} from "@/api/base/ui"; |
| | | import {addSave} from "@/api/base/actions" |
| | | |
| | | export default { |
| | | name: "AddEditDialog", |
| | |
| | | }, |
| | | width: { |
| | | type: String, |
| | | default:'70%' |
| | | }, |
| | | height: { |
| | | type: String, |
| | | default:'500px' |
| | | }, |
| | | default:'60%' |
| | | } |
| | | }, |
| | | data(){ |
| | | return { |
| | | type:"add", |
| | | visible:false |
| | | } |
| | | }, |
| | | computed:{ |
| | | title(){ |
| | | return this.paramVOS.title || (this.type=='add'?'添加':'修改') |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | watch: { |
| | | sourceData: { |
| | | handler(val) { |
| | | if (this.paramVOS.form) { |
| | | this.onLoad(); |
| | | } |
| | | }, |
| | | deep: true, |
| | | immediate: true |
| | | }, |
| | | }, |
| | | methods: { |
| | | dialogClose() { |
| | |
| | | } |
| | | }, |
| | | saveHandler() { |
| | | this.dialogClose(); |
| | | }, |
| | | escHandler() { |
| | | this.dialogClose(); |
| | | this.$refs.formRef.validate((valid, done) => { |
| | | if (valid) { |
| | | addSave(this.paramVOS.url,this.paramVOS.method,this.form).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "创建成功!" |
| | | }); |
| | | if(this.saveCallback){ |
| | | this.saveCallback(); |
| | | } |
| | | this.dialogClose(); |
| | | }).error((e) => { |
| | | this.$message.error(e||"创建失败") |
| | | }); |
| | | |
| | | } else { |
| | | |
| | | } |
| | | }); |
| | | }, |
| | | resetValue() { |
| | | this.$refs.formRef.resetValue(); |
| | | this.$refs.formRef.resetFields(); |
| | | } |
| | | } |
| | | } |