提交 d77787f7 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码 [ibiz-task,任务调度]

上级 9ecfc1b2
......@@ -42,6 +42,8 @@ function getAppLocale(){
},
gridpage: {
choicecolumns: "Choice columns",
saveconfig: "Save the current configuration",
resetconfig: "Restoring default Settings",
refresh: "refresh",
show: "Show",
records: "records",
......@@ -56,6 +58,12 @@ function getAppLocale(){
updateAction: "The view table updateaction parameter is not configured",
loaddraftAction: "The view table loadtrafaction parameter is not configured",
},
message: {
saveconfigsuccess: "Configuration saved successfully!",
saveconfigerror: "Failed to save configuration!",
resetconfigsuccess: "Reset configuration succeeded!",
resetconfigerror: "Reset configuration failed!",
},
data: "Data",
delDataFail: "Failed to delete data",
delSuccess: "Delete successfully!",
......
......@@ -42,6 +42,8 @@ function getAppLocale(){
},
gridpage: {
choicecolumns: "选择列",
saveconfig: "保存当前配置",
resetconfig: "恢复默认配置",
refresh: "刷新",
show: "显示",
records: "条",
......@@ -56,6 +58,12 @@ function getAppLocale(){
updateAction: "视图表格updateAction参数未配置",
loaddraftAction: "视图表格loaddraftAction参数未配置",
},
message: {
saveconfigsuccess: "保存配置成功!",
saveconfigerror: "保存配置失败!",
resetconfigsuccess: "重置配置成功!",
resetconfigerror: "重置配置失败!",
},
data: "数据",
delDataFail: "删除数据失败",
delSuccess: "删除成功!",
......
......@@ -45,9 +45,9 @@
style=''
name="form"
ref='form'
@load="form_load($event)"
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
</div>
......@@ -617,38 +617,38 @@ export default class JobsInfoEditViewBase extends Vue {
/**
* form 部件 save 事件
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoEditViewBase
*/
public form_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'save', $event);
public form_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'load', $event);
}
/**
* form 部件 remove 事件
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoEditViewBase
*/
public form_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'remove', $event);
public form_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 load 事件
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoEditViewBase
*/
public form_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'load', $event);
public form_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'remove', $event);
}
......@@ -812,6 +812,7 @@ export default class JobsInfoEditViewBase extends Vue {
if(this.portletStateEvent){
this.portletStateEvent.unsubscribe();
}
this.viewState.complete();
}
......
......@@ -75,9 +75,9 @@
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@save="searchform_save($event)"
@closeview="closeView($event)">
</view_searchform>
<div class='view-body-messages'>
......@@ -102,11 +102,11 @@
:opendata="opendata"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@selectionchange="grid_selectionchange($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@beforeload="grid_beforeload($event)"
@closeview="closeView($event)">
</view_grid>
</div>
......@@ -286,9 +286,9 @@ export default class JobsInfoGridViewBase extends Vue {
* @memberof JobsInfoGridViewBase
*/
public containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_grid: { name: 'grid', type: 'GRID' },
view_searchform: { name: 'searchform', type: 'SEARCHFORM' },
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
};
/**
......@@ -692,34 +692,14 @@ export default class JobsInfoGridViewBase extends Vue {
/**
* toolbar 部件 click 事件
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoGridViewBase
*/
public toolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.toolbar_deuiaction2_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction3')) {
this.toolbar_deuiaction3_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction4')) {
this.toolbar_deuiaction4_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction5')) {
this.toolbar_deuiaction5_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction6')) {
this.toolbar_deuiaction6_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction7')) {
this.toolbar_deuiaction7_click(null, '', $event2);
}
public grid_rowdblclick($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
......@@ -736,86 +716,106 @@ export default class JobsInfoGridViewBase extends Vue {
/**
* grid 部件 beforeload 事件
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoGridViewBase
*/
public grid_beforeload($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
public grid_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'remove', $event);
}
/**
* grid 部件 rowdblclick 事件
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoGridViewBase
*/
public grid_rowdblclick($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
public grid_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'load', $event);
}
/**
* grid 部件 remove 事件
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoGridViewBase
*/
public grid_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'remove', $event);
public grid_beforeload($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
/**
* grid 部件 load 事件
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoGridViewBase
*/
public grid_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'load', $event);
public searchform_search($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'search', $event);
}
/**
* searchform 部件 save 事件
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoGridViewBase
*/
public searchform_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'save', $event);
public searchform_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'load', $event);
}
/**
* searchform 部件 search 事件
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoGridViewBase
*/
public searchform_search($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'search', $event);
public searchform_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* searchform 部件 load 事件
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsInfoGridViewBase
*/
public searchform_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'load', $event);
public toolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction2')) {
this.toolbar_deuiaction2_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction3')) {
this.toolbar_deuiaction3_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction4')) {
this.toolbar_deuiaction4_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction5')) {
this.toolbar_deuiaction5_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction6')) {
this.toolbar_deuiaction6_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction7')) {
this.toolbar_deuiaction7_click(null, '', $event2);
}
}
......@@ -1266,6 +1266,7 @@ export default class JobsInfoGridViewBase extends Vue {
if(this.portletStateEvent){
this.portletStateEvent.unsubscribe();
}
this.viewState.complete();
}
/**
......
......@@ -29,9 +29,9 @@
style=''
name="form"
ref='form'
@load="form_load($event)"
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
</div>
......@@ -570,38 +570,38 @@ export default class JobsLogEditViewBase extends Vue {
/**
* form 部件 save 事件
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsLogEditViewBase
*/
public form_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'save', $event);
public form_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'load', $event);
}
/**
* form 部件 remove 事件
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsLogEditViewBase
*/
public form_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'remove', $event);
public form_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 load 事件
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsLogEditViewBase
*/
public form_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'load', $event);
public form_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'remove', $event);
}
......@@ -665,6 +665,7 @@ export default class JobsLogEditViewBase extends Vue {
if(this.portletStateEvent){
this.portletStateEvent.unsubscribe();
}
this.viewState.complete();
}
......
......@@ -24,9 +24,9 @@
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@save="searchform_save($event)"
@closeview="closeView($event)">
</view_searchform>
<div class='view-body-messages'>
......@@ -51,11 +51,11 @@
:opendata="opendata"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@selectionchange="grid_selectionchange($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@beforeload="grid_beforeload($event)"
@closeview="closeView($event)">
</view_grid>
</div>
......@@ -617,38 +617,26 @@ export default class JobsLogGridViewBase extends Vue {
/**
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsLogGridViewBase
*/
public grid_selectionchange($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'selectionchange', $event);
}
/**
* grid 部件 beforeload 事件
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsLogGridViewBase
*/
public grid_beforeload($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
public grid_rowdblclick($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
/**
* grid 部件 rowdblclick 事件
* grid 部件 selectionchange 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsLogGridViewBase
*/
public grid_rowdblclick($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
public grid_selectionchange($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'selectionchange', $event);
}
......@@ -677,14 +665,14 @@ export default class JobsLogGridViewBase extends Vue {
/**
* searchform 部件 save 事件
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsLogGridViewBase
*/
public searchform_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'save', $event);
public grid_beforeload($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
......@@ -712,6 +700,18 @@ export default class JobsLogGridViewBase extends Vue {
}
/**
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsLogGridViewBase
*/
public searchform_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* 打开新建数据视图
......@@ -878,6 +878,7 @@ export default class JobsLogGridViewBase extends Vue {
if(this.portletStateEvent){
this.portletStateEvent.unsubscribe();
}
this.viewState.complete();
}
/**
......
......@@ -45,9 +45,9 @@
style=''
name="form"
ref='form'
@load="form_load($event)"
@save="form_save($event)"
@remove="form_remove($event)"
@load="form_load($event)"
@closeview="closeView($event)">
</view_form>
</div>
......@@ -617,38 +617,38 @@ export default class JobsRegistryEditViewBase extends Vue {
/**
* form 部件 save 事件
* form 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryEditViewBase
*/
public form_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'save', $event);
public form_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'load', $event);
}
/**
* form 部件 remove 事件
* form 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryEditViewBase
*/
public form_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'remove', $event);
public form_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'save', $event);
}
/**
* form 部件 load 事件
* form 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryEditViewBase
*/
public form_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'load', $event);
public form_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('form', 'remove', $event);
}
......@@ -812,6 +812,7 @@ export default class JobsRegistryEditViewBase extends Vue {
if(this.portletStateEvent){
this.portletStateEvent.unsubscribe();
}
this.viewState.complete();
}
......
......@@ -54,9 +54,9 @@
name="searchform"
ref='searchform'
@save="searchform_save($event)"
@search="searchform_search($event)"
@load="searchform_load($event)"
@save="searchform_save($event)"
@closeview="closeView($event)">
</view_searchform>
<div class='view-body-messages'>
......@@ -81,11 +81,11 @@
:opendata="opendata"
name="grid"
ref='grid'
@selectionchange="grid_selectionchange($event)"
@beforeload="grid_beforeload($event)"
@rowdblclick="grid_rowdblclick($event)"
@selectionchange="grid_selectionchange($event)"
@remove="grid_remove($event)"
@load="grid_load($event)"
@beforeload="grid_beforeload($event)"
@closeview="closeView($event)">
</view_grid>
</div>
......@@ -265,9 +265,9 @@ export default class JobsRegistryGridViewBase extends Vue {
* @memberof JobsRegistryGridViewBase
*/
public containerModel: any = {
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
view_grid: { name: 'grid', type: 'GRID' },
view_searchform: { name: 'searchform', type: 'SEARCHFORM' },
view_toolbar: { name: 'toolbar', type: 'TOOLBAR' },
};
/**
......@@ -665,28 +665,14 @@ export default class JobsRegistryGridViewBase extends Vue {
/**
* toolbar 部件 click 事件
* grid 部件 rowdblclick 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryGridViewBase
*/
public toolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
public grid_rowdblclick($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
}
......@@ -703,86 +689,100 @@ export default class JobsRegistryGridViewBase extends Vue {
/**
* grid 部件 beforeload 事件
* grid 部件 remove 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryGridViewBase
*/
public grid_beforeload($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
public grid_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'remove', $event);
}
/**
* grid 部件 rowdblclick 事件
* grid 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryGridViewBase
*/
public grid_rowdblclick($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'rowdblclick', $event);
public grid_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'load', $event);
}
/**
* grid 部件 remove 事件
* grid 部件 beforeload 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryGridViewBase
*/
public grid_remove($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'remove', $event);
public grid_beforeload($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'beforeload', $event);
}
/**
* grid 部件 load 事件
* searchform 部件 search 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryGridViewBase
*/
public grid_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('grid', 'load', $event);
public searchform_search($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'search', $event);
}
/**
* searchform 部件 save 事件
* searchform 部件 load 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryGridViewBase
*/
public searchform_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'save', $event);
public searchform_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'load', $event);
}
/**
* searchform 部件 search 事件
* searchform 部件 save 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryGridViewBase
*/
public searchform_search($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'search', $event);
public searchform_save($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'save', $event);
}
/**
* searchform 部件 load 事件
* toolbar 部件 click 事件
*
* @param {*} [args={}]
* @param {*} $event
* @memberof JobsRegistryGridViewBase
*/
public searchform_load($event: any, $event2?: any) {
this.engine.onCtrlEvent('searchform', 'load', $event);
public toolbar_click($event: any, $event2?: any) {
if (Object.is($event.tag, 'tbitem3')) {
this.toolbar_tbitem3_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem4')) {
this.toolbar_tbitem4_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem5')) {
this.toolbar_tbitem5_click(null, '', $event2);
}
if (Object.is($event.tag, 'tbitem8')) {
this.toolbar_tbitem8_click(null, '', $event2);
}
if (Object.is($event.tag, 'deuiaction1')) {
this.toolbar_deuiaction1_click(null, '', $event2);
}
}
......@@ -1200,6 +1200,7 @@ export default class JobsRegistryGridViewBase extends Vue {
if(this.portletStateEvent){
this.portletStateEvent.unsubscribe();
}
this.viewState.complete();
}
/**
......
export const PageComponents = {
install(Vue: any, opt: any) {
Vue.component('jobs-registry-grid-view', () => import('@pages/task/jobs-registry-grid-view/jobs-registry-grid-view.vue'));
Vue.component('jobs-info-grid-view', () => import('@pages/task/jobs-info-grid-view/jobs-info-grid-view.vue'));
Vue.component('jobs-log-grid-view', () => import('@pages/task/jobs-log-grid-view/jobs-log-grid-view.vue'));
Vue.component('jobs-registry-edit-view', () => import('@pages/task/jobs-registry-edit-view/jobs-registry-edit-view.vue'));
Vue.component('jobs-info-edit-view', () => import('@pages/task/jobs-info-edit-view/jobs-info-edit-view.vue'));
Vue.component('jobs-log-edit-view', () => import('@pages/task/jobs-log-edit-view/jobs-log-edit-view.vue'));
Vue.component('jobs-registry-edit-view', () => import('@pages/task/jobs-registry-edit-view/jobs-registry-edit-view.vue'));
Vue.component('jobs-log-grid-view', () => import('@pages/task/jobs-log-grid-view/jobs-log-grid-view.vue'));
Vue.component('jobs-info-grid-view', () => import('@pages/task/jobs-info-grid-view/jobs-info-grid-view.vue'));
}
};
\ No newline at end of file
......@@ -50,32 +50,32 @@ const router = new Router({
component: () => import('@pages/task/jobs-registry-grid-view/jobs-registry-grid-view.vue'),
},
{
path: 'jobsinfos/:jobsinfo?/editview/:editview?',
path: 'jobsinfos/:jobsinfo?/gridview/:gridview?',
meta: {
caption: 'entities.jobsinfo.views.editview.caption',
caption: 'entities.jobsinfo.views.gridview.caption',
info:'',
parameters: [
{ pathName: 'taskindexview', parameterName: 'taskindexview' },
{ pathName: 'jobsinfos', parameterName: 'jobsinfo' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/task/jobs-info-edit-view/jobs-info-edit-view.vue'),
component: () => import('@pages/task/jobs-info-grid-view/jobs-info-grid-view.vue'),
},
{
path: 'jobslogs/:jobslog?/editview/:editview?',
path: 'jobslogs/:jobslog?/gridview/:gridview?',
meta: {
caption: 'entities.jobslog.views.editview.caption',
caption: 'entities.jobslog.views.gridview.caption',
info:'',
parameters: [
{ pathName: 'taskindexview', parameterName: 'taskindexview' },
{ pathName: 'jobslogs', parameterName: 'jobslog' },
{ pathName: 'editview', parameterName: 'editview' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
requireAuth: true,
},
component: () => import('@pages/task/jobs-log-edit-view/jobs-log-edit-view.vue'),
component: () => import('@pages/task/jobs-log-grid-view/jobs-log-grid-view.vue'),
},
{
path: 'jobsregistries/:jobsregistry?/editview/:editview?',
......@@ -92,32 +92,32 @@ const router = new Router({
component: () => import('@pages/task/jobs-registry-edit-view/jobs-registry-edit-view.vue'),
},
{
path: 'jobslogs/:jobslog?/gridview/:gridview?',
path: 'jobsinfos/:jobsinfo?/editview/:editview?',
meta: {
caption: 'entities.jobslog.views.gridview.caption',
caption: 'entities.jobsinfo.views.editview.caption',
info:'',
parameters: [
{ pathName: 'taskindexview', parameterName: 'taskindexview' },
{ pathName: 'jobslogs', parameterName: 'jobslog' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'jobsinfos', parameterName: 'jobsinfo' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/task/jobs-log-grid-view/jobs-log-grid-view.vue'),
component: () => import('@pages/task/jobs-info-edit-view/jobs-info-edit-view.vue'),
},
{
path: 'jobsinfos/:jobsinfo?/gridview/:gridview?',
path: 'jobslogs/:jobslog?/editview/:editview?',
meta: {
caption: 'entities.jobsinfo.views.gridview.caption',
caption: 'entities.jobslog.views.editview.caption',
info:'',
parameters: [
{ pathName: 'taskindexview', parameterName: 'taskindexview' },
{ pathName: 'jobsinfos', parameterName: 'jobsinfo' },
{ pathName: 'gridview', parameterName: 'gridview' },
{ pathName: 'jobslogs', parameterName: 'jobslog' },
{ pathName: 'editview', parameterName: 'editview' },
],
requireAuth: true,
},
component: () => import('@pages/task/jobs-info-grid-view/jobs-info-grid-view.vue'),
component: () => import('@pages/task/jobs-log-edit-view/jobs-log-edit-view.vue'),
},
...indexRoutes,
],
......
......@@ -49,8 +49,8 @@ export const viewstate: any = {
viewdatachange: false,
refviews: [
'3fc39744066bd5343be378ec5703f556',
'67b4d1e928a08679ce63051ccc88da9c',
'e4856779577562e9880855e6c66d63e5',
'67b4d1e928a08679ce63051ccc88da9c',
],
},
{
......
......@@ -4,8 +4,8 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="<%= BASE_URL %>favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
<link rel="icon" href="./favicon.ico">
<title>任务调度</title>
</head>
<body>
<noscript>
......
......@@ -595,15 +595,15 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface {
navDataService.removeNavData(this.viewtag);
}
switch (item.appfunctag) {
case 'Auto1':
this.clickAuto1(item);
return;
case 'Auto3':
this.clickAuto3(item);
return;
case 'Auto2':
this.clickAuto2(item);
return;
case 'Auto1':
this.clickAuto1(item);
return;
default:
console.warn('未指定应用功能');
}
......@@ -612,17 +612,17 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface {
/**
* 任务
* 任务注册
*
* @param {*} [item={}]
* @memberof TaskIndexView
*/
public clickAuto3(item: any = {}) {
public clickAuto1(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'jobsinfos', parameterName: 'jobsinfo' },
{ pathName: 'jobsregistries', parameterName: 'jobsregistry' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
......@@ -635,17 +635,17 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface {
}
/**
* 任务调度日志
* 任务
*
* @param {*} [item={}]
* @memberof TaskIndexView
*/
public clickAuto2(item: any = {}) {
public clickAuto3(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'jobslogs', parameterName: 'jobslog' },
{ pathName: 'jobsinfos', parameterName: 'jobsinfo' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
......@@ -658,17 +658,17 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface {
}
/**
* 任务注册
* 任务调度日志
*
* @param {*} [item={}]
* @memberof TaskIndexView
*/
public clickAuto1(item: any = {}) {
public clickAuto2(item: any = {}) {
const viewparam: any = {};
Object.assign(viewparam, {});
const deResParameters: any[] = [];
const parameters: any[] = [
{ pathName: 'jobsregistries', parameterName: 'jobsregistry' },
{ pathName: 'jobslogs', parameterName: 'jobslog' },
{ pathName: 'gridview', parameterName: 'gridview' },
];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
......
......@@ -82,38 +82,38 @@ export default class TaskIndexViewModel {
*/
public funcs: any[] = [
{
appfunctag: 'Auto3',
appfunctag: 'Auto1',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'jobsinfogridview',
codename: 'jobsregistrygridview',
deResParameters: [],
routepath: '/taskindexview/:taskindexview?/jobsinfos/:jobsinfo?/gridview/:gridview?',
routepath: '/taskindexview/:taskindexview?/jobsregistries/:jobsregistry?/gridview/:gridview?',
parameters: [
{ pathName: 'jobsinfos', parameterName: 'jobsinfo' },
{ pathName: 'jobsregistries', parameterName: 'jobsregistry' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{
appfunctag: 'Auto2',
appfunctag: 'Auto3',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'jobsloggridview',
codename: 'jobsinfogridview',
deResParameters: [],
routepath: '/taskindexview/:taskindexview?/jobslogs/:jobslog?/gridview/:gridview?',
routepath: '/taskindexview/:taskindexview?/jobsinfos/:jobsinfo?/gridview/:gridview?',
parameters: [
{ pathName: 'jobslogs', parameterName: 'jobslog' },
{ pathName: 'jobsinfos', parameterName: 'jobsinfo' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
{
appfunctag: 'Auto1',
appfunctag: 'Auto2',
appfuncyype: 'APPVIEW',
openmode: '',
codename: 'jobsregistrygridview',
codename: 'jobsloggridview',
deResParameters: [],
routepath: '/taskindexview/:taskindexview?/jobsregistries/:jobsregistry?/gridview/:gridview?',
routepath: '/taskindexview/:taskindexview?/jobslogs/:jobslog?/gridview/:gridview?',
parameters: [
{ pathName: 'jobsregistries', parameterName: 'jobsregistry' },
{ pathName: 'jobslogs', parameterName: 'jobslog' },
{ pathName: 'gridview', parameterName: 'gridview' },
],
},
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import TaskIndexViewModel from './task-index-view-appmenu-model';
......@@ -21,6 +22,15 @@ export default class TaskIndexViewService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof TaskIndexViewService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of TaskIndexViewService.
*
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import JobsInfoService from '@/service/jobs-info/jobs-info-service';
import DefaultModel from './default-searchform-model';
......@@ -30,6 +31,15 @@ export default class DefaultService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof DefaultService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of DefaultService.
*
......
......@@ -1572,6 +1572,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(this.appStateEvent){
this.appStateEvent.unsubscribe();
}
this.formState.complete();
}
/**
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import JobsInfoService from '@/service/jobs-info/jobs-info-service';
import MainModel from './main-form-model';
......@@ -30,6 +31,15 @@ export default class MainService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof MainService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of MainService.
*
......
......@@ -165,6 +165,8 @@
</template>
</div>
</poptip>
<i-button class="config-button" @click="saveDynaConfig">{{$t('app.gridpage.saveconfig')}}</i-button>
<i-button class="config-button" @click="resetDynaConfig">{{$t('app.gridpage.resetconfig')}}</i-button>
</span>
<span class="page-button"><i-button icon="md-refresh" :title="$t('app.gridpage.refresh')" @click="pageRefresh()"></i-button></span>&nbsp;
<span>
......@@ -793,6 +795,14 @@ export default class MainBase extends Vue implements ControlInterface {
},
]
/**
* 重置表格列模型缓存
*
* @type {any[]}
* @memberof MainBase
*/
public resetColModel: any[] = [];
/**
* 表格模型集合
*
......@@ -1978,6 +1988,33 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public setColState() {
this.resetColModel = Util.deepCopy(this.allColumns);
const viewParams: any = Util.deepCopy(this.viewparams);
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibztask_web_jobsinfogridview_grid_main'});
const post = this.service.loadModel('grid_dynaconfig', this.context, viewParams);
post.then((response: any) => {
if(response.status == 200 && response.data) {
const columns = response.data;
columns.forEach((col: any) => {
let column = this.allColumns.find((item) => Object.is(col.name, item.name));
if (column) {
Object.assign(column, col);
}
});
} else {
this.getColStorage();
}
}).catch(() => {
this.getColStorage();
});
}
/**
* 获取列缓存
*
* @memberof MainBase
*/
public getColStorage() {
const _data: any = localStorage.getItem('jobs_info_main_grid');
if (_data) {
let columns = JSON.parse(_data);
......@@ -2013,6 +2050,36 @@ export default class MainBase extends Vue implements ControlInterface {
return column.show ? true : false;
}
/**
* 保存动态表格配置
*
* @memberof MainBase
*/
public saveDynaConfig() {
const viewParams: any = Util.deepCopy(this.viewparams);
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibztask_web_jobsinfogridview_grid_main', model: this.allColumns});
const post = this.service.saveModel('grid_dynaconfig', this.context, viewParams);
post.then((response: any) => {
if (response.status == 200) {
this.$Message.success(this.$t('app.gridpage.message.saveconfigsuccess'));
} else {
this.$Message.error(this.$t('app.gridpage.message.saveconfigerror'));
}
}).catch(() => {
this.$Message.error(this.$t('app.gridpage.message.saveconfigerror'));
});
}
/**
* 重置动态表格配置
*
* @memberof MainBase
*/
public resetDynaConfig() {
this.allColumns = Util.deepCopy(this.resetColModel);
localStorage.setItem('dynaconfig_main_grid', JSON.stringify(this.allColumns));
}
/**
* 表格列是否自适应布局
*
......
......@@ -27,8 +27,8 @@ export default class MainModel {
}else{
return [
{
name: 'app',
prop: 'app',
name: 'id',
prop: 'id',
dataType: 'TEXT',
},
{
......@@ -37,45 +37,39 @@ export default class MainModel {
dataType: 'TEXT',
},
{
name: 'status',
prop: 'status',
dataType: 'NSCODELIST',
},
{
name: 'last_time',
prop: 'last_time',
dataType: 'BIGINT',
name: 'app',
prop: 'app',
dataType: 'TEXT',
},
{
name: 'srfmajortext',
name: 'handler',
prop: 'handler',
dataType: 'TEXT',
},
{
name: 'srfkey',
prop: 'id',
name: 'cron',
prop: 'cron',
dataType: 'TEXT',
isEditable:true
},
{
name: 'srfdataaccaction',
prop: 'id',
dataType: 'TEXT',
name: 'last_time',
prop: 'last_time',
dataType: 'BIGINT',
},
{
name: 'id',
prop: 'id',
dataType: 'TEXT',
name: 'next_time',
prop: 'next_time',
dataType: 'BIGINT',
},
{
name: 'cron',
prop: 'cron',
dataType: 'TEXT',
name: 'status',
prop: 'status',
dataType: 'NSCODELIST',
},
{
name: 'next_time',
prop: 'next_time',
dataType: 'BIGINT',
name: 'timeout',
prop: 'timeout',
dataType: 'INT',
},
{
name: 'update_time',
......@@ -83,12 +77,18 @@ export default class MainModel {
dataType: 'DATETIME',
},
{
name: 'timeout',
prop: 'timeout',
dataType: 'INT',
name: 'srfkey',
prop: 'id',
dataType: 'TEXT',
isEditable:true
},
{
name: 'handler',
name: 'srfdataaccaction',
prop: 'id',
dataType: 'TEXT',
},
{
name: 'srfmajortext',
prop: 'handler',
dataType: 'TEXT',
},
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import JobsInfoService from '@/service/jobs-info/jobs-info-service';
import MainModel from './main-grid-model';
......@@ -30,6 +31,15 @@ export default class MainService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof MainService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of MainService.
*
......@@ -41,6 +51,50 @@ export default class MainService extends ControlService {
this.model = new MainModel();
}
/**
* 加载数据模型
*
* @param {string} serviceName
* @param {*} context
* @param {*} viewparams
* @memberof MainService
*/
public loadModel(serviceName: string, context: any, viewparams: any) {
return new Promise((resolve: any, reject: any) => {
this.utilService.getService(serviceName).then((service: any) => {
service.loadModelData(JSON.stringify(context), viewparams).then((response: any) => {
resolve(response);
}).catch((response: any) => {
reject(response);
});
}).catch((response: any) => {
reject(response);
});
});
}
/**
* 保存数据模型
*
* @param {string} serviceName
* @param {*} context
* @param {*} viewparams
* @memberof MainService
*/
public saveModel(serviceName: string, context: any, viewparams: any) {
return new Promise((resolve: any, reject: any) => {
this.utilService.getService(serviceName).then((service: any) => {
service.saveModelData(JSON.stringify(context),'', viewparams).then((response: any) => {
resolve(response);
}).catch((response: any) => {
reject(response);
});
}).catch((response: any) => {
reject(response);
});
});
}
/**
* 备份原生数据
*
......
......@@ -92,6 +92,9 @@
.page-column {
position: absolute;
left: 0;
.config-button {
margin-left: 8px;
}
}
.batch-toolbar{
position: absolute;
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import JobsLogService from '@/service/jobs-log/jobs-log-service';
import DefaultModel from './default-searchform-model';
......@@ -30,6 +31,15 @@ export default class DefaultService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof DefaultService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of DefaultService.
*
......
......@@ -1392,6 +1392,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(this.appStateEvent){
this.appStateEvent.unsubscribe();
}
this.formState.complete();
}
/**
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import JobsLogService from '@/service/jobs-log/jobs-log-service';
import MainModel from './main-form-model';
......@@ -30,6 +31,15 @@ export default class MainService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof MainService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of MainService.
*
......
......@@ -139,6 +139,8 @@
</template>
</div>
</poptip>
<i-button class="config-button" @click="saveDynaConfig">{{$t('app.gridpage.saveconfig')}}</i-button>
<i-button class="config-button" @click="resetDynaConfig">{{$t('app.gridpage.resetconfig')}}</i-button>
</span>
<span class="page-button"><i-button icon="md-refresh" :title="$t('app.gridpage.refresh')" @click="pageRefresh()"></i-button></span>&nbsp;
<span>
......@@ -749,6 +751,14 @@ export default class MainBase extends Vue implements ControlInterface {
},
]
/**
* 重置表格列模型缓存
*
* @type {any[]}
* @memberof MainBase
*/
public resetColModel: any[] = [];
/**
* 表格模型集合
*
......@@ -1920,6 +1930,33 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public setColState() {
this.resetColModel = Util.deepCopy(this.allColumns);
const viewParams: any = Util.deepCopy(this.viewparams);
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibztask_web_jobsloggridview_grid_main'});
const post = this.service.loadModel('grid_dynaconfig', this.context, viewParams);
post.then((response: any) => {
if(response.status == 200 && response.data) {
const columns = response.data;
columns.forEach((col: any) => {
let column = this.allColumns.find((item) => Object.is(col.name, item.name));
if (column) {
Object.assign(column, col);
}
});
} else {
this.getColStorage();
}
}).catch(() => {
this.getColStorage();
});
}
/**
* 获取列缓存
*
* @memberof MainBase
*/
public getColStorage() {
const _data: any = localStorage.getItem('jobs_log_main_grid');
if (_data) {
let columns = JSON.parse(_data);
......@@ -1955,6 +1992,36 @@ export default class MainBase extends Vue implements ControlInterface {
return column.show ? true : false;
}
/**
* 保存动态表格配置
*
* @memberof MainBase
*/
public saveDynaConfig() {
const viewParams: any = Util.deepCopy(this.viewparams);
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibztask_web_jobsloggridview_grid_main', model: this.allColumns});
const post = this.service.saveModel('grid_dynaconfig', this.context, viewParams);
post.then((response: any) => {
if (response.status == 200) {
this.$Message.success(this.$t('app.gridpage.message.saveconfigsuccess'));
} else {
this.$Message.error(this.$t('app.gridpage.message.saveconfigerror'));
}
}).catch(() => {
this.$Message.error(this.$t('app.gridpage.message.saveconfigerror'));
});
}
/**
* 重置动态表格配置
*
* @memberof MainBase
*/
public resetDynaConfig() {
this.allColumns = Util.deepCopy(this.resetColModel);
localStorage.setItem('dynaconfig_main_grid', JSON.stringify(this.allColumns));
}
/**
* 表格列是否自适应布局
*
......
......@@ -31,6 +31,16 @@ export default class MainModel {
prop: 'id',
dataType: 'TEXT',
},
{
name: 'job_id',
prop: 'job_id',
dataType: 'TEXT',
},
{
name: 'handler',
prop: 'handler',
dataType: 'TEXT',
},
{
name: 'address',
prop: 'address',
......@@ -41,25 +51,20 @@ export default class MainModel {
prop: 'trigger_code',
dataType: 'INT',
},
{
name: 'create_time',
prop: 'create_time',
dataType: 'DATETIME',
},
{
name: 'trigger_type',
prop: 'trigger_type',
dataType: 'TEXT',
},
{
name: 'srfmajortext',
prop: 'handler',
dataType: 'TEXT',
name: 'fail_retry_count',
prop: 'fail_retry_count',
dataType: 'INT',
},
{
name: 'srfdataaccaction',
prop: 'id',
dataType: 'TEXT',
name: 'create_time',
prop: 'create_time',
dataType: 'DATETIME',
},
{
name: 'srfkey',
......@@ -68,18 +73,13 @@ export default class MainModel {
isEditable:true
},
{
name: 'fail_retry_count',
prop: 'fail_retry_count',
dataType: 'INT',
},
{
name: 'handler',
prop: 'handler',
name: 'srfdataaccaction',
prop: 'id',
dataType: 'TEXT',
},
{
name: 'job_id',
prop: 'job_id',
name: 'srfmajortext',
prop: 'handler',
dataType: 'TEXT',
},
{
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import JobsLogService from '@/service/jobs-log/jobs-log-service';
import MainModel from './main-grid-model';
......@@ -30,6 +31,15 @@ export default class MainService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof MainService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of MainService.
*
......@@ -41,6 +51,50 @@ export default class MainService extends ControlService {
this.model = new MainModel();
}
/**
* 加载数据模型
*
* @param {string} serviceName
* @param {*} context
* @param {*} viewparams
* @memberof MainService
*/
public loadModel(serviceName: string, context: any, viewparams: any) {
return new Promise((resolve: any, reject: any) => {
this.utilService.getService(serviceName).then((service: any) => {
service.loadModelData(JSON.stringify(context), viewparams).then((response: any) => {
resolve(response);
}).catch((response: any) => {
reject(response);
});
}).catch((response: any) => {
reject(response);
});
});
}
/**
* 保存数据模型
*
* @param {string} serviceName
* @param {*} context
* @param {*} viewparams
* @memberof MainService
*/
public saveModel(serviceName: string, context: any, viewparams: any) {
return new Promise((resolve: any, reject: any) => {
this.utilService.getService(serviceName).then((service: any) => {
service.saveModelData(JSON.stringify(context),'', viewparams).then((response: any) => {
resolve(response);
}).catch((response: any) => {
reject(response);
});
}).catch((response: any) => {
reject(response);
});
});
}
/**
* 备份原生数据
*
......
......@@ -92,6 +92,9 @@
.page-column {
position: absolute;
left: 0;
.config-button {
margin-left: 8px;
}
}
.batch-toolbar{
position: absolute;
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import JobsRegistryService from '@/service/jobs-registry/jobs-registry-service';
import DefaultModel from './default-searchform-model';
......@@ -30,6 +31,15 @@ export default class DefaultService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof DefaultService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of DefaultService.
*
......
......@@ -1213,6 +1213,7 @@ export default class MainBase extends Vue implements ControlInterface {
if(this.appStateEvent){
this.appStateEvent.unsubscribe();
}
this.formState.complete();
}
/**
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import JobsRegistryService from '@/service/jobs-registry/jobs-registry-service';
import MainModel from './main-form-model';
......@@ -30,6 +31,15 @@ export default class MainService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof MainService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of MainService.
*
......
......@@ -93,6 +93,8 @@
</template>
</div>
</poptip>
<i-button class="config-button" @click="saveDynaConfig">{{$t('app.gridpage.saveconfig')}}</i-button>
<i-button class="config-button" @click="resetDynaConfig">{{$t('app.gridpage.resetconfig')}}</i-button>
</span>
<span class="page-button"><i-button icon="md-refresh" :title="$t('app.gridpage.refresh')" @click="pageRefresh()"></i-button></span>&nbsp;
<span>
......@@ -667,6 +669,14 @@ export default class MainBase extends Vue implements ControlInterface {
},
]
/**
* 重置表格列模型缓存
*
* @type {any[]}
* @memberof MainBase
*/
public resetColModel: any[] = [];
/**
* 表格模型集合
*
......@@ -1834,6 +1844,33 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public setColState() {
this.resetColModel = Util.deepCopy(this.allColumns);
const viewParams: any = Util.deepCopy(this.viewparams);
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibztask_web_jobsregistrygridview_grid_main'});
const post = this.service.loadModel('grid_dynaconfig', this.context, viewParams);
post.then((response: any) => {
if(response.status == 200 && response.data) {
const columns = response.data;
columns.forEach((col: any) => {
let column = this.allColumns.find((item) => Object.is(col.name, item.name));
if (column) {
Object.assign(column, col);
}
});
} else {
this.getColStorage();
}
}).catch(() => {
this.getColStorage();
});
}
/**
* 获取列缓存
*
* @memberof MainBase
*/
public getColStorage() {
const _data: any = localStorage.getItem('jobs_registry_main_grid');
if (_data) {
let columns = JSON.parse(_data);
......@@ -1869,6 +1906,36 @@ export default class MainBase extends Vue implements ControlInterface {
return column.show ? true : false;
}
/**
* 保存动态表格配置
*
* @memberof MainBase
*/
public saveDynaConfig() {
const viewParams: any = Util.deepCopy(this.viewparams);
Object.assign(viewParams,{utilServiceName: 'grid_dynaconfig', modelid: 'ibztask_web_jobsregistrygridview_grid_main', model: this.allColumns});
const post = this.service.saveModel('grid_dynaconfig', this.context, viewParams);
post.then((response: any) => {
if (response.status == 200) {
this.$Message.success(this.$t('app.gridpage.message.saveconfigsuccess'));
} else {
this.$Message.error(this.$t('app.gridpage.message.saveconfigerror'));
}
}).catch(() => {
this.$Message.error(this.$t('app.gridpage.message.saveconfigerror'));
});
}
/**
* 重置动态表格配置
*
* @memberof MainBase
*/
public resetDynaConfig() {
this.allColumns = Util.deepCopy(this.resetColModel);
localStorage.setItem('dynaconfig_main_grid', JSON.stringify(this.allColumns));
}
/**
* 表格列是否自适应布局
*
......
......@@ -36,20 +36,21 @@ export default class MainModel {
prop: 'app',
dataType: 'TEXT',
},
{
name: 'status',
prop: 'status',
dataType: 'NSCODELIST',
},
{
name: 'address',
prop: 'address',
dataType: 'TEXT',
},
{
name: 'srfmajortext',
prop: 'app',
name: 'status',
prop: 'status',
dataType: 'NSCODELIST',
},
{
name: 'srfkey',
prop: 'id',
dataType: 'TEXT',
isEditable:true
},
{
name: 'srfdataaccaction',
......@@ -57,10 +58,9 @@ export default class MainModel {
dataType: 'TEXT',
},
{
name: 'srfkey',
prop: 'id',
name: 'srfmajortext',
prop: 'app',
dataType: 'TEXT',
isEditable:true
},
{
name: 'jobsregistry',
......
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import UtilService from '@/utilservice/util-service';
import JobsRegistryService from '@/service/jobs-registry/jobs-registry-service';
import MainModel from './main-grid-model';
......@@ -30,6 +31,15 @@ export default class MainService extends ControlService {
this.isTempMode = false;
}
/**
* 工具服务对象
*
* @protected
* @type {UtilService}
* @memberof MainService
*/
protected utilService: UtilService = new UtilService();
/**
* Creates an instance of MainService.
*
......@@ -41,6 +51,50 @@ export default class MainService extends ControlService {
this.model = new MainModel();
}
/**
* 加载数据模型
*
* @param {string} serviceName
* @param {*} context
* @param {*} viewparams
* @memberof MainService
*/
public loadModel(serviceName: string, context: any, viewparams: any) {
return new Promise((resolve: any, reject: any) => {
this.utilService.getService(serviceName).then((service: any) => {
service.loadModelData(JSON.stringify(context), viewparams).then((response: any) => {
resolve(response);
}).catch((response: any) => {
reject(response);
});
}).catch((response: any) => {
reject(response);
});
});
}
/**
* 保存数据模型
*
* @param {string} serviceName
* @param {*} context
* @param {*} viewparams
* @memberof MainService
*/
public saveModel(serviceName: string, context: any, viewparams: any) {
return new Promise((resolve: any, reject: any) => {
this.utilService.getService(serviceName).then((service: any) => {
service.saveModelData(JSON.stringify(context),'', viewparams).then((response: any) => {
resolve(response);
}).catch((response: any) => {
reject(response);
});
}).catch((response: any) => {
reject(response);
});
});
}
/**
* 备份原生数据
*
......
......@@ -92,6 +92,9 @@
.page-column {
position: absolute;
left: 0;
.config-button {
margin-left: 8px;
}
}
.batch-toolbar{
position: absolute;
......
FROM adoptopenjdk/openjdk8:jdk8u242-b08-centos
FROM image.ibizlab.cn/library/openjdk:8-jre-alpine
ENV TZ=Asia/Shanghai \
SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
......
......@@ -196,17 +196,17 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i
@Override
@Transactional
public JobsInfo start(JobsInfo et) {
et.set("Status","0");
et.set("Last_time","0");
et.set("Status","0");
update(et);
return et;
}
@Override
@Transactional
public JobsInfo stop(JobsInfo et) {
et.set("Next_time","0");
et.set("Last_time","0");
et.set("Status","1");
et.set("Next_time","0");
update(et);
return et;
}
......
......@@ -4,7 +4,7 @@
<!--输出实体[JOBS_INFO]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-jobs_info-6-1">
<changeSet author="root" id="tab-jobs_info-6-1">
<createTable tableName="JOBS_INFO">
<column name="ID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_JOBS_INFO_ID"/>
......@@ -42,7 +42,7 @@
<!--输出实体[JOBS_LOCK]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-jobs_lock-1-2">
<changeSet author="root" id="tab-jobs_lock-1-2">
<createTable tableName="JOBS_LOCK">
<column name="ID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_JOBS_LOCK_ID"/>
......@@ -58,7 +58,7 @@
<!--输出实体[JOBS_LOG]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-jobs_log-1-3">
<changeSet author="root" id="tab-jobs_log-1-3">
<createTable tableName="JOBS_LOG">
<column name="ID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_JOBS_LOG_ID"/>
......@@ -86,7 +86,7 @@
<!--输出实体[JOBS_REGISTRY]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-jobs_registry-1-4">
<changeSet author="root" id="tab-jobs_registry-1-4">
<createTable tableName="JOBS_REGISTRY">
<column name="ID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_JOBS_REGISTRY_ID"/>
......
{
"systemid":"ibztask",
"systemname":"ibztask",
"unires":[
],
"entities":[
......
......@@ -83,9 +83,13 @@
<!-- 阿里seata分布式事务 -->
<alibaba-seata.version>1.3.0</alibaba-seata.version>
<log4j2.version>2.16.0</log4j2.version>
<oracle.version>19.8.0.0</oracle.version>
<postgresql.version>42.2.6</postgresql.version>
<flowable-modeler.version>6.4.2</flowable-modeler.version>
<alibaba-fastjson.version>1.2.57_noneautotype</alibaba-fastjson.version>
</properties>
<dependencyManagement>
......@@ -108,6 +112,12 @@
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>${alibaba-fastjson.version}</version>
</dependency>
<!-- Alibaba Druid -->
<dependency>
<groupId>com.alibaba</groupId>
......@@ -356,6 +366,11 @@
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>com.dameng</groupId>
<artifactId>DmJdbcDriver18</artifactId>
<version>8.1.1.193</version>
</dependency>
</dependencies>
......
FROM adoptopenjdk/openjdk8:jdk8u242-b08-centos
FROM image.ibizlab.cn/library/openjdk:8-jre-alpine
ENV TZ=Asia/Shanghai \
SPRING_OUTPUT_ANSI_ENABLED=ALWAYS \
......
FROM registry.cn-shanghai.aliyuncs.com/ibizops/tongweb:arm-7.0
FROM registry.cn-shanghai.aliyuncs.com/ibizops/tongweb:arm-7.0-withSSL
ENV TZ Asia/Shanghai
ENV LANG C.UTF-8
......
......@@ -20,18 +20,17 @@
<appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<!--日志文件输出的文件名-->
<FileNamePattern>${LOG_PATH}/ibztask-api.%d{yyyy-MM-dd}.log</FileNamePattern>
<FileNamePattern>${LOG_PATH}/ibztask-api.%d{yyyy-MM-dd}.%i.log</FileNamePattern>
<!--日志文件最大的大小-->
<timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
<maxFileSize>100MB</maxFileSize>
</timeBasedFileNamingAndTriggeringPolicy>
<!--日志文件保留天数-->
<MaxHistory>30</MaxHistory>
</rollingPolicy>
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<pattern>${LOG_PATTERN}</pattern>
</encoder>
<!--日志文件最大的大小-->
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<MaxFileSize>100MB</MaxFileSize>
</triggeringPolicy>
</appender>
<!-- 日志输出级别 -->
<root level="INFO">
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册