parent
555135f87f
commit
2f271a59f6
@ -0,0 +1,139 @@ |
||||
<template> |
||||
<a-modal |
||||
title="编辑菜单" |
||||
:width="720" |
||||
:visible="visible" |
||||
:confirmLoading="confirmLoading" |
||||
:maskClosable="false" |
||||
@ok="handleSubmit" |
||||
@cancel="handleCancel" |
||||
> |
||||
<a-spin :spinning="confirmLoading"> |
||||
<a-form :form="form"> |
||||
<a-form-item |
||||
label="是否同步分类" |
||||
:labelCol="labelCol" |
||||
:wrapperCol="wrapperCol" |
||||
> |
||||
<a-radio-group |
||||
v-decorator="['is_sync_cate', { initialValue: 1, rules: [{ required: true }] }]" |
||||
> |
||||
<a-radio :value="1">是</a-radio> |
||||
<a-radio :value="0">否</a-radio> |
||||
</a-radio-group> |
||||
</a-form-item> |
||||
<a-form-item |
||||
label="是否数据服务商" |
||||
:labelCol="labelCol" |
||||
:wrapperCol="wrapperCol" |
||||
> |
||||
<a-radio-group |
||||
v-decorator="['is_provider_data', { initialValue: 1, rules: [{ required: true }] }]" |
||||
> |
||||
<a-radio :value="1">是</a-radio> |
||||
<a-radio :value="0">否</a-radio> |
||||
</a-radio-group> |
||||
</a-form-item> |
||||
</a-form> |
||||
</a-spin> |
||||
</a-modal> |
||||
</template> |
||||
|
||||
<script> |
||||
import pick from 'lodash.pick' |
||||
import * as Api from '@/api/store' |
||||
|
||||
export default { |
||||
props: {}, |
||||
data () { |
||||
return { |
||||
// 标签布局属性 |
||||
labelCol: { |
||||
xs: { span: 24 }, |
||||
sm: { span: 7 } |
||||
}, |
||||
// 输入框布局属性 |
||||
wrapperCol: { |
||||
xs: { span: 24 }, |
||||
sm: { span: 13 } |
||||
}, |
||||
// modal(对话框)是否可见 |
||||
visible: false, |
||||
// modal(对话框)确定按钮 loading |
||||
confirmLoading: false, |
||||
// 当前表单 |
||||
form: this.$form.createForm(this), |
||||
// 当前菜单记录 |
||||
record: {}, |
||||
} |
||||
}, |
||||
created () { |
||||
|
||||
}, |
||||
methods: { |
||||
|
||||
/** |
||||
* 显示对话框 |
||||
*/ |
||||
async show (record) { |
||||
// 显示窗口 |
||||
this.visible = true |
||||
// 设置默认值 |
||||
this.record=record |
||||
this.setFieldsValue() |
||||
}, |
||||
|
||||
/** |
||||
* 设置默认值 |
||||
*/ |
||||
setFieldsValue () { |
||||
this.$nextTick(() => { |
||||
this.form.setFieldsValue(pick(this.record, ['is_sync_cate', 'is_provider_data'])) |
||||
}) |
||||
}, |
||||
/** |
||||
* 确认按钮 |
||||
*/ |
||||
handleSubmit () { |
||||
const { form: { validateFields } } = this |
||||
this.confirmLoading = true |
||||
// 表单的验证 |
||||
validateFields((errors, values) => { |
||||
if (!errors) { |
||||
// 提交到后端api |
||||
this.onFormSubmit(values) |
||||
} else { |
||||
this.confirmLoading = false |
||||
} |
||||
}) |
||||
}, |
||||
|
||||
/** |
||||
* 取消按钮 |
||||
*/ |
||||
handleCancel () { |
||||
this.visible = false |
||||
this.form.resetFields() |
||||
}, |
||||
|
||||
/** |
||||
* 提交到后端api |
||||
*/ |
||||
onFormSubmit (values) { |
||||
Api.storeEdit({store_id: this.record['store_id'],form: values }) |
||||
.then((result) => { |
||||
// 显示成功 |
||||
this.$message.success(result.message) |
||||
// 关闭对话框 |
||||
this.handleCancel() |
||||
// 通知父端组件提交完成了 |
||||
this.$emit('handleSubmit', values) |
||||
}) |
||||
.finally((result) => { |
||||
this.confirmLoading = false |
||||
}) |
||||
} |
||||
|
||||
} |
||||
} |
||||
</script> |
Loading…
Reference in new issue