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