fix bug 修改生成的模板不符合ESLint的问题

This commit is contained in:
zhaoxiao
2023-03-15 14:35:12 +08:00
parent 1054dee742
commit 6570916f48
11 changed files with 594 additions and 611 deletions
@@ -110,24 +110,24 @@
<#assign superQuery_dictText="${po.dictText}"> <#assign superQuery_dictText="${po.dictText}">
</#if> </#if>
<#if po.classType=="popup"> <#if po.classType=="popup">
<#return "{type:'${po.classType}',value:'${po.fieldName}',text:'${po.filedComment}', popup:{code:'${po.dictTable}',field:'${po.dictField?split(',')[0]}',orgFields:'${po.dictField?split(',')[0]}',destFields:'${po.dictText?split(',')[0]}'}}"> <#return "{ type: '${po.classType}', value: '${po.fieldName}', text: '${po.filedComment}', popup: {code: '${po.dictTable}', field: '${po.dictField?split(',')[0]}', orgFields: '${po.dictField?split(',')[0]}', destFields: '${po.dictText?split(',')[0]}'} }">
<#elseif po.classType=="sel_user" || po.classType=="sel_depart" || po.classType=="datetime" || po.classType=="date" || po.classType=="pca" || po.classType=="switch"> <#elseif po.classType=="sel_user" || po.classType=="sel_depart" || po.classType=="datetime" || po.classType=="date" || po.classType=="pca" || po.classType=="switch">
<#return "{type:'${po.classType}',value:'${po.fieldName}',text:'${po.filedComment}'}"> <#return "{ type: '${po.classType}', value: '${po.fieldName}', text: '${po.filedComment}' }">
<#else> <#else>
<#if po.classType=="sel_search" || po.classType=="list_multi"> <#if po.classType=="sel_search" || po.classType=="list_multi">
<#return "{type:'${po.classType}',value:'${po.fieldName}',text:'${po.filedComment}',dictTable:'${superQuery_dictTable}', dictText:'${superQuery_dictText}', dictCode:'${po.dictField}'}"> <#return "{ type: '${po.classType}', value: '${po.fieldName}', text: '${po.filedComment}', dictTable: '${superQuery_dictTable}', dictText: '${superQuery_dictText}', dictCode: '${po.dictField}' }">
<#elseif po.dictTable?? && po.dictTable!="" && po.classType!="sel_tree" && po.classType!="cat_tree" && po.classType!="link_down"> <#elseif po.dictTable?? && po.dictTable!="" && po.classType!="sel_tree" && po.classType!="cat_tree" && po.classType!="link_down">
<#return "{type:'${po.fieldDbType}',value:'${po.fieldName}',text:'${po.filedComment}',dictCode:'${po.dictTable},${po.dictText},${po.dictField}'}"> <#return "{ type: '${po.fieldDbType}', value: '${po.fieldName}', text: '${po.filedComment}', dictCode: '${po.dictTable}, ${po.dictText}, ${po.dictField}' }">
<#elseif po.dictField?? && po.classType!="sel_tree" && po.classType!="cat_tree" && po.classType!="link_down"> <#elseif po.dictField?? && po.classType!="sel_tree" && po.classType!="cat_tree" && po.classType!="link_down">
<#return "{type:'${po.fieldDbType}',value:'${po.fieldName}',text:'${po.filedComment}',dictCode:'${po.dictField}'}"> <#return "{ type: '${po.fieldDbType}', value: '${po.fieldName}', text: '${po.filedComment}', dictCode: '${po.dictField}' }">
<#elseif po.fieldDbType=="Text"> <#elseif po.fieldDbType=="Text">
<#return "{type:'string',value:'${po.fieldName}',text:'${po.filedComment}'}"> <#return "{ type: 'string', value: '${po.fieldName}', text: '${po.filedComment}' }">
<#elseif po.fieldDbType=="Blob"> <#elseif po.fieldDbType=="Blob">
<#return "{type:'byte',value:'${po.fieldName}',text:'${po.filedComment}'}"> <#return "{ type: 'byte', value: '${po.fieldName}', text: '${po.filedComment}' }">
<#elseif po.fieldDbType=="BigDecimal" || po.fieldDbType=="double"> <#elseif po.fieldDbType=="BigDecimal" || po.fieldDbType=="double">
<#return "{type:'number',value:'${po.fieldName}',text:'${po.filedComment}'}"> <#return "{ type: 'number', value: '${po.fieldName}', text: '${po.filedComment}' }">
<#else> <#else>
<#return "{type:'${po.fieldDbType}',value:'${po.fieldName}',text:'${po.filedComment}'}"> <#return "{ type: '${po.fieldDbType}', value: '${po.fieldName}', text: '${po.filedComment}' }">
</#if> </#if>
</#if> </#if>
</#function> </#function>
@@ -50,7 +50,7 @@
{ pattern: '${fieldValidType}', message: '不符合校验规则!'}, { pattern: '${fieldValidType}', message: '不符合校验规则!'},
<#-- 无校验 --> <#-- 无校验 -->
<#else> <#else>
<#t> <#t>
</#if> </#if>
], ],
</#if> </#if>
@@ -1,5 +1,5 @@
validatorRules: { validatorRules: {
<#list columns as po> <#list columns as po>
<#include "core.ftl"> <#include "core.ftl">
</#list> </#list>
}, },
@@ -215,125 +215,125 @@
<script> <script>
import '@/assets/less/TableExpand.less' import '@/assets/less/TableExpand.less'
import { mixinDevice } from '@/utils/mixin' import { mixinDevice } from '@/utils/mixin'
import { JeroListMixin } from '@/mixins/JeroListMixin' import { JeroListMixin } from '@/mixins/JeroListMixin'
import ${entityName}Modal from './modules/${entityName}Modal' import ${entityName}Modal from './modules/${entityName}Modal'
<#if bpm_flag> <#if bpm_flag>
import { postAction } from '@/api/manage' import { postAction } from '@/api/manage'
</#if> </#if>
<#if list_need_category> <#if list_need_category>
import { loadCategoryData } from '@/api/api' import { loadCategoryData } from '@/api/api'
</#if> </#if>
<#if list_need_dict> <#if list_need_dict>
import {filterMultiDictText} from '@/components/dict/JDictSelectUtil' import {filterMultiDictText} from '@/components/dict/JDictSelectUtil'
</#if> </#if>
<#if list_need_pca> <#if list_need_pca>
import Area from '@/components/_util/Area' import Area from '@/components/_util/Area'
</#if> </#if>
export default { export default {
name: '${entityName}List', name: '${entityName}List',
mixins:[JeroListMixin, mixinDevice], mixins: [JeroListMixin, mixinDevice],
components: { components: {
${entityName}Modal ${entityName}Modal
}, },
data () { data () {
return { return {
description: '${tableVo.ftlDescription}管理页面', description: '${tableVo.ftlDescription}管理页面',
// 表头 // 表头
columns: [ columns: [
{ {
title: '#', title: '#',
dataIndex: '', dataIndex: '',
key:'rowIndex', key: 'rowIndex',
width:60, width: 60,
align:"center", align: 'center',
customRender:function (t,r,index) { customRender: function (t, r, index) {
return parseInt(index)+1; return parseInt(index) + 1
}
},
<#assign showColNum=0>
<#list columns as po>
<#if po.isShowList =='Y' && po.fieldName !='id'>
<#assign showColNum=showColNum+1>
{
title:'${po.filedComment}',
align:"center",
<#if po.sort=='Y'>
sorter: true,
</#if>
<#if po.classType=='date'>
dataIndex: '${po.fieldName}',
customRender:function (text) {
return !text?"":(text.length>10?text.substr(0,10):text)
}
<#elseif po.fieldDbType=='Blob'>
dataIndex: '${po.fieldName}String'
<#elseif po.classType=='umeditor'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'htmlSlot'}
<#elseif po.classType=='pca'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'pcaSlot'}
<#elseif po.classType=='file'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'fileSlot'}
<#elseif po.classType=='image'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'imgSlot'}
<#elseif po.classType=='switch'>
dataIndex: '${po.fieldName}',
customRender: (text) => (text ? filterMultiDictText(this.dictOptions['${po.fieldName}'], text) : ''),
<#elseif po.classType == 'sel_tree' || po.classType=='list' || po.classType=='list_multi' || po.classType=='sel_search' || po.classType=='radio' || po.classType=='checkbox' || po.classType=='sel_depart' || po.classType=='sel_user'>
dataIndex: '${po.fieldName}_dictText'
<#elseif po.classType=='cat_tree'>
<#if list_need_category>
dataIndex: '${po.fieldName}',
customRender: (text) => (text ? filterMultiDictText(this.dictOptions['${po.fieldName}'], text) : '')
<#else>
dataIndex: '${po.fieldName}',
customRender: (text, record) => (text ? record['${po.dictText}'] : '')
</#if>
<#else>
dataIndex: '${po.fieldName}'
</#if>
},
</#if>
</#list>
{
title: '操作',
dataIndex: 'action',
align:"center",
<#if tableVo.extendParams.scroll=='1'>
fixed:"right",
width:147,
</#if>
scopedSlots: { customRender: 'action' }
} }
],
url: {
list: "/${entityPackage}/${entityName?uncap_first}/page",
delete: "/${entityPackage}/${entityName?uncap_first}/delete",
deleteBatch: "/${entityPackage}/${entityName?uncap_first}/deleteBatch",
exportXlsUrl: "/${entityPackage}/${entityName?uncap_first}/exportXls",
importExcelUrl: "${entityPackage}/${entityName?uncap_first}/importExcel",
<#if bpm_flag>startProcess: '/act/process/extActProcess/startMutilProcess'</#if>
}, },
<#if bpm_flag> <#assign showColNum=0>
//代码生成后需手动设置流程编码 <#list columns as po>
flowCode: 'dev_${tableName}_001', <#if po.isShowList =='Y' && po.fieldName !='id'>
<#assign showColNum=showColNum+1>
{
title: '${po.filedComment}',
align: 'center',
<#if po.sort=='Y'>
sorter: true,
</#if>
<#if po.classType=='date'>
dataIndex: '${po.fieldName}',
customRender: function (text) {
return !text ? '' : (text.length > 10 ? text.substr(0, 10) : text)
}
<#elseif po.fieldDbType=='Blob'>
dataIndex: '${po.fieldName}String'
<#elseif po.classType=='umeditor'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'htmlSlot'}
<#elseif po.classType=='pca'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'pcaSlot'}
<#elseif po.classType=='file'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'fileSlot'}
<#elseif po.classType=='image'>
dataIndex: '${po.fieldName}',
scopedSlots: {customRender: 'imgSlot'}
<#elseif po.classType=='switch'>
dataIndex: '${po.fieldName}',
customRender: (text) => (text ? filterMultiDictText(this.dictOptions['${po.fieldName}'], text) : ''),
<#elseif po.classType == 'sel_tree' || po.classType=='list' || po.classType=='list_multi' || po.classType=='sel_search' || po.classType=='radio' || po.classType=='checkbox' || po.classType=='sel_depart' || po.classType=='sel_user'>
dataIndex: '${po.fieldName}_dictText'
<#elseif po.classType=='cat_tree'>
<#if list_need_category>
dataIndex: '${po.fieldName}',
customRender: (text) => (text ? filterMultiDictText(this.dictOptions['${po.fieldName}'], text) : '')
<#else>
dataIndex: '${po.fieldName}',
customRender: (text, record) => (text ? record['${po.dictText}'] : '')
</#if>
<#else>
dataIndex: '${po.fieldName}'
</#if>
},
</#if> </#if>
dictOptions:{}, </#list>
<#if list_need_pca> {
pcaData:'', title: '操作',
</#if> dataIndex: 'action',
superFieldList:[], align: 'center',
} <#if tableVo.extendParams.scroll=='1'>
}, fixed: 'right',
created() { width: 147,
</#if>
scopedSlots: { customRender: 'action' }
}
],
url: {
list: '/${entityPackage}/${entityName?uncap_first}/page',
delete: '/${entityPackage}/${entityName?uncap_first}/delete',
deleteBatch: '/${entityPackage}/${entityName?uncap_first}/deleteBatch',
exportXlsUrl: '/${entityPackage}/${entityName?uncap_first}/exportXls',
importExcelUrl: '${entityPackage}/${entityName?uncap_first}/importExcel'<#if bpm_flag>,
startProcess: '/act/process/extActProcess/startMutilProcess'</#if>
},
<#if bpm_flag>
//代码生成后需手动设置流程编码
flowCode: 'dev_${tableName}_001',
</#if>
dictOptions: {},
<#if list_need_pca>
pcaData: '',
</#if>
superFieldList: []
}
},
created () {
<#if list_need_pca> <#if list_need_pca>
this.pcaData = new Area() this.pcaData = new Area()
</#if> </#if>
<#if list_need_switch> <#if list_need_switch>
<#list columns as po> <#list columns as po>
@@ -349,74 +349,74 @@
<#assign switch_extend_arr2=a> <#assign switch_extend_arr2=a>
</#if> </#if>
</#list> </#list>
this.$set(this.dictOptions, '${po.fieldName}', [{text:'是',value:'${switch_extend_arr1}'},{text:'否',value:'${switch_extend_arr2}'}]) this.$set(this.dictOptions, '${po.fieldName}', [{ text: '是', value: '${switch_extend_arr1}' }, { text: '否', value: '${switch_extend_arr2}' }])
</#if> </#if>
</#list> </#list>
</#if> </#if>
this.getSuperFieldList(); this.getSuperFieldList()
}, },
computed: { computed: {
importExcelUrl: function(){ importExcelUrl: function () {
<#noparse>return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;</#noparse> <#noparse>return `${window._CONFIG.domianURL}/${this.url.importExcelUrl}`</#noparse>
}, }
}, },
methods: { methods: {
<#if list_need_pca> <#if list_need_pca>
getPcaText(code){ getPcaText (code) {
return this.pcaData.getText(code); return this.pcaData.getText(code)
}, },
</#if> </#if>
<#if bpm_flag> <#if bpm_flag>
startProcess(record){ startProcess (record) {
this.$confirm({ this.$confirm({
title:'提示', title:'提示',
content:'确认提交流程吗?', content:'确认提交流程吗?',
onOk:()=>{ onOk: () => {
let params = { let params = {
flowCode: this.flowCode, flowCode: this.flowCode,
id: record.id, id: record.id,
formUrl: '${entityPackage}/modules/${entityName}Form', formUrl: '${entityPackage}/modules/${entityName}Form',
formUrlMobile: '' formUrlMobile: ''
}
postAction(this.url.startProcess, params).then(res=>{
if(res.success){
this.$message.success(res.message);
this.loadData();
this.onClearSelected();
}else{
this.$message.warning(res.message);
}
}).catch((e)=>{
this.$message.warning('不识别的请求!');
})
} }
}) postAction(this.url.startProcess, params).then(res=>{
}, if (res.success) {
this.$message.success(res.message)
this.loadData()
this.onClearSelected()
} else {
this.$message.warning(res.message)
}
}).catch((e)=>{
this.$message.warning('不识别的请求!')
})
}
})
},
</#if> </#if>
initDictConfig(){ initDictConfig () {
<#list columns as po> <#list columns as po>
<#if (po.isQuery=='Y' || po.isShowList=='Y') && po.classType!='popup'> <#if (po.isQuery=='Y' || po.isShowList=='Y') && po.classType!='popup'>
<#if po.classType=='cat_tree' && list_need_category==true> <#if po.classType=='cat_tree' && list_need_category==true>
loadCategoryData({code:'${po.dictField?default("")}'}).then((res) => { loadCategoryData({ code: '${po.dictField?default("")}' }).then((res) => {
if (res.success) { if (res.success) {
this.$set(this.dictOptions, '${po.fieldName}', res.result) this.$set(this.dictOptions, '${po.fieldName}', res.result)
} }
}) })
</#if> </#if>
</#if> </#if>
</#list> </#list>
}, },
getSuperFieldList(){ getSuperFieldList () {
<#include "/common/utils.ftl"> <#include "/common/utils.ftl">
let fieldList=[]; const fieldList = []
<#list columns as po> <#list columns as po>
fieldList.push(${superQueryFieldList(po)}) fieldList.push(${superQueryFieldList(po)})
</#list> </#list>
this.superFieldList = fieldList this.superFieldList = fieldList
}
} }
} }
}
</script> </script>
<style scoped> <style scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
</style> </style>
@@ -119,148 +119,134 @@
<script> <script>
import { httpAction, getAction } from '@/api/manage' import { postAction <#if bpm_flag>, getAction </#if>} from '@/api/manage'
import { validateDuplicateValue } from '@/utils/util'
export default { export default {
name: '${entityName}Form', name: '${entityName}Form',
components: { components: {},
props: {
<#if bpm_flag>
// 流程表单data
formData: {
type: Object,
default: ()=>{},
required: false
}, },
props: { // 表单模式:true流程表单 false普通表单
<#if bpm_flag> formBpm: {
//流程表单data type: Boolean,
formData: { default: false,
type: Object, required: false
default: ()=>{}, },
required: false </#if>
// 表单禁用
disabled: {
type: Boolean,
default: false,
required: false
}
},
data () {
return {
model: {<#include "/common/init/initValue.ftl">},
labelCol: {
xs: { span: 24 },
sm: { span: 5 }
}, },
//表单模式:true流程表单 false普通表单 wrapperCol: {
formBpm: { xs: { span: 24 },
type: Boolean, sm: { span: 16 }
default: false,
required: false
}, },
</#if> confirmLoading: false,
//表单禁用 <#include "/common/validatorRulesTemplate/main.ftl">
disabled: { url: {
type: Boolean, add: '/${entityPackage}/${entityName?uncap_first}/add',
default: false, edit: '/${entityPackage}/${entityName?uncap_first}/edit',
required: false queryById: '/${entityPackage}/${entityName?uncap_first}/queryById'
} }
}, }
data () { },
return { computed: {
model:{ formDisabled () {
<#include "/common/init/initValue.ftl"> <#if bpm_flag>
}, if (this.formBpm === true) {
labelCol: { if (this.formData.disabled === false) {
xs: { span: 24 }, return false
sm: { span: 5 },
},
wrapperCol: {
xs: { span: 24 },
sm: { span: 16 },
},
confirmLoading: false,
<#include "/common/validatorRulesTemplate/main.ftl">
url: {
add: "/${entityPackage}/${entityName?uncap_first}/add",
edit: "/${entityPackage}/${entityName?uncap_first}/edit",
queryById: "/${entityPackage}/${entityName?uncap_first}/queryById"
} }
return true
} }
}, </#if>
computed: { return this.disabled
formDisabled(){ }<#if bpm_flag>,
<#if bpm_flag> showFlowSubmitButton () {
if(this.formBpm===true){ if (this.formBpm === true) {
if(this.formData.disabled===false){ if (this.formData.disabled === false) {
return false
}
return true return true
} }
</#if>
return this.disabled
},
<#if bpm_flag>
showFlowSubmitButton(){
if(this.formBpm===true){
if(this.formData.disabled===false){
return true
}
}
return false
} }
</#if> return false
}</#if>
},
created () {
// 备份model原始值
this.modelDefault = JSON.parse(JSON.stringify(this.model))
<#if bpm_flag>
// 如果是流程中表单,则需要加载流程表单data
this.showFlowData()
</#if>
},
methods: {
add () {
this.edit(this.modelDefault)
}, },
created () { edit (record) {
//备份model原始值 this.model = Object.assign({}, record)
this.modelDefault = JSON.parse(JSON.stringify(this.model)); this.visible = true
<#if bpm_flag>
//如果是流程中表单,则需要加载流程表单data
this.showFlowData();
</#if>
}, },
methods: { <#if bpm_flag>
add () { //渲染流程表单数据
this.edit(this.modelDefault); showFlowData () {
}, if (this.formBpm === true) {
edit (record) { let params = {id:this.formData.dataId}
this.model = Object.assign({}, record); getAction(this.url.queryById,params).then((res) => {
this.visible = true; if(res.success){
}, this.edit(res.result)
<#if bpm_flag>
//渲染流程表单数据
showFlowData(){
if(this.formBpm === true){
let params = {id:this.formData.dataId};
getAction(this.url.queryById,params).then((res)=>{
if(res.success){
this.edit (res.result);
}
});
}
},
</#if>
submitForm () {
const that = this;
// 触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if(!this.model.id){
httpurl+=this.url.add;
method = 'post';
}else{
httpurl+=this.url.edit;
method = 'put';
}
httpAction(httpurl,this.model,method).then((res)=>{
if(res.success){
that.$message.success(res.message);
that.$emit('ok');
}else{
that.$message.warning(res.message);
}
}).finally(() => {
that.confirmLoading = false;
})
} }
}) })
},
<#if form_popup>
popupCallback(value,row){
this.model = Object.assign(this.model, row);
},
</#if>
<#if form_cat_tree>
handleCategoryChange(value,backObj){
this.model = Object.assign(this.model, backObj);
} }
</#if> },
} </#if>
submitForm () {
const that = this
// 触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true
let httpurl
if (!this.model.id) {
httpurl = this.url.add
} else {
httpurl = this.url.edit
}
postAction(httpurl, this.model).then((res) => {
if (res.success) {
that.$message.success(res.message)
that.$emit('ok')
} else {
that.$message.warning(res.message)
}
}).finally(() => {
that.confirmLoading = false
})
}
})
}<#if form_popup>,
popupCallback (value,row) {
this.model = Object.assign(this.model, row)
}</#if><#if form_cat_tree>,
handleCategoryChange (value, backObj) {
this.model = Object.assign(this.model, backObj)
}</#if>
} }
}
</script> </script>
@@ -23,48 +23,48 @@
</template> </template>
<script> <script>
import ${entityName}Form from './${entityName}Form'
import ${entityName}Form from './${entityName}Form' export default {
export default { name: '${entityName}Modal',
name: '${entityName}Modal', components: {
components: { ${entityName}Form
${entityName}Form },
data () {
return {
title: '',
width: ${modal_width},
visible: false,
disableSubmit: false
}
},
methods: {
add () {
this.visible = true
this.$nextTick(() => {
this.$refs.realForm.add()
})
}, },
data () { edit (record) {
return { this.visible = true
title:'', this.$nextTick(() => {
width:${modal_width}, this.$refs.realForm.edit(record)
visible: false, })
disableSubmit: false
}
}, },
methods: { close () {
add () { this.$emit('close')
this.visible=true this.visible = false
this.$nextTick(()=>{ },
this.$refs.realForm.add(); handleOk () {
}) this.$refs.realForm.submitForm()
}, },
edit (record) { submitCallback () {
this.visible=true this.$emit('ok')
this.$nextTick(()=>{ this.visible = false
this.$refs.realForm.edit(record); },
}) handleCancel () {
}, this.close()
close () {
this.$emit('close');
this.visible = false;
},
handleOk () {
this.$refs.realForm.submitForm();
},
submitCallback(){
this.$emit('ok');
this.visible = false;
},
handleCancel () {
this.close()
}
} }
} }
</script> }
</script>
@@ -26,68 +26,68 @@
<script> <script>
import ${entityName}Form from './${entityName}Form' import ${entityName}Form from './${entityName}Form'
export default { export default {
name: '${entityName}Modal', name: '${entityName}Modal',
components: { components: {
${entityName}Form ${entityName}Form
},
data () {
return {
title: '操作',
width: ${modal_width},
visible: false,
disableSubmit: false
}
},
methods: {
add () {
this.visible = true
this.$nextTick(() => {
this.$refs.realForm.add()
})
}, },
data () { edit (record) {
return { this.visible = true
title:"操作", this.$nextTick(() => {
width:${modal_width}, this.$refs.realForm.edit(record)
visible: false, })
disableSubmit: false
}
}, },
methods: { close () {
add () { this.$emit('close')
this.visible=true this.visible = false
this.$nextTick(()=>{ },
this.$refs.realForm.add(); submitCallback () {
}) this.$emit('ok')
}, this.visible = false
edit (record) { },
this.visible=true handleOk () {
this.$nextTick(()=>{ this.$refs.realForm.submitForm()
this.$refs.realForm.edit(record); },
}); handleCancel () {
}, this.close()
close () {
this.$emit('close');
this.visible = false;
},
submitCallback(){
this.$emit('ok');
this.visible = false;
},
handleOk () {
this.$refs.realForm.submitForm();
},
handleCancel () {
this.close()
}
} }
} }
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
/** Button按钮间距 */ /** Button按钮间距 */
.ant-btn { .ant-btn {
margin-left: 30px; margin-left: 30px;
margin-bottom: 30px; margin-bottom: 30px;
float: right; float: right;
} }
.drawer-footer{ .drawer-footer{
position: absolute; position: absolute;
bottom: -8px; bottom: -8px;
width: 100%; width: 100%;
border-top: 1px solid #e8e8e8; border-top: 1px solid #e8e8e8;
padding: 10px 16px; padding: 10px 16px;
text-align: right; text-align: right;
left: 0; left: 0;
background: #fff; background: #fff;
border-radius: 0 0 2px 2px; border-radius: 0 0 2px 2px;
} }
</style> </style>
@@ -104,66 +104,67 @@
</template> </template>
<script> <script>
import '@/assets/less/TableExpand.less' import '@/assets/less/TableExpand.less'
import ${entityName}Modal from './modules/${entityName}Modal' import ${entityName}Modal from './modules/${entityName}Modal'
import { JeroListMixin } from '@/mixins/JeroListMixin' import { JeroListMixin } from '@/mixins/JeroListMixin'
export default { export default {
name: "${entityName}List", name: '${entityName}List',
mixins:[JeroListMixin], mixins: [JeroListMixin],
components: { components: {
${entityName}Modal ${entityName}Modal
}, },
data () { data () {
return { return {
description: '${tableVo.ftlDescription}管理页面', description: '${tableVo.ftlDescription}管理页面',
// 表头 // 表头
columns: [ columns: [
{ {
title: '#', title: '#',
dataIndex: '', dataIndex: '',
key:'rowIndex', key: 'rowIndex',
width:60, width: 60,
align:"center", align: 'center',
customRender:function (t,r,index) { customRender: function (t, r, index) {
return parseInt(index)+1; return parseInt(index) + 1
} }
}, },
<#list columns as po> <#list columns as po>
<#if po.fieldName !='id'> <#if po.fieldName !='id'>
{ {
title: '${po.filedComment}', title: '${po.filedComment}',
align:"center", align: 'center',
dataIndex: '${po.fieldName}' dataIndex: '${po.fieldName}'
}, },
</#if> </#if>
</#list> </#list>
{ {
title: '操作', title: '操作',
dataIndex: 'action', dataIndex: 'action',
align:"center", align: 'center',
scopedSlots: { customRender: 'action' }, scopedSlots: { customRender: 'action' }
} }
], ],
url: { url: {
list: "/${entityPackage}/${entityName?uncap_first}/list", list: '/${entityPackage}/${entityName?uncap_first}/list',
delete: "/${entityPackage}/${entityName?uncap_first}/delete", delete: '/${entityPackage}/${entityName?uncap_first}/delete',
deleteBatch: "/${entityPackage}/${entityName?uncap_first}/deleteBatch", deleteBatch: '/${entityPackage}/${entityName?uncap_first}/deleteBatch',
exportXlsUrl: "${entityPackage}/${entityName?uncap_first}/exportXls", exportXlsUrl: '${entityPackage}/${entityName?uncap_first}/exportXls',
importExcelUrl: "${entityPackage}/${entityName?uncap_first}/importExcel", importExcelUrl: '${entityPackage}/${entityName?uncap_first}/importExcel',
}, },
} }
}, },
computed: { computed: {
importExcelUrl: function(){ importExcelUrl: function () {
<#noparse>return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;</#noparse> <#noparse>return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`</#noparse>
} }
}, },
methods: { methods: {
}
} }
}
</script> </script>
<style scoped> <style scoped>
@import '~@assets/less/common.less'; @import '~@assets/less/common.less';
</style> </style>
@@ -34,97 +34,92 @@
</template> </template>
<script> <script>
import { httpAction } from '@/api/manage' import { httpAction } from '@/api/manage'
import moment from "moment" import moment from "moment"
export default { export default {
name: "${entityName}Modal", name: "${entityName}Modal",
data () { data () {
return { return {
title:"操作", title: '操作',
visible: false, visible: false,
model: {}, model: {},
labelCol: { labelCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 5 }, sm: { span: 5 }
}, },
wrapperCol: { wrapperCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 16 }, sm: { span: 16 }
}, },
confirmLoading: false,
confirmLoading: false, validatorRules: {
validatorRules:{
<#list columns as po> <#list columns as po>
<#if po.fieldName !='id'> <#if po.fieldName !='id'>
<#if po.nullable =='N'> <#if po.nullable =='N'>
${po.fieldName}:[{ required: true, message: '请输入${po.filedComment}!' }], ${po.fieldName}: [{ required: true, message: '请输入${po.filedComment}!' }],
</#if> </#if>
</#if> </#if>
</#list> </#list>
},
url: {
add: "/${entityPackage}/${entityName?uncap_first}/add",
edit: "/${entityPackage}/${entityName?uncap_first}/edit",
},
}
},
created () {
},
methods: {
add () {
//初始化默认值
this.edit({});
}, },
edit (record) { url: {
this.model = Object.assign({}, record); add: '/${entityPackage}/${entityName?uncap_first}/add',
this.visible = true; edit: '/${entityPackage}/${entityName?uncap_first}/edit'
}, },
close () {
this.$emit('close');
this.visible = false;
this.$refs.form.clearValidate();
},
handleOk () {
const that = this;
// 触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if(!this.model.id){
httpurl+=this.url.add;
method = 'post';
}else{
httpurl+=this.url.edit;
method = 'put';
}
httpAction(httpurl,this.model,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();
})
}else{
return false;
}
})
},
handleCancel () {
this.close()
},
} }
},
created () {
},
methods: {
add () {
// 初始化默认值
this.edit({})
},
edit (record) {
this.model = Object.assign({}, record)
this.visible = true
},
close () {
this.$emit('close')
this.visible = false
this.$refs.form.clearValidate()
},
handleOk () {
const that = this
// 触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true
let httpurl = ''
const method = 'post'
if (!this.model.id) {
httpurl = this.url.add
} else {
httpurl = this.url.edit
}
httpAction(httpurl, this.model, 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()
})
} else {
return false
}
})
},
handleCancel () {
this.close()
},
} }
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
</style> </style>
@@ -37,95 +37,90 @@
</template> </template>
<script> <script>
import { httpAction } from '@/api/manage' import { httpAction } from '@/api/manage'
import moment from "moment" import moment from 'moment'
export default { export default {
name: "${entityName}Modal", name: '${entityName}Modal',
data () { data () {
return { return {
title:"操作", title: '操作',
visible: false, visible: false,
model: {}, model: {},
labelCol: { labelCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 5 }, sm: { span: 5 }
}, },
wrapperCol: { wrapperCol: {
xs: { span: 24 }, xs: { span: 24 },
sm: { span: 16 }, sm: { span: 16 }
}, },
confirmLoading: false,
confirmLoading: false, validatorRules: {
validatorRules:{
<#list columns as po> <#list columns as po>
<#if po.fieldName !='id'> <#if po.fieldName !='id'>
<#if po.nullable =='N'> <#if po.nullable =='N'>
${po.fieldName}:[{ required: true, message: '请输入${po.filedComment}!' }], ${po.fieldName}: [{ required: true, message: '请输入${po.filedComment}!' }],
</#if> </#if>
</#if> </#if>
</#list> </#list>
},
url: {
add: "/${entityPackage}/${entityName?uncap_first}/add",
edit: "/${entityPackage}/${entityName?uncap_first}/edit",
},
}
},
created () {
},
methods: {
add () {
//初始化默认值
this.edit({});
}, },
edit (record) { url: {
this.model = Object.assign({}, record); add: '/${entityPackage}/${entityName?uncap_first}/add',
this.visible = true; edit: '/${entityPackage}/${entityName?uncap_first}/edit',
}, },
close () {
this.$emit('close');
this.visible = false;
this.$refs.form.clearValidate();
},
handleOk () {
const that = this;
// 触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true;
let httpurl = '';
let method = '';
if(!this.model.id){
httpurl+=this.url.add;
method = 'post';
}else{
httpurl+=this.url.edit;
method = 'put';
}
httpAction(httpurl,this.model,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();
})
}else{
return false;
}
})
},
handleCancel () {
this.close()
},
} }
},
created () {
},
methods: {
add () {
// 初始化默认值
this.edit({})
},
edit (record) {
this.model = Object.assign({}, record)
this.visible = true
},
close () {
this.$emit('close')
this.visible = false
this.$refs.form.clearValidate()
},
handleOk () {
const that = this
// 触发表单验证
this.$refs.form.validate(valid => {
if (valid) {
that.confirmLoading = true
let httpurl = ''
const method = 'post'
if (!this.model.id) {
httpurl = this.url.add
} else {
httpurl = this.url.edit
}
httpAction(httpurl, this.model, 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()
})
} else {
return false
}
})
},
handleCancel () {
this.close()
},
} }
}
</script> </script>
<style lang="less" scoped> <style lang="less" scoped>
+6
View File
@@ -157,3 +157,9 @@ export default {
} }
} }
</script> </script>
<style scoped>
.ant-calendar-picker {
min-width: 195px;
}
</style>