| | |
| | | <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.visible = false |
| | | 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 |