|  |  | 
 |  |  | <script> | 
 |  |  | export default { | 
 |  |  |   name: 'BaseOpera', | 
 |  |  |   data () { | 
 |  |  |     return { | 
 |  |  |       title: '', | 
 |  |  | 
 |  |  |       } | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   // watch: { | 
 |  |  |   //   visible() { | 
 |  |  |   //     console.log(this.visible); | 
 |  |  |   //   } | 
 |  |  |   // }, | 
 |  |  |   watch: { | 
 |  |  |     $route (to, from) { | 
 |  |  |       this.close() | 
 |  |  |     } | 
 |  |  |   }, | 
 |  |  |   methods: { | 
 |  |  |     // 配置 | 
 |  |  |     /** | 
 |  |  |      * 配置 | 
 |  |  |      * | 
 |  |  |      * @param extParams 配置参数 | 
 |  |  |      */ | 
 |  |  |     config (extParams = {}) { | 
 |  |  |       if (extParams == null) { | 
 |  |  |         throw new Error('Parameter can not be null of method \'config\' .') | 
 |  |  | 
 |  |  |       if (extParams.api == null) { | 
 |  |  |         throw new Error('Missing config option \'api\'.') | 
 |  |  |       } | 
 |  |  |       if(extParams.api.indexOf('@/',0) === 0){ | 
 |  |  |         this.api = require(extParams.api) | 
 |  |  |       }else { | 
 |  |  |         this.api = require('@/api' + extParams.api) | 
 |  |  |       } | 
 |  |  |       this.api = require('@/api' + extParams.api) | 
 |  |  |       extParams['field.id'] && (this.configData['field.id'] = extParams['field.id']) | 
 |  |  |     }, | 
 |  |  |     /** | 
 |  |  |      * 打开窗口 | 
 |  |  |      * @title 窗口标题 | 
 |  |  |      * @target 编辑的对象 | 
 |  |  |      * | 
 |  |  |      * @param title 窗口标题 | 
 |  |  |      * @param target 行对象(仅编辑需该参数) | 
 |  |  |      */ | 
 |  |  |     open (title, target) { | 
 |  |  |       this.title = title | 
 |  |  | 
 |  |  |         } | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     close () { | 
 |  |  |       this.visible = false | 
 |  |  |     }, | 
 |  |  |     // 确认新建/修改 | 
 |  |  |     /** | 
 |  |  |      * 确认(点击确认按钮后触发) | 
 |  |  |      */ | 
 |  |  |     confirm () { | 
 |  |  |       if (this.form.id == null || this.form.id === '') { | 
 |  |  |       if (this.form[this.configData['field.id']] == null || this.form[this.configData['field.id']] === '') { | 
 |  |  |         this.__confirmCreate() | 
 |  |  |         return | 
 |  |  |       } | 
 |  |  |       this.__confirmEdit() | 
 |  |  |     }, | 
 |  |  |     // 确认新建 | 
 |  |  |     /** | 
 |  |  |      * 确认新建 | 
 |  |  |      * | 
 |  |  |      * @private | 
 |  |  |      */ | 
 |  |  |     __confirmCreate () { | 
 |  |  |       this.$refs.form.validate((valid) => { | 
 |  |  |         // debugger | 
 |  |  |         if (!valid) { | 
 |  |  |           return | 
 |  |  |         } | 
 |  |  |         // console.log(this.form); | 
 |  |  |         // debugger | 
 |  |  |         // 调用新建接口 | 
 |  |  |         this.isWorking = true | 
 |  |  |         var that = this | 
 |  |  |         this.api.create(this.form) | 
 |  |  |           .then(() => { | 
 |  |  |             this.visible = false | 
 |  |  |             this.$tip.apiSuccess('新建成功') | 
 |  |  |             this.$emit('success') | 
 |  |  |             // that.$tip.apiSuccess('新建成功') | 
 |  |  |             that.$dialog.actionConfirmButton('是否停留该页面继续新建数据?', '新建成功','继续添加','关闭返回') | 
 |  |  |               .then(() => { | 
 |  |  |                 that.$refs.form.resetFields() | 
 |  |  |                 that.form[this.configData['field.id']] = null | 
 |  |  |                 that.$emit('success') | 
 |  |  |               }) | 
 |  |  |               .catch(() => { | 
 |  |  |                 that.visible = false | 
 |  |  |                 that.$emit('success') | 
 |  |  |               }) | 
 |  |  |           }) | 
 |  |  |           .catch(e => { | 
 |  |  |             // this.$tip.apiFailed(e) | 
 |  |  |             this.$tip.apiFailed(e) | 
 |  |  |           }) | 
 |  |  |           .finally(() => { | 
 |  |  |             this.isWorking = false | 
 |  |  |           }) | 
 |  |  |       }) | 
 |  |  |     }, | 
 |  |  |     // 确认修改 | 
 |  |  |     /** | 
 |  |  |      * 确认修改 | 
 |  |  |      * | 
 |  |  |      * @private | 
 |  |  |      */ | 
 |  |  |     __confirmEdit () { | 
 |  |  |       this.$refs.form.validate((valid) => { | 
 |  |  |         if (!valid) { | 
 |  |  |           return | 
 |  |  |         } | 
 |  |  |         // 调用新建接口 | 
 |  |  |         // 调用更新接口 | 
 |  |  |         this.isWorking = true | 
 |  |  |         this.api.updateById(this.form) | 
 |  |  |           .then(() => { | 
 |  |  | 
 |  |  |             this.$emit('success') | 
 |  |  |           }) | 
 |  |  |           .catch(e => { | 
 |  |  |             // this.$tip.apiFailed(e) | 
 |  |  |             this.$tip.apiFailed(e) | 
 |  |  |           }) | 
 |  |  |           .finally(() => { | 
 |  |  |             this.isWorking = false |