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

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

上级 0199d8b6
......@@ -9,6 +9,9 @@
:disabled="disabled"
:file-list="files"
:action="uploadUrl"
:limit="multiple ? limit: 1"
:accept="accept"
:multiple="multiple"
:headers="{}"
:before-upload="beforeUpload"
:before-remove="onRemove"
......@@ -17,6 +20,7 @@
:on-preview="onDownload"
:drag="isdrag"
:show-file-list="!rowPreview"
:on-exceed = "handleExceed"
>
<el-button v-if="!isdrag" size='small' icon='el-icon-upload' :disabled="disabled">{{this.$t('app.fileUpload.caption')}}</el-button>
<i v-if="isdrag" class="el-icon-upload"></i>
......@@ -173,6 +177,30 @@ export default class AppFileUpload extends Vue {
*/
@Prop() public exportparams?: any;
/**
* 是否支持多个文件上传
*
* @type {string}
* @memberof AppFileUpload
*/
@Prop({default: true}) public multiple!: boolean;
/**
* 最大允许上传个数
*
* @type {*}
* @memberof AppImageUpload
*/
@Prop({default: 9999}) public limit!: number;
/**
* 接受上传的文件类型
*
* @type {*}
* @memberof AppImageUpload
*/
@Prop({default: '*'}) public accept!: string;
/**
* 上传文件路径
*
......@@ -473,6 +501,14 @@ export default class AppFileUpload extends Vue {
*/
public showActions: boolean = false;
/**
* 处理多选超出
*
* @memberof AppFileUpload
*/
public handleExceed(files: any, fileList: any) {
this.$message.warning(`${this.$t('components.appFileUpload.limitselect')} ${this.limit}`);
}
}
</script>
......
<template>
<div class="app-icon-menus">
<template v-for="(item,index) in menus">
<div :bordered="false" v-if="item.items && Array.isArray(item.items)" :key="index" :class="item.textcls">
<p @click="$emit('menuClick',item.name, [item.name])">
<span>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</span>
<span class="line"></span>
</p>
<p style=" display: 'flex' ">
<app-icon-menus :menus="item.items" :ctrlName = "ctrlName" @menuClick="menuClick"></app-icon-menus>
</p>
</div>
<el-card
:key="index"
shadow="never"
:class="item.textcls"
v-else
>
<div @click="menuClick(item.name,[item.name])" class="menuIcon" >
<span v-if="isIcon(item.icon,item.iconcls)">
<i :class="item.icon" v-if="!Object.is(item.icon, '')" />
<i :class="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<span v-else>
<img :src="item.icon" v-if="!Object.is(item.icon, '')" />
<img :src="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<h4>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</h4>
<template v-if="!item.hidden">
<div :bordered="false" v-if="item.items && Array.isArray(item.items)" :key="index" :class="item.textcls">
<p @click="$emit('menuClick',item.name, [item.name])">
<span>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</span>
<span class="line"></span>
</p>
<p style=" display: 'flex' ">
<app-icon-menus :menus="item.items" :ctrlName = "ctrlName" @menuClick="menuClick"></app-icon-menus>
</p>
</div>
</el-card>
<el-card
:key="index"
shadow="never"
:class="item.textcls"
v-else
>
<div @click="menuClick(item.name,[item.name])" class="menuIcon" >
<span v-if="isIcon(item.icon,item.iconcls)">
<i :class="item.icon" v-if="!Object.is(item.icon, '')" />
<i :class="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<span v-else>
<img :src="item.icon" v-if="!Object.is(item.icon, '')" />
<img :src="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<h4>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</h4>
</div>
</el-card>
</template>
</template>
</div>
</template>
......
......@@ -32,11 +32,14 @@
<!-- 文件上传 -->
<el-upload
v-if = "multiple || files.length === 0"
:limit="multiple ? limit: 1"
:class = "{'el-upload-disabled':disabled}"
:disabled = "disabled"
:action = "uploadUrl"
:headers = "{ 'srfappdata': appData }"
:show-file-list = "false"
:multiple="multiple"
:accept="accept"
list-type = "picture-card"
:file-list = "files"
:before-upload = "beforeUpload"
......@@ -44,6 +47,7 @@
:before-remove = "onRemove"
:on-error = "onError"
:on-preview = "onDownload"
:on-exceed = "handleExceed"
>
<i class="el-icon-plus"></i>
</el-upload>
......@@ -180,6 +184,22 @@ export default class AppImageUpload extends Vue {
*/
@Prop() public customparams?: any;
/**
* 最大允许上传个数
*
* @type {*}
* @memberof AppImageUpload
*/
@Prop({default: 9999}) public limit!: number;
/**
* 接受上传的文件类型
*
* @type {*}
* @memberof AppImageUpload
*/
@Prop({default: 'image/*'}) public accept!: string;
/**
* 上传文件路径
*
......@@ -472,6 +492,15 @@ export default class AppImageUpload extends Vue {
this.dialogImageUrl = file.url;
this.dialogVisible = true;
}
/**
* 处理多选超出
*
* @memberof AppImageUpload
*/
public handleExceed(files: any, fileList: any) {
this.$message.warning(`${this.$t('components.appImageUpload.limitselect')} ${this.limit}`);
}
}
</script>
<style lang = "less">
......
......@@ -68,6 +68,7 @@ function getLocaleResourceBase(){
uploadText: 'Drag files here,or <em>Click</em> to upload',
fileTypeErrorTitle: 'File type incorrect',
fileTypeErrorInfo: 'Please select files with picture types,such as JPEG,GIF,PNG,BMP',
limitselect: 'The current number of restricted choices is ',
},
appFormDRUIPart: {
blockUITipInfo: 'Please save the major data first',
......@@ -208,7 +209,8 @@ function getLocaleResourceBase(){
groupSelect:'Group selection',
},
appImageUpload:{
uploadFail:'Upload failed'
uploadFail:'Upload failed',
limitselect: 'The current number of restricted choices is ',
},
appOrgSelect:{
loadFail:'Failed to load data'
......
......@@ -69,6 +69,7 @@ function getLocaleResourceBase(){
uploadError: '上传失败',
fileTypeErrorTitle: '文件类型错误',
fileTypeErrorInfo: '请选择图片类型的文件,如JPEG,GIF,PNG,BMP',
limitselect: '当前限制选择数量为 ',
},
appFormDRUIPart: {
blockUITipInfo: '请先保存主数据',
......@@ -209,7 +210,8 @@ function getLocaleResourceBase(){
groupSelect:'分组选择',
},
appImageUpload:{
uploadFail:'上传失败'
uploadFail:'上传失败',
limitselect: '当前限制选择数量为 ',
},
appOrgSelect:{
loadFail:'加载数据失败'
......
......@@ -18,6 +18,7 @@ function getLocaleResourceBase(){
status: commonLogic.appcommonhandle("状态",null),
update_time: commonLogic.appcommonhandle("更新时间",null),
create_time: commonLogic.appcommonhandle("创建时间",null),
last_time_format: commonLogic.appcommonhandle("上次执行时间",null),
},
views: {
editview: {
......@@ -62,15 +63,15 @@ function getLocaleResourceBase(){
main_grid: {
columns: {
id: commonLogic.appcommonhandle("主键ID",null),
remark: commonLogic.appcommonhandle("备注",null),
app: commonLogic.appcommonhandle("服务名",null),
remark: commonLogic.appcommonhandle("备注",null),
handler: commonLogic.appcommonhandle("执行器任务HANDLER",null),
cron: commonLogic.appcommonhandle("任务执行CRON",null),
last_time: commonLogic.appcommonhandle("上次调度时间",null),
next_time: commonLogic.appcommonhandle("下次调度时间",null),
status: commonLogic.appcommonhandle("状态",null),
timeout: commonLogic.appcommonhandle("任务执行超时时间(秒)",null),
update_time: commonLogic.appcommonhandle("更新时间",null),
last_time_format: commonLogic.appcommonhandle("上次执行时间",null),
},
nodata:commonLogic.appcommonhandle("",null),
uiactions: {
......@@ -82,6 +83,7 @@ function getLocaleResourceBase(){
n_app_like: commonLogic.appcommonhandle("服务名(文本包含(%))",null),
n_handler_like: commonLogic.appcommonhandle("执行器任务HANDLER(文本包含(%))",null),
n_status_eq: commonLogic.appcommonhandle("状态(等于(=))",null),
n_remark_like: commonLogic.appcommonhandle("备注(文本包含(%))",null),
},
uiactions: {
},
......
......@@ -18,6 +18,7 @@ function getLocaleResourceBase(){
status: commonLogic.appcommonhandle("状态",null),
update_time: commonLogic.appcommonhandle("更新时间",null),
create_time: commonLogic.appcommonhandle("创建时间",null),
last_time_format: commonLogic.appcommonhandle("上次执行时间",null),
},
views: {
editview: {
......@@ -62,15 +63,15 @@ function getLocaleResourceBase(){
main_grid: {
columns: {
id: commonLogic.appcommonhandle("主键ID",null),
remark: commonLogic.appcommonhandle("备注",null),
app: commonLogic.appcommonhandle("服务名",null),
remark: commonLogic.appcommonhandle("备注",null),
handler: commonLogic.appcommonhandle("执行器任务HANDLER",null),
cron: commonLogic.appcommonhandle("任务执行CRON",null),
last_time: commonLogic.appcommonhandle("上次调度时间",null),
next_time: commonLogic.appcommonhandle("下次调度时间",null),
status: commonLogic.appcommonhandle("状态",null),
timeout: commonLogic.appcommonhandle("任务执行超时时间(秒)",null),
update_time: commonLogic.appcommonhandle("更新时间",null),
last_time_format: commonLogic.appcommonhandle("上次执行时间",null),
},
nodata:commonLogic.appcommonhandle("",null),
uiactions: {
......@@ -82,6 +83,7 @@ function getLocaleResourceBase(){
n_app_like: commonLogic.appcommonhandle("服务名(文本包含(%))",null),
n_handler_like: commonLogic.appcommonhandle("执行器任务HANDLER(文本包含(%))",null),
n_status_eq: commonLogic.appcommonhandle("状态(等于(=))",null),
n_remark_like: commonLogic.appcommonhandle("备注(文本包含(%))",null),
},
uiactions: {
},
......
......@@ -18,6 +18,7 @@ function getLocaleResourceBase(){
status: commonLogic.appcommonhandle("状态",null),
update_time: commonLogic.appcommonhandle("更新时间",null),
create_time: commonLogic.appcommonhandle("创建时间",null),
last_time_format: commonLogic.appcommonhandle("上次执行时间",null),
},
views: {
editview: {
......@@ -62,15 +63,15 @@ function getLocaleResourceBase(){
main_grid: {
columns: {
id: commonLogic.appcommonhandle("主键ID",null),
remark: commonLogic.appcommonhandle("备注",null),
app: commonLogic.appcommonhandle("服务名",null),
remark: commonLogic.appcommonhandle("备注",null),
handler: commonLogic.appcommonhandle("执行器任务HANDLER",null),
cron: commonLogic.appcommonhandle("任务执行CRON",null),
last_time: commonLogic.appcommonhandle("上次调度时间",null),
next_time: commonLogic.appcommonhandle("下次调度时间",null),
status: commonLogic.appcommonhandle("状态",null),
timeout: commonLogic.appcommonhandle("任务执行超时时间(秒)",null),
update_time: commonLogic.appcommonhandle("更新时间",null),
last_time_format: commonLogic.appcommonhandle("上次执行时间",null),
},
nodata:commonLogic.appcommonhandle("",null),
uiactions: {
......@@ -82,6 +83,7 @@ function getLocaleResourceBase(){
n_app_like: commonLogic.appcommonhandle("服务名(文本包含(%))",null),
n_handler_like: commonLogic.appcommonhandle("执行器任务HANDLER(文本包含(%))",null),
n_status_eq: commonLogic.appcommonhandle("状态(等于(=))",null),
n_remark_like: commonLogic.appcommonhandle("备注(文本包含(%))",null),
},
uiactions: {
},
......
......@@ -74,6 +74,64 @@ function getLocaleResourceBase(){
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
tbitem4: {
caption: commonLogic.appcommonhandle("编辑",null),
tip: commonLogic.appcommonhandle("编辑",null),
},
tbitem6: {
caption: commonLogic.appcommonhandle("拷贝",null),
tip: commonLogic.appcommonhandle("拷贝",null),
},
tbitem7: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem8: {
caption: commonLogic.appcommonhandle("删除",null),
tip: commonLogic.appcommonhandle("删除",null),
},
tbitem9: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem13: {
caption: commonLogic.appcommonhandle("导出",null),
tip: commonLogic.appcommonhandle("导出",null),
},
tbitem10: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem16: {
caption: commonLogic.appcommonhandle("其它",null),
tip: commonLogic.appcommonhandle("其它",null),
},
tbitem21: {
caption: commonLogic.appcommonhandle("导出数据模型",null),
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
tbitem23: {
caption: commonLogic.appcommonhandle("数据导入",null),
tip: commonLogic.appcommonhandle("数据导入",null),
},
tbitem17: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem19: {
caption: commonLogic.appcommonhandle("过滤",null),
tip: commonLogic.appcommonhandle("过滤",null),
},
tbitem18: {
caption: commonLogic.appcommonhandle("帮助",null),
tip: commonLogic.appcommonhandle("帮助",null),
},
},
};
return data;
}
......
......@@ -74,6 +74,64 @@ function getLocaleResourceBase(){
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: commonLogic.appcommonhandle("New",null),
tip: commonLogic.appcommonhandle("New",null),
},
tbitem4: {
caption: commonLogic.appcommonhandle("Edit",null),
tip: commonLogic.appcommonhandle("Edit {0}",null),
},
tbitem6: {
caption: commonLogic.appcommonhandle("Copy",null),
tip: commonLogic.appcommonhandle("Copy {0}",null),
},
tbitem7: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem8: {
caption: commonLogic.appcommonhandle("Remove",null),
tip: commonLogic.appcommonhandle("Remove {0}",null),
},
tbitem9: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem13: {
caption: commonLogic.appcommonhandle("Export",null),
tip: commonLogic.appcommonhandle("Export {0} Data To Excel",null),
},
tbitem10: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem16: {
caption: commonLogic.appcommonhandle("其它",null),
tip: commonLogic.appcommonhandle("其它",null),
},
tbitem21: {
caption: commonLogic.appcommonhandle("Export Data Model",null),
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
tbitem23: {
caption: commonLogic.appcommonhandle("数据导入",null),
tip: commonLogic.appcommonhandle("数据导入",null),
},
tbitem17: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem19: {
caption: commonLogic.appcommonhandle("Filter",null),
tip: commonLogic.appcommonhandle("Filter",null),
},
tbitem18: {
caption: commonLogic.appcommonhandle("Help",null),
tip: commonLogic.appcommonhandle("Help",null),
},
},
};
return data;
}
......
......@@ -74,6 +74,64 @@ function getLocaleResourceBase(){
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
tbitem4: {
caption: commonLogic.appcommonhandle("编辑",null),
tip: commonLogic.appcommonhandle("编辑",null),
},
tbitem6: {
caption: commonLogic.appcommonhandle("拷贝",null),
tip: commonLogic.appcommonhandle("拷贝",null),
},
tbitem7: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem8: {
caption: commonLogic.appcommonhandle("删除",null),
tip: commonLogic.appcommonhandle("删除",null),
},
tbitem9: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem13: {
caption: commonLogic.appcommonhandle("导出",null),
tip: commonLogic.appcommonhandle("导出",null),
},
tbitem10: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem16: {
caption: commonLogic.appcommonhandle("其它",null),
tip: commonLogic.appcommonhandle("其它",null),
},
tbitem21: {
caption: commonLogic.appcommonhandle("导出数据模型",null),
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
tbitem23: {
caption: commonLogic.appcommonhandle("数据导入",null),
tip: commonLogic.appcommonhandle("数据导入",null),
},
tbitem17: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem19: {
caption: commonLogic.appcommonhandle("过滤",null),
tip: commonLogic.appcommonhandle("过滤",null),
},
tbitem18: {
caption: commonLogic.appcommonhandle("帮助",null),
tip: commonLogic.appcommonhandle("帮助",null),
},
},
};
return data;
}
......
.jobs-log-grid-view{
position: relative;
}
.toolbar-container {
button {
margin: 6px 0px 4px 4px;
.caption {
margin-left: 4px;
}
}
.seperator {
color: #dcdee2;
margin: 0 0px 0 4px;
}
}
// this is less
export * from './project-setting';
\ No newline at end of file
export const ProjectSetting = {
routeSetting: {},
};
......@@ -278,6 +278,10 @@
.start-workflow-select-wraper {
z-index: 3000 !important;
}
// tooltip最大宽度1166px
.el-tooltip__popper.is-dark{
max-width: 1166px;
}
/*** END:多数据视图属性布局 ***/
......
......@@ -52,6 +52,20 @@
</app-form-item>
</i-col>
<i-col v-show="detailsModel.n_remark_like.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 8, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='n_remark_like' :itemRules="this.rules.n_remark_like" class='' :caption="$t('entities.jobsinfo.default_searchform.details.n_remark_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_remark_like.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box
v-model="data.n_remark_like"
@enter="onEnter($event)"
:disabled="detailsModel.n_remark_like.disabled"
type='text'
style="">
</input-box>
</app-form-item>
</i-col>
</row>
</i-col>
......@@ -313,6 +327,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
n_app_like: null,
n_handler_like: null,
n_status_eq: null,
n_remark_like: null,
};
/**
......@@ -329,6 +344,8 @@ export default class DefaultBase extends Vue implements ControlInterface {
n_handler_like: new FormItemModel({ caption: '执行器任务HANDLER(文本包含(%))', detailType: 'FORMITEM', name: 'n_handler_like', visible: true, isShowCaption: true, form: this,required:false, disabled: false, enableCond: 3 })
,
n_status_eq: new FormItemModel({ caption: '状态(等于(=))', detailType: 'FORMITEM', name: 'n_status_eq', visible: true, isShowCaption: true, form: this,required:false, disabled: false, enableCond: 3 })
,
n_remark_like: new FormItemModel({ caption: '备注(文本包含(%))', detailType: 'FORMITEM', name: 'n_remark_like', visible: true, isShowCaption: true, form: this,required:false, disabled: false, enableCond: 3 })
,
};
......@@ -357,6 +374,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
{ required: this.detailsModel.n_status_eq.required, type: 'number', message: '状态(等于(=)) 值不能为空', trigger: 'change' },
{ required: this.detailsModel.n_status_eq.required, type: 'number', message: '状态(等于(=)) 值不能为空', trigger: 'blur' },
],
n_remark_like: [
{ type: 'string', message: '备注(文本包含(%)) 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '备注(文本包含(%)) 值必须为字符串类型', trigger: 'blur' },
{ required: this.detailsModel.n_remark_like.required, type: 'string', message: '备注(文本包含(%)) 值不能为空', trigger: 'change' },
{ required: this.detailsModel.n_remark_like.required, type: 'string', message: '备注(文本包含(%)) 值不能为空', trigger: 'blur' },
],
}
/**
......@@ -395,6 +418,18 @@ export default class DefaultBase extends Vue implements ControlInterface {
this.formDataChange({ name: 'n_status_eq', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 n_remark_like 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@Watch('data.n_remark_like')
onN_remark_likeChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'n_remark_like', newVal: newVal, oldVal: oldVal });
}
/**
* 重置表单项值
......@@ -419,6 +454,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
}
/**
......
......@@ -40,6 +40,11 @@ export default class DefaultModel {
prop: 'status',
dataType: 'NSCODELIST',
},
{
name: 'n_remark_like',
prop: 'remark',
dataType: 'TEXT',
},
]
}
......
......@@ -35,27 +35,27 @@
</template>
</el-table-column>
</template>
<template v-if="getColumnState('remark')">
<el-table-column show-overflow-tooltip :prop="'remark'" :label="$t('entities.jobsinfo.main_grid.columns.remark')" :width="250" :align="'left'" :sortable="'custom'">
<template v-if="getColumnState('app')">
<el-table-column show-overflow-tooltip :prop="'app'" :label="$t('entities.jobsinfo.main_grid.columns.app')" :width="100" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.jobsinfo.main_grid.columns.remark')}}
{{$t('entities.jobsinfo.main_grid.columns.app')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.remark}}</span>
<span>{{row.app}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('app')">
<el-table-column show-overflow-tooltip :prop="'app'" :label="$t('entities.jobsinfo.main_grid.columns.app')" :width="200" :align="'left'" :sortable="'custom'">
<template v-if="getColumnState('remark')">
<el-table-column show-overflow-tooltip :prop="'remark'" :label="$t('entities.jobsinfo.main_grid.columns.remark')" :width="250" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.jobsinfo.main_grid.columns.app')}}
{{$t('entities.jobsinfo.main_grid.columns.remark')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.app}}</span>
<span>{{row.remark}}</span>
</template>
</el-table-column>
</template>
......@@ -133,15 +133,15 @@
</template>
</el-table-column>
</template>
<template v-if="getColumnState('update_time')">
<el-table-column show-overflow-tooltip :prop="'update_time'" :label="$t('entities.jobsinfo.main_grid.columns.update_time')" :width="200" :align="'left'" :sortable="'custom'">
<template v-if="getColumnState('last_time_format')">
<el-table-column show-overflow-tooltip :prop="'last_time_format'" :label="$t('entities.jobsinfo.main_grid.columns.last_time_format')" :width="100" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.jobsinfo.main_grid.columns.update_time')}}
{{$t('entities.jobsinfo.main_grid.columns.last_time_format')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<app-format-data format="YYYY-MM-DD HH:mm:ss" :data="row.update_time"></app-format-data>
<span>{{row.last_time_format}}</span>
</template>
</el-table-column>
</template>
......@@ -714,18 +714,18 @@ export default class MainBase extends Vue implements ControlInterface {
enableCond: 3 ,
},
{
name: 'remark',
label: '备注',
langtag: 'entities.jobsinfo.main_grid.columns.remark',
name: 'app',
label: '服务名',
langtag: 'entities.jobsinfo.main_grid.columns.app',
show: true,
unit: 'PX',
isEnableRowEdit: false,
enableCond: 3 ,
},
{
name: 'app',
label: '服务名',
langtag: 'entities.jobsinfo.main_grid.columns.app',
name: 'remark',
label: '备注',
langtag: 'entities.jobsinfo.main_grid.columns.remark',
show: true,
unit: 'PX',
isEnableRowEdit: false,
......@@ -786,9 +786,9 @@ export default class MainBase extends Vue implements ControlInterface {
enableCond: 3 ,
},
{
name: 'update_time',
label: '更新时间',
langtag: 'entities.jobsinfo.main_grid.columns.update_time',
name: 'last_time_format',
label: '上次执行时间',
langtag: 'entities.jobsinfo.main_grid.columns.last_time_format',
show: true,
unit: 'PX',
isEnableRowEdit: false,
......@@ -1509,7 +1509,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public arraySpanMethod({row, column, rowIndex, columnIndex} : any) {
let allColumns:Array<any> = ['id','remark','app','handler','cron','last_time','next_time','status','timeout','update_time'];
let allColumns:Array<any> = ['id','app','remark','handler','cron','last_time','next_time','status','timeout','last_time_format'];
if(row && row.children) {
if(columnIndex == (this.isSingleSelect ? 0:1)) {
return [1, allColumns.length+1];
......@@ -1590,15 +1590,15 @@ export default class MainBase extends Vue implements ControlInterface {
groupById: Number((i+1)*100),
group: group.label,
id:'',
remark:'',
app:'',
remark:'',
handler:'',
cron:'',
last_time:'',
next_time:'',
status:'',
timeout:'',
update_time:'',
last_time_format:'',
children: children
}
groupTree.push(tree);
......@@ -1626,15 +1626,15 @@ export default class MainBase extends Vue implements ControlInterface {
groupById: Number((allGroup.length+1)*100),
group: this.$t('app.gridpage.other'),
id:'',
remark:'',
app:'',
remark:'',
handler:'',
cron:'',
last_time:'',
next_time:'',
status:'',
timeout:'',
update_time:'',
last_time_format:'',
children: child
}
if(child && child.length > 0){
......@@ -1682,15 +1682,15 @@ export default class MainBase extends Vue implements ControlInterface {
groupById: Number((groupIndex+1)*100),
group: group,
id:'',
remark:'',
app:'',
remark:'',
handler:'',
cron:'',
last_time:'',
next_time:'',
status:'',
timeout:'',
update_time:'',
last_time_format:'',
children: children,
}
groupTree.push(tree);
......
......@@ -32,13 +32,13 @@ export default class MainModel {
dataType: 'TEXT',
},
{
name: 'remark',
prop: 'remark',
name: 'app',
prop: 'app',
dataType: 'TEXT',
},
{
name: 'app',
prop: 'app',
name: 'remark',
prop: 'remark',
dataType: 'TEXT',
},
{
......@@ -72,9 +72,9 @@ export default class MainModel {
dataType: 'INT',
},
{
name: 'update_time',
prop: 'update_time',
dataType: 'DATETIME',
name: 'last_time_format',
prop: 'last_time_format',
dataType: 'TEXT',
},
{
name: 'srfkey',
......@@ -111,6 +111,11 @@ export default class MainModel {
prop: 'n_status_eq',
dataType: 'QUERYPARAM'
},
{
name: 'n_remark_like',
prop: 'n_remark_like',
dataType: 'QUERYPARAM'
},
{
name:'size',
......
......@@ -37,12 +37,6 @@
git clone -b master $para2 ibztask/
export NODE_OPTIONS=--max-old-space-size=4096
cd ibztask/
mvn clean package -Papi
mvn install -Papi
cd ibztask-provider/ibztask-provider-api
mvn -Papi docker:build
mvn -Papi docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibztask-provider-api.yaml ibzlab-rt --with-registry-auth
</command>
</hudson.tasks.Shell>
</builders>
......
......@@ -40,6 +40,13 @@ public class JobsInfoSearchContext extends QueryWrapperContext<JobsInfo> {
if(!ObjectUtils.isEmpty(this.n_handler_like)){
this.getSearchCond().like("handler", n_handler_like);
}
}
private String n_remark_like;//[备注]
public void setN_remark_like(String n_remark_like) {
this.n_remark_like = n_remark_like;
if(!ObjectUtils.isEmpty(this.n_remark_like)){
this.getSearchCond().like("remark", n_remark_like);
}
}
private Integer n_status_eq;//[状态]
public void setN_status_eq(Integer n_status_eq) {
......
......@@ -205,8 +205,8 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i
@Transactional
public JobsInfo stop(JobsInfo et) {
et.set("Last_time","0");
et.set("Status","1");
et.set("Next_time","0");
et.set("Status","1");
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-23-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-2-3">
<changeSet author="root" id="tab-jobs_log-6-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"/>
......
......@@ -7,7 +7,7 @@
<![CDATA[select t1.* from (SELECT t1.`APP`, t1.`AUTHOR`, t1.`CREATE_TIME`, t1.`CRON`, t1.`FAIL_RETRY_COUNT`, t1.`HANDLER`, t1.`ID`, t1.`LAST_TIME`, t1.`NEXT_TIME`, t1.`PARAM`, t1.`REMARK`, t1.`STATUS`, t1.`TENANT_ID`, t1.`TIMEOUT`, t1.`UPDATE_TIME` FROM `JOBS_INFO` t1 ) t1 where id=#{id}]]>
</select>
<select id="selectById" resultMap="JobsInfoResultMap" databaseId="oracle">
<![CDATA[select t1.* from (SELECT t1.APP, t1.AUTHOR, t1.CREATE_TIME, t1.CRON, t1.FAIL_RETRY_COUNT, t1.HANDLER, t1.ID, t1.LAST_TIME, t1.NEXT_TIME, t1.PARAM, t1.REMARK, t1.STATUS, t1.TENANT_ID, t1.TIMEOUT, t1.UPDATE_TIME FROM JOBS_INFO t1 ) t1 where id=#{id}]]>
<![CDATA[select t1.* from (SELECT t1.APP, t1.AUTHOR, t1.CREATE_TIME, t1.CRON, t1.FAIL_RETRY_COUNT, t1.HANDLER, t1.ID, t1.LAST_TIME, t1.LAST_TIME AS LAST_TIME_FORMAT, t1.NEXT_TIME, t1.PARAM, t1.REMARK, t1.STATUS, t1.TENANT_ID, t1.TIMEOUT, t1.UPDATE_TIME FROM JOBS_INFO t1 ) t1 where id=#{id}]]>
</select>
<select id="selectById" resultMap="JobsInfoResultMap" databaseId="postgresql">
<![CDATA[select t1.* from (SELECT t1.APP, t1.AUTHOR, t1.CREATE_TIME, t1.CRON, t1.FAIL_RETRY_COUNT, t1.HANDLER, t1.ID, t1.LAST_TIME, t1.NEXT_TIME, t1.PARAM, t1.REMARK, t1.STATUS, t1.TENANT_ID, t1.TIMEOUT, t1.UPDATE_TIME FROM JOBS_INFO t1 ) t1 where id=#{id}]]>
......@@ -22,6 +22,7 @@
<result property="nextTime" column="next_time" />
<result property="updateTime" column="update_time" />
<result property="createTime" column="create_time" />
<result property="lastTimeFormat" column="last_time_format" />
</resultMap>
......@@ -43,7 +44,7 @@
</sql>
<!--数据查询[Default]-->
<sql id="Default" databaseId="oracle">
<![CDATA[ SELECT t1.APP, t1.AUTHOR, t1.CREATE_TIME, t1.CRON, t1.FAIL_RETRY_COUNT, t1.HANDLER, t1.ID, t1.LAST_TIME, t1.NEXT_TIME, t1.PARAM, t1.REMARK, t1.STATUS, t1.TENANT_ID, t1.TIMEOUT, t1.UPDATE_TIME FROM JOBS_INFO t1
<![CDATA[ SELECT t1.APP, t1.AUTHOR, t1.CREATE_TIME, t1.CRON, t1.FAIL_RETRY_COUNT, t1.HANDLER, t1.ID, t1.LAST_TIME, t1.LAST_TIME AS LAST_TIME_FORMAT, t1.NEXT_TIME, t1.PARAM, t1.REMARK, t1.STATUS, t1.TENANT_ID, t1.TIMEOUT, t1.UPDATE_TIME FROM JOBS_INFO t1
]]>
</sql>
<!--数据查询[Default]-->
......@@ -58,7 +59,7 @@
</sql>
<!--数据查询[View]-->
<sql id="View" databaseId="oracle">
<![CDATA[ SELECT t1.APP, t1.AUTHOR, t1.CREATE_TIME, t1.CRON, t1.FAIL_RETRY_COUNT, t1.HANDLER, t1.ID, t1.LAST_TIME, t1.NEXT_TIME, t1.PARAM, t1.REMARK, t1.STATUS, t1.TENANT_ID, t1.TIMEOUT, t1.UPDATE_TIME FROM JOBS_INFO t1
<![CDATA[ SELECT t1.APP, t1.AUTHOR, t1.CREATE_TIME, t1.CRON, t1.FAIL_RETRY_COUNT, t1.HANDLER, t1.ID, t1.LAST_TIME, t1.LAST_TIME AS LAST_TIME_FORMAT, t1.NEXT_TIME, t1.PARAM, t1.REMARK, t1.STATUS, t1.TENANT_ID, t1.TIMEOUT, t1.UPDATE_TIME FROM JOBS_INFO t1
]]>
</sql>
<!--数据查询[View]-->
......
......@@ -216,6 +216,21 @@
"key_field":0,
"show_order":22,
"major_field":0
},
{
"fieldname":"LAST_TIME_FORMAT" ,
"codename":"Last_time_format",
"field_logic_name":"上次执行时间",
"entity_name":"JOBS_INFO",
"field_type":"TEXT",
"nullable":1,
"physical_field":0,
"data_type":"VARCHAR",
"data_length":200,
"expression":"%1$s",
"key_field":0,
"show_order":1000,
"major_field":0
}
],
"subEntitys":[
......
......@@ -10,6 +10,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Duser.timezone=$TZ -Djava.security.egd=file:/dev/./urandom -jar /ibztask-provider-api.jar
EXPOSE 40005
EXPOSE 8081
ADD ibztask-provider-api.jar /ibztask-provider-api.jar
......@@ -22,34 +22,7 @@ spec:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibztask-provider-api:latest
imagePullPolicy: Always
ports:
- containerPort: 40005
env:
- name: SPRING_CLOUD_NACOS_DISCOVERY_IP
value: "172.16.180.237"
- name: SERVER_PORT
value: "40005"
- name: SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR
value: "172.16.100.243:8848"
- name: SPRING_REDIS_HOST
value: "172.16.100.243"
- name: SPRING_REDIS_PORT
value: "6379"
- name: SPRING_REDIS_DATABASE
value: "0"
- name: SPRING_DATASOURCE_USERNAME
value: "a_A_5d9d78509"
- name: SPRING_DATASOURCE_PASSWORD
value: "@6dEfb3@"
- name: SPRING_DATASOURCE_URL
value: "jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true&serverTimezone=GMT%2B8"
- name: SPRING_DATASOURCE_DRIVER-CLASS-NAME
value: "com.mysql.jdbc.Driver"
- name: SPRING_DATASOURCE_DEFAULTSCHEMA
value: "a_A_5d9d78509"
- name: NACOS
value: "172.16.100.243:8848"
- name: SPRING_CLOUD_NACOS_DISCOVERY_GROUP
value: "ibizdev"
- containerPort: 8081
volumeMounts:
- name: data
mountPath: /app/file
......@@ -69,9 +42,9 @@ spec:
type: NodePort
ports:
- name: http
port: 40005
targetPort: 40005
nodePort: 40005
port: 8081
targetPort: 8081
nodePort: 8081
protocol: TCP
selector:
app: ibztask-provider-api
......
......@@ -3,29 +3,9 @@ services:
ibztask-provider-api:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibztask-provider-api:latest
ports:
- "40005:40005"
- "8081:8081"
networks:
- agent_network
#logging:
# driver: loki
# options:
# loki-url: "http://172.16.240.111:3100/loki/api/v1/push"
# max-size: "50m"
# max-file: "10"
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=40005
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.100.243:8848
- SPRING_REDIS_HOST=172.16.100.243
- SPRING_REDIS_PORT=6379
- SPRING_REDIS_DATABASE=0
- SPRING_DATASOURCE_USERNAME=a_A_5d9d78509
- SPRING_DATASOURCE_PASSWORD=@6dEfb3@
- SPRING_DATASOURCE_URL=jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true&serverTimezone=GMT%2B8
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
- NACOS=172.16.100.243:8848
- SPRING_CLOUD_NACOS_DISCOVERY_GROUP=ibizdev
deploy:
resources:
limits:
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册