mirror of https://github.com/jeecgboot/jeecg-boot
zhangdaihao
6 years ago
2 changed files with 324 additions and 0 deletions
@ -0,0 +1,162 @@ |
|||||||
|
<template> |
||||||
|
<a-drawer |
||||||
|
:title="title" |
||||||
|
:width="800" |
||||||
|
placement="right" |
||||||
|
:closable="false" |
||||||
|
@close="close" |
||||||
|
:visible="visible" |
||||||
|
> |
||||||
|
|
||||||
|
<a-spin :spinning="confirmLoading"> |
||||||
|
<a-form :form="form"> |
||||||
|
|
||||||
|
<#list columns as po><#rt/> |
||||||
|
<#if po.fieldName !='id'><#rt/> |
||||||
|
<a-form-item |
||||||
|
:labelCol="labelCol" |
||||||
|
:wrapperCol="wrapperCol" |
||||||
|
label="${po.filedComment}"> |
||||||
|
<#if po.fieldType =='date'> |
||||||
|
<a-date-picker v-decorator="[ '${po.fieldName}', <#if po.nullable =='N'>validatorRules.${po.fieldName} <#else>{}</#if>]" /> |
||||||
|
<#elseif po.fieldType =='datetime'> |
||||||
|
<a-date-picker showTime format='YYYY-MM-DD HH:mm:ss' v-decorator="[ '${po.fieldName}', <#if po.nullable =='N'>validatorRules.${po.fieldName} <#else>{}</#if>]" /> |
||||||
|
<#elseif "int,decimal,double,"?contains(po.fieldType)> |
||||||
|
<a-input-number v-decorator="[ '${po.fieldName}', <#if po.nullable =='N'>validatorRules.${po.fieldName} <#else>{}</#if>]" /> |
||||||
|
<#else> |
||||||
|
<a-input placeholder="请输入${po.filedComment}" v-decorator="['${po.fieldName}', <#if po.nullable =='N'>validatorRules.${po.fieldName} <#else>{}</#if>]" /> |
||||||
|
</#if> |
||||||
|
</a-form-item> |
||||||
|
</#if> |
||||||
|
</#list> |
||||||
|
|
||||||
|
</a-form> |
||||||
|
</a-spin> |
||||||
|
<a-button type="primary" @click="handleOk">确定</a-button> |
||||||
|
<a-button type="primary" @click="handleCancel">取消</a-button> |
||||||
|
</a-drawer> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { httpAction } from '@/api/manage' |
||||||
|
import pick from 'lodash.pick' |
||||||
|
import moment from "moment" |
||||||
|
|
||||||
|
export default { |
||||||
|
name: "${entityName}Modal", |
||||||
|
data () { |
||||||
|
return { |
||||||
|
title:"操作", |
||||||
|
visible: false, |
||||||
|
model: {}, |
||||||
|
labelCol: { |
||||||
|
xs: { span: 24 }, |
||||||
|
sm: { span: 5 }, |
||||||
|
}, |
||||||
|
wrapperCol: { |
||||||
|
xs: { span: 24 }, |
||||||
|
sm: { span: 16 }, |
||||||
|
}, |
||||||
|
|
||||||
|
confirmLoading: false, |
||||||
|
form: this.$form.createForm(this), |
||||||
|
validatorRules:{ |
||||||
|
<#list columns as po> |
||||||
|
<#if po.fieldName !='id'> |
||||||
|
<#if po.nullable =='N'> |
||||||
|
${po.fieldName}:{rules: [{ required: true, message: '请输入${po.filedComment}!' }]}, |
||||||
|
</#if> |
||||||
|
</#if> |
||||||
|
</#list> |
||||||
|
}, |
||||||
|
url: { |
||||||
|
add: "/${entityPackage}/${entityName?uncap_first}/add", |
||||||
|
edit: "/${entityPackage}/${entityName?uncap_first}/edit", |
||||||
|
}, |
||||||
|
} |
||||||
|
}, |
||||||
|
created () { |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
add () { |
||||||
|
this.edit({}); |
||||||
|
}, |
||||||
|
edit (record) { |
||||||
|
this.form.resetFields(); |
||||||
|
this.model = Object.assign({}, record); |
||||||
|
this.visible = true; |
||||||
|
this.$nextTick(() => { |
||||||
|
this.form.setFieldsValue(pick(this.model<#list columns as po><#if po.fieldName !='id' && po.fieldType?index_of("date")==-1>,'${po.fieldName}'</#if></#list>)) |
||||||
|
//时间格式化 |
||||||
|
<#list columns as po> |
||||||
|
<#if po.fieldName !='id' && po.fieldType?index_of("date")!=-1> |
||||||
|
this.form.setFieldsValue({${po.fieldName}:this.model.${po.fieldName}?moment(this.model.${po.fieldName}):null}) |
||||||
|
</#if> |
||||||
|
</#list> |
||||||
|
}); |
||||||
|
|
||||||
|
}, |
||||||
|
close () { |
||||||
|
this.$emit('close'); |
||||||
|
this.visible = false; |
||||||
|
}, |
||||||
|
handleOk () { |
||||||
|
const that = this; |
||||||
|
// 触发表单验证 |
||||||
|
this.form.validateFields((err, values) => { |
||||||
|
if (!err) { |
||||||
|
that.confirmLoading = true; |
||||||
|
let httpurl = ''; |
||||||
|
let method = ''; |
||||||
|
if(!this.model.id){ |
||||||
|
httpurl+=this.url.add; |
||||||
|
method = 'post'; |
||||||
|
}else{ |
||||||
|
httpurl+=this.url.edit; |
||||||
|
method = 'put'; |
||||||
|
} |
||||||
|
let formData = Object.assign(this.model, values); |
||||||
|
//时间格式化 |
||||||
|
<#list columns as po> |
||||||
|
<#if po.fieldName !='id' && po.fieldType =='date'> |
||||||
|
formData.${po.fieldName} = formData.${po.fieldName}?formData.${po.fieldName}.format():null; |
||||||
|
<#elseif po.fieldName !='id' && po.fieldType =='datetime'> |
||||||
|
formData.${po.fieldName} = formData.${po.fieldName}?formData.${po.fieldName}.format('YYYY-MM-DD HH:mm:ss'):null; |
||||||
|
</#if> |
||||||
|
</#list> |
||||||
|
|
||||||
|
console.log(formData) |
||||||
|
httpAction(httpurl,formData,method).then((res)=>{ |
||||||
|
if(res.success){ |
||||||
|
that.$message.success(res.message); |
||||||
|
that.$emit('ok'); |
||||||
|
}else{ |
||||||
|
that.$message.warning(res.message); |
||||||
|
} |
||||||
|
}).finally(() => { |
||||||
|
that.confirmLoading = false; |
||||||
|
that.close(); |
||||||
|
}) |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
}) |
||||||
|
}, |
||||||
|
handleCancel () { |
||||||
|
this.close() |
||||||
|
}, |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="less" scoped> |
||||||
|
/** Button按钮间距 */ |
||||||
|
.ant-btn { |
||||||
|
margin-left: 30px; |
||||||
|
margin-bottom: 30px; |
||||||
|
float: right; |
||||||
|
} |
||||||
|
</style> |
@ -0,0 +1,162 @@ |
|||||||
|
<template> |
||||||
|
<a-drawer |
||||||
|
:title="title" |
||||||
|
:width="800" |
||||||
|
placement="right" |
||||||
|
:closable="false" |
||||||
|
@close="close" |
||||||
|
:visible="visible" |
||||||
|
> |
||||||
|
|
||||||
|
<a-spin :spinning="confirmLoading"> |
||||||
|
<a-form :form="form"> |
||||||
|
|
||||||
|
<#list columns as po><#rt/> |
||||||
|
<#if po.fieldName !='id'><#rt/> |
||||||
|
<a-form-item |
||||||
|
:labelCol="labelCol" |
||||||
|
:wrapperCol="wrapperCol" |
||||||
|
label="${po.filedComment}"> |
||||||
|
<#if po.fieldType =='date'> |
||||||
|
<a-date-picker v-decorator="[ '${po.fieldName}', <#if po.nullable =='N'>validatorRules.${po.fieldName} <#else>{}</#if>]" /> |
||||||
|
<#elseif po.fieldType =='datetime'> |
||||||
|
<a-date-picker showTime format='YYYY-MM-DD HH:mm:ss' v-decorator="[ '${po.fieldName}', <#if po.nullable =='N'>validatorRules.${po.fieldName} <#else>{}</#if>]" /> |
||||||
|
<#elseif "int,decimal,double,"?contains(po.fieldType)> |
||||||
|
<a-input-number v-decorator="[ '${po.fieldName}', <#if po.nullable =='N'>validatorRules.${po.fieldName} <#else>{}</#if>]" /> |
||||||
|
<#else> |
||||||
|
<a-input placeholder="请输入${po.filedComment}" v-decorator="['${po.fieldName}', <#if po.nullable =='N'>validatorRules.${po.fieldName} <#else>{}</#if>]" /> |
||||||
|
</#if> |
||||||
|
</a-form-item> |
||||||
|
</#if> |
||||||
|
</#list> |
||||||
|
|
||||||
|
</a-form> |
||||||
|
</a-spin> |
||||||
|
<a-button type="primary" @click="handleOk">确定</a-button> |
||||||
|
<a-button type="primary" @click="handleCancel">取消</a-button> |
||||||
|
</a-drawer> |
||||||
|
</template> |
||||||
|
|
||||||
|
<script> |
||||||
|
import { httpAction } from '@/api/manage' |
||||||
|
import pick from 'lodash.pick' |
||||||
|
import moment from "moment" |
||||||
|
|
||||||
|
export default { |
||||||
|
name: "${entityName}Modal", |
||||||
|
data () { |
||||||
|
return { |
||||||
|
title:"操作", |
||||||
|
visible: false, |
||||||
|
model: {}, |
||||||
|
labelCol: { |
||||||
|
xs: { span: 24 }, |
||||||
|
sm: { span: 5 }, |
||||||
|
}, |
||||||
|
wrapperCol: { |
||||||
|
xs: { span: 24 }, |
||||||
|
sm: { span: 16 }, |
||||||
|
}, |
||||||
|
|
||||||
|
confirmLoading: false, |
||||||
|
form: this.$form.createForm(this), |
||||||
|
validatorRules:{ |
||||||
|
<#list columns as po> |
||||||
|
<#if po.fieldName !='id'> |
||||||
|
<#if po.nullable =='N'> |
||||||
|
${po.fieldName}:{rules: [{ required: true, message: '请输入${po.filedComment}!' }]}, |
||||||
|
</#if> |
||||||
|
</#if> |
||||||
|
</#list> |
||||||
|
}, |
||||||
|
url: { |
||||||
|
add: "/${entityPackage}/${entityName?uncap_first}/add", |
||||||
|
edit: "/${entityPackage}/${entityName?uncap_first}/edit", |
||||||
|
}, |
||||||
|
} |
||||||
|
}, |
||||||
|
created () { |
||||||
|
}, |
||||||
|
methods: { |
||||||
|
add () { |
||||||
|
this.edit({}); |
||||||
|
}, |
||||||
|
edit (record) { |
||||||
|
this.form.resetFields(); |
||||||
|
this.model = Object.assign({}, record); |
||||||
|
this.visible = true; |
||||||
|
this.$nextTick(() => { |
||||||
|
this.form.setFieldsValue(pick(this.model<#list columns as po><#if po.fieldName !='id' && po.fieldType?index_of("date")==-1>,'${po.fieldName}'</#if></#list>)) |
||||||
|
//时间格式化 |
||||||
|
<#list columns as po> |
||||||
|
<#if po.fieldName !='id' && po.fieldType?index_of("date")!=-1> |
||||||
|
this.form.setFieldsValue({${po.fieldName}:this.model.${po.fieldName}?moment(this.model.${po.fieldName}):null}) |
||||||
|
</#if> |
||||||
|
</#list> |
||||||
|
}); |
||||||
|
|
||||||
|
}, |
||||||
|
close () { |
||||||
|
this.$emit('close'); |
||||||
|
this.visible = false; |
||||||
|
}, |
||||||
|
handleOk () { |
||||||
|
const that = this; |
||||||
|
// 触发表单验证 |
||||||
|
this.form.validateFields((err, values) => { |
||||||
|
if (!err) { |
||||||
|
that.confirmLoading = true; |
||||||
|
let httpurl = ''; |
||||||
|
let method = ''; |
||||||
|
if(!this.model.id){ |
||||||
|
httpurl+=this.url.add; |
||||||
|
method = 'post'; |
||||||
|
}else{ |
||||||
|
httpurl+=this.url.edit; |
||||||
|
method = 'put'; |
||||||
|
} |
||||||
|
let formData = Object.assign(this.model, values); |
||||||
|
//时间格式化 |
||||||
|
<#list columns as po> |
||||||
|
<#if po.fieldName !='id' && po.fieldType =='date'> |
||||||
|
formData.${po.fieldName} = formData.${po.fieldName}?formData.${po.fieldName}.format():null; |
||||||
|
<#elseif po.fieldName !='id' && po.fieldType =='datetime'> |
||||||
|
formData.${po.fieldName} = formData.${po.fieldName}?formData.${po.fieldName}.format('YYYY-MM-DD HH:mm:ss'):null; |
||||||
|
</#if> |
||||||
|
</#list> |
||||||
|
|
||||||
|
console.log(formData) |
||||||
|
httpAction(httpurl,formData,method).then((res)=>{ |
||||||
|
if(res.success){ |
||||||
|
that.$message.success(res.message); |
||||||
|
that.$emit('ok'); |
||||||
|
}else{ |
||||||
|
that.$message.warning(res.message); |
||||||
|
} |
||||||
|
}).finally(() => { |
||||||
|
that.confirmLoading = false; |
||||||
|
that.close(); |
||||||
|
}) |
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
}) |
||||||
|
}, |
||||||
|
handleCancel () { |
||||||
|
this.close() |
||||||
|
}, |
||||||
|
|
||||||
|
|
||||||
|
} |
||||||
|
} |
||||||
|
</script> |
||||||
|
|
||||||
|
<style lang="less" scoped> |
||||||
|
/** Button按钮间距 */ |
||||||
|
.ant-btn { |
||||||
|
margin-left: 30px; |
||||||
|
margin-bottom: 30px; |
||||||
|
float: right; |
||||||
|
} |
||||||
|
</style> |
Loading…
Reference in new issue