| | |
| | | <template> |
| | | <el-dialog v-dialogDrag |
| | | :title="paramVOS.title" |
| | | :title="title" |
| | | :visible.sync="visible" |
| | | :width="width" |
| | | :fullscreen="paramVOS.content || paramVOS.context" |
| | | :fullscreen="fullscreen" |
| | | :append-to-body="true" |
| | | class="avue-dialog avue-dialog--top" |
| | | top="0" |
| | | class="avue-dialog" |
| | | :destroy-on-close="true" |
| | | @close="dialogClose"> |
| | | <basic-form ref="formRef" v-if="paramVOS.form" |
| | | :key="'dialog-'+paramVOS.form" |
| | | :span="span" |
| | | :formItems="formItems" |
| | | :formData="form"> |
| | | </basic-form> |
| | | <ui-view ref="uiViewRef" v-else-if="paramVOS.content || paramVOS.context" |
| | | <ui-view ref="uiViewRef" v-else-if="paramVOS.context" |
| | | :key="'AddEditDialog-'+type" |
| | | :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"> |
| | | <div 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> |
| | | <el-button size="small" @click="resetValue" v-if="paramVOS.form">重 置</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | </template> |
| | |
| | | paramVOS: { |
| | | type: Object, |
| | | default: {} |
| | | }, |
| | | width: { |
| | | type: String, |
| | | default:'60%' |
| | | } |
| | | }, |
| | | data(){ |
| | |
| | | computed:{ |
| | | title(){ |
| | | return this.paramVOS.title || (this.type=='add'?'添加':'修改') |
| | | }, |
| | | width(){ |
| | | return this.paramVOS.width || "60%" |
| | | }, |
| | | height(){ |
| | | return this.paramVOS.height || "500px" |
| | | }, |
| | | fullscreen(){ |
| | | if(this.paramVOS.width || this.paramVOS.height){ |
| | | return false; |
| | | }else if(this.paramVOS.form){ |
| | | return false; |
| | | } |
| | | return false; |
| | | } |
| | | }, |
| | | created() { |
| | |
| | | } |
| | | }, |
| | | saveHandler() { |
| | | this.$refs.formRef.validate((valid, done) => { |
| | | if (valid) { |
| | | if(this.type=="add"){ |
| | | addSave(this.form,this.paramVOS.url,this.paramVOS.method).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "保存成功!" |
| | | }); |
| | | if(this.saveCallback){ |
| | | this.saveCallback(); |
| | | } |
| | | this.dialogClose(); |
| | | }).error((e) => { |
| | | this.$message.error(e||"保存失败") |
| | | }); |
| | | }else{ |
| | | editSave(this.form,this.paramVOS.url,this.paramVOS.method).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "修改成功!" |
| | | }); |
| | | if(this.saveCallback){ |
| | | this.saveCallback(); |
| | | } |
| | | this.dialogClose(); |
| | | }).error((e) => { |
| | | this.$message.error(e||"修改失败") |
| | | }); |
| | | } |
| | | } else { |
| | | if(this.paramVOS.form){ |
| | | this.$refs.formRef.validate((valid, done) => { |
| | | if (valid) { |
| | | this.saveValue(this.form) |
| | | } else { |
| | | |
| | | } |
| | | }); |
| | | }else{ |
| | | //this.$refs.uiViewRef. |
| | | if(this.saveCallback){ |
| | | this.saveCallback({}); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | }, |
| | | saveValue(savedata){ |
| | | if(this.type=="add"){ |
| | | addSave(savedata,this.paramVOS.url,this.paramVOS.method).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "保存成功!" |
| | | }); |
| | | if(this.saveCallback){ |
| | | this.saveCallback(savedata); |
| | | } |
| | | this.dialogClose(); |
| | | }).error((e) => { |
| | | this.$message.error(e||"保存失败") |
| | | }); |
| | | }else{ |
| | | editSave(savedata,this.paramVOS.url,this.paramVOS.method).then(() => { |
| | | this.$message({ |
| | | type: "success", |
| | | message: "修改成功!" |
| | | }); |
| | | if(this.saveCallback){ |
| | | this.saveCallback(savedata); |
| | | } |
| | | this.dialogClose(); |
| | | }).error((e) => { |
| | | this.$message.error(e||"修改失败") |
| | | }); |
| | | } |
| | | }, |
| | | resetValue() { |
| | | this.$refs.formRef.resetFields(); |
| | | if (this.paramVOS.form) { |
| | | this.$refs.formRef.resetFields(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .avue-dialog__footer{ |
| | | margin-bottom: 20px; |
| | | } |
| | | |
| | | </style> |