forked from jeecgboot/JeecgBoot
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
b765e45
commit 89f85fb
Showing
2 changed files
with
324 additions
and
0 deletions.
There are no files selected for viewing
162 changes: 162 additions & 0 deletions
162
...e/java/${bussiPackage}/${entityPackage}/vue/modules/${entityName}Modal__Style#Drawer.vuei
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |
162 changes: 162 additions & 0 deletions
162
...2/java/${bussiPackage}/vue/${entityPackage}/modules/${entityName}Modal__Style#Drawer.vuei
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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> |