|  |  |  | 
|---|
|  |  |  | <script> | 
|---|
|  |  |  | import { memberSync } from '@/api/business/member' | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 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 | 
|---|