提交 a367d980 编写于 作者: sq3536's avatar sq3536

Merge remote-tracking branch 'origin/master'

<template> <template>
<el-breadcrumb class="app-breadcrumb" separator="/"> <el-breadcrumb class="app-breadcrumb" separator="/">
<transition-group name="breadcrumb"> <transition-group name="breadcrumb">
<el-breadcrumb-item v-for="(item, index) in breadcrumbs" :key="item.id"> <template v-if="Object.is(this.navModel,'route')">
<span v-if="index === breadcrumbs.length-1" class="no-redirect">{{ item.title }} <el-breadcrumb-item v-for="(item, index) in breadcrumbs" :key="item.id">
<span v-if="item.isselected === true"> <span v-if="index === breadcrumbs.length-1" class="no-redirect">{{ item.title }}
<dropdown trigger='click' @on-click="selectNavData($event,item)"> <span v-if="item.isselected === true">
<span class="app-breadcrumb-selected"> <dropdown trigger='click' @on-click="selectNavData($event,item)">
<i class="el-icon-caret-bottom"></i> <span class="app-breadcrumb-selected">
</span> <i class="el-icon-caret-bottom"></i>
<dropdown-menu slot='list'> </span>
<dropdown-item v-for="(dataitem) in getPreNavData(item)" :name="dataitem.srfkey" :key="dataitem.srfkey"> <dropdown-menu slot='list'>
<span :class="{'curselected':isCurSelected(item,dataitem)}">{{dataitem.srfmajortext}}</span> <dropdown-item v-for="(dataitem) in getPreNavData(item)" :name="dataitem.srfkey" :key="dataitem.srfkey">
</dropdown-item> <span :class="{'curselected':isCurSelected(item,dataitem)}">{{dataitem.srfmajortext}}</span>
</dropdown-menu> </dropdown-item>
</dropdown> </dropdown-menu>
</dropdown>
</span>
</span> </span>
</span> <a v-else @click.prevent="handleLink(item)">{{ item.title }}</a>
<a v-else @click.prevent="handleLink(item)">{{ item.title }}</a> </el-breadcrumb-item>
</el-breadcrumb-item> </template>
<template v-if="!Object.is(this.navModel,'route')">
<el-breadcrumb-item v-for="(item, index) in breadcrumbs" :key="item.path">
<span v-if="index === breadcrumbs.length-1" class="no-redirect" >{{ $t(item.meta.caption)}}</span>
<a v-else @click.prevent="handleLink(item)" >{{ $t(item.meta.caption) }}</a>
</el-breadcrumb-item>
</template>
</transition-group> </transition-group>
</el-breadcrumb> </el-breadcrumb>
</template> </template>
...@@ -54,6 +62,24 @@ export default class Breadcrumb extends Vue { ...@@ -54,6 +62,24 @@ export default class Breadcrumb extends Vue {
*/ */
@Prop() public indexViewTag!: string; @Prop() public indexViewTag!: string;
/**
* 导航模式
*
* @memberof Breadcrumb
*/
@Prop({default:'tab'}) public navModel?:string;
/**
* 监听路由
*
* @memberof Breadcrumb
*/
@Watch('$route')
private onRouteChange(route: Route) {
this.getBreadcrumb()
}
/** /**
* 导航服务事件 * 导航服务事件
* *
...@@ -70,11 +96,13 @@ export default class Breadcrumb extends Vue { ...@@ -70,11 +96,13 @@ export default class Breadcrumb extends Vue {
*/ */
created() { created() {
this.getBreadcrumb(); this.getBreadcrumb();
this.serviceStateEvent = this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => { if(Object.is(this.navModel,"route")){
if (Object.is(action, 'datarefresh')) { this.serviceStateEvent = this.navDataService.serviceState.subscribe(({ action,name, data }:{ action:string,name:any,data:any }) => {
this.getBreadcrumb(); if (Object.is(action, 'datarefresh')) {
} this.getBreadcrumb();
}); }
});
}
} }
/** /**
...@@ -83,8 +111,14 @@ export default class Breadcrumb extends Vue { ...@@ -83,8 +111,14 @@ export default class Breadcrumb extends Vue {
* @memberof Breadcrumb * @memberof Breadcrumb
*/ */
private getBreadcrumb() { private getBreadcrumb() {
this.breadcrumbs = this.navDataService.getNavData(); if(Object.is(this.navModel,"route")){
this.$forceUpdate(); this.breadcrumbs = this.navDataService.getNavData();
this.$forceUpdate();
}else{
this.breadcrumbs = this.$route.matched.filter((item) => {
return item.meta && item.meta.caption
})
}
} }
/** /**
...@@ -112,16 +146,31 @@ export default class Breadcrumb extends Vue { ...@@ -112,16 +146,31 @@ export default class Breadcrumb extends Vue {
* @memberof Breadcrumb * @memberof Breadcrumb
*/ */
private handleLink(item: any) { private handleLink(item: any) {
// 首页 if(Object.is(this.navModel,"route")){
if(Object.is(item.id,this.indexViewTag)){ // 首页
this.$router.push((window.sessionStorage.getItem(Environment.AppName))as string); if(Object.is(item.id,this.indexViewTag)){
this.$router.push((window.sessionStorage.getItem(Environment.AppName))as string);
}else{
// 非首页
this.$router.push(item.path).catch(err => {
console.warn(err);
});
}
this.navDataService.removeNavData(item.id);
}else{ }else{
// 非首页 if(item && item.meta && item.meta.viewType && Object.is(item.meta.viewType,"APPINDEX")){
this.$router.push(item.path).catch(err => { let path: string | null = window.sessionStorage.getItem(Environment.AppName);
console.warn(err); if (path) {
}); this.$router.push({ path: path });
} else {
this.$router.push("/");
}
}else{
this.$router.push(item).catch(err => {
console.warn(err);
});
}
} }
this.navDataService.removeNavData(item.id);
} }
/** /**
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<div class="page-logo"> <div class="page-logo">
<i v-show="!collapseChange" class="ivu-icon el-icon-s-fold" @click="handleClick"></i> <i v-show="!collapseChange" class="ivu-icon el-icon-s-fold" @click="handleClick"></i>
<i v-show="collapseChange" class="ivu-icon el-icon-s-unfold" @click="handleClick"></i> <i v-show="collapseChange" class="ivu-icon el-icon-s-unfold" @click="handleClick"></i>
<app-breadcrumb v-if="Object.is(navModel,'route')" indexViewTag="task-index-view"></app-breadcrumb> <app-breadcrumb :navModel="navModel" indexViewTag="task-index-view"></app-breadcrumb>
</div> </div>
</div> </div>
<div class="header-right" style="display: flex;align-items: center;justify-content: space-between;"> <div class="header-right" style="display: flex;align-items: center;justify-content: space-between;">
...@@ -511,7 +511,7 @@ export default class TaskIndexViewBase extends Vue { ...@@ -511,7 +511,7 @@ export default class TaskIndexViewBase extends Vue {
* @type {string} * @type {string}
* @memberof TaskIndexViewBase * @memberof TaskIndexViewBase
*/ */
public navModel:string = "route"; public navModel:string = "tab";
/** /**
* 抽屉状态 * 抽屉状态
......
...@@ -228,6 +228,24 @@ export default class NavDataService { ...@@ -228,6 +228,24 @@ export default class NavDataService {
} }
} }
/**
* 从导航数据栈中删除指定数据上层数据(不清除页面缓存)
*
* @memberof NavDataService
*/
public removeNavDataWithoutCache(id:string){
if(this.navDataStack.length >0){
let tempIndex:number = this.navDataStack.findIndex((element:NavDataElement) =>{
return Object.is(element.id,id);
})
let removeNavData = this.navDataStack.splice(tempIndex+1);
this.sessionStore.setItem('srfnavdata',JSON.stringify(this.navDataStack));
return removeNavData;
}else{
return null;
}
}
/** /**
* 从导航数据栈中获取指定数据 * 从导航数据栈中获取指定数据
* *
......
...@@ -576,7 +576,11 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface { ...@@ -576,7 +576,11 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface {
public click(item: any) { public click(item: any) {
if (item) { if (item) {
let navDataService = NavDataService.getInstance(this.$store); let navDataService = NavDataService.getInstance(this.$store);
navDataService.removeNavData(this.viewtag); if(Object.is(this.navModel,"route")){
navDataService.removeNavData(this.viewtag);
}else{
navDataService.removeNavDataWithoutCache(this.viewtag);
}
switch (item.appfunctag) { switch (item.appfunctag) {
case '_4': case '_4':
this.click_4(item); this.click_4(item);
...@@ -609,7 +613,7 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface { ...@@ -609,7 +613,7 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface {
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'gridview', parameterName: 'gridview' },
]; ];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam); const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.path,path)){ if(Object.is(this.$route.fullPath,path)){
return; return;
} }
this.$nextTick(function(){ this.$nextTick(function(){
...@@ -632,7 +636,7 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface { ...@@ -632,7 +636,7 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface {
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'gridview', parameterName: 'gridview' },
]; ];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam); const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.path,path)){ if(Object.is(this.$route.fullPath,path)){
return; return;
} }
this.$nextTick(function(){ this.$nextTick(function(){
...@@ -655,7 +659,7 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface { ...@@ -655,7 +659,7 @@ export default class TaskIndexViewBase extends Vue implements ControlInterface {
{ pathName: 'gridview', parameterName: 'gridview' }, { pathName: 'gridview', parameterName: 'gridview' },
]; ];
const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam); const path: string = this.$viewTool.buildUpRoutePath(this.$route, {}, deResParameters, parameters, [], viewparam);
if(Object.is(this.$route.path,path)){ if(Object.is(this.$route.fullPath,path)){
return; return;
} }
this.$nextTick(function(){ this.$nextTick(function(){
......
...@@ -93,13 +93,15 @@ ...@@ -93,13 +93,15 @@
</i-col> </i-col>
<i-col v-show="detailsModel.create_time.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.create_time.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='create_time' :itemRules="this.rules.create_time" class='' :caption="$t('entities.jobsinfo.main_form.details.create_time')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.create_time.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='create_time' :itemRules="this.rules.create_time" class='' :caption="$t('entities.jobsinfo.main_form.details.create_time')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.create_time.error" :isEmptyCaption="false" labelPos="LEFT">
<date-picker type="datetime" :transfer="true" format="yyyy-MM-dd HH:mm:ss" placeholder="请选择时间..." :value="data.create_time" :disabled="detailsModel.create_time.disabled" style="min-width: 150px; width:160px;" @on-change="(val1, val2) => { this.data.create_time = val1 }"></date-picker>
<app-span name='create_time' :value="data.create_time" :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""></app-span>
</app-form-item> </app-form-item>
</i-col> </i-col>
<i-col v-show="detailsModel.update_time.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.update_time.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='update_time' :itemRules="this.rules.update_time" class='' :caption="$t('entities.jobsinfo.main_form.details.update_time')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.update_time.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='update_time' :itemRules="this.rules.update_time" class='' :caption="$t('entities.jobsinfo.main_form.details.update_time')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.update_time.error" :isEmptyCaption="false" labelPos="LEFT">
<date-picker type="datetime" :transfer="true" format="yyyy-MM-dd HH:mm:ss" placeholder="请选择时间..." :value="data.update_time" :disabled="detailsModel.update_time.disabled" style="min-width: 150px; width:160px;" @on-change="(val1, val2) => { this.data.update_time = val1 }"></date-picker>
<app-span name='update_time' :value="data.update_time" :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""></app-span>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -587,8 +589,8 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -587,8 +589,8 @@ export default class MainBase extends Vue implements ControlInterface {
create_time: [ create_time: [
{ type: 'string', message: '创建时间 值必须为字符串类型', trigger: 'change' }, { type: 'string', message: '创建时间 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '创建时间 值必须为字符串类型', trigger: 'blur' }, { type: 'string', message: '创建时间 值必须为字符串类型', trigger: 'blur' },
{ required: true, type: 'string', message: '创建时间 值不能为空', trigger: 'change' }, { required: false, type: 'string', message: '创建时间 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '创建时间 值不能为空', trigger: 'blur' }, { required: false, type: 'string', message: '创建时间 值不能为空', trigger: 'blur' },
], ],
update_time: [ update_time: [
{ type: 'string', message: '更新时间 值必须为字符串类型', trigger: 'change' }, { type: 'string', message: '更新时间 值必须为字符串类型', trigger: 'change' },
......
...@@ -46,6 +46,12 @@ ...@@ -46,6 +46,12 @@
margin-bottom: unset !important; margin-bottom: unset !important;
} }
} }
.el-table__body td{
padding:0;
}
.app-form-item{
margin-top: 20px;
}
} }
.grid-pagination { .grid-pagination {
height: 50px; height: 50px;
......
...@@ -20,8 +20,7 @@ ...@@ -20,8 +20,7 @@
</i-col> </i-col>
<i-col v-show="detailsModel.param.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.param.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='param' :itemRules="this.rules.param" class='' :caption="$t('entities.jobslog.main_form.details.param')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.param.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='param' :itemRules="this.rules.param" class='' :caption="$t('entities.jobslog.main_form.details.param')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.param.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.param" :autoSize="{minRows: 10}" :disabled="detailsModel.param.disabled" type='textarea' style="height:200px;" ></input-box> <input-box v-model="data.param" :disabled="detailsModel.param.disabled" type='textarea' style="" ></input-box>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -45,8 +44,7 @@ ...@@ -45,8 +44,7 @@
</i-col> </i-col>
<i-col v-show="detailsModel.trigger_msg.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.trigger_msg.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='trigger_msg' :itemRules="this.rules.trigger_msg" class='' :caption="$t('entities.jobslog.main_form.details.trigger_msg')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.trigger_msg.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='trigger_msg' :itemRules="this.rules.trigger_msg" class='' :caption="$t('entities.jobslog.main_form.details.trigger_msg')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.trigger_msg.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.trigger_msg" :autoSize="{minRows: 10}" :disabled="detailsModel.trigger_msg.disabled" type='textarea' style="height:200px;" ></input-box> <input-box v-model="data.trigger_msg" :disabled="detailsModel.trigger_msg.disabled" type='textarea' style="" ></input-box>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -58,7 +56,8 @@ ...@@ -58,7 +56,8 @@
</i-col> </i-col>
<i-col v-show="detailsModel.create_time.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.create_time.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='create_time' :itemRules="this.rules.create_time" class='' :caption="$t('entities.jobslog.main_form.details.create_time')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.create_time.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='create_time' :itemRules="this.rules.create_time" class='' :caption="$t('entities.jobslog.main_form.details.create_time')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.create_time.error" :isEmptyCaption="false" labelPos="LEFT">
<date-picker type="datetime" :transfer="true" format="yyyy-MM-dd HH:mm:ss" placeholder="请选择时间..." :value="data.create_time" :disabled="detailsModel.create_time.disabled" style="min-width: 150px; width:160px;" @on-change="(val1, val2) => { this.data.create_time = val1 }"></date-picker>
<app-span name='create_time' :value="data.create_time" :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""></app-span>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -517,8 +516,8 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -517,8 +516,8 @@ export default class MainBase extends Vue implements ControlInterface {
create_time: [ create_time: [
{ type: 'string', message: '创建时间 值必须为字符串类型', trigger: 'change' }, { type: 'string', message: '创建时间 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '创建时间 值必须为字符串类型', trigger: 'blur' }, { type: 'string', message: '创建时间 值必须为字符串类型', trigger: 'blur' },
{ required: true, type: 'string', message: '创建时间 值不能为空', trigger: 'change' }, { required: false, type: 'string', message: '创建时间 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '创建时间 值不能为空', trigger: 'blur' }, { required: false, type: 'string', message: '创建时间 值不能为空', trigger: 'blur' },
], ],
id: [ id: [
{ type: 'string', message: '主键ID 值必须为字符串类型', trigger: 'change' }, { type: 'string', message: '主键ID 值必须为字符串类型', trigger: 'change' },
......
...@@ -46,6 +46,12 @@ ...@@ -46,6 +46,12 @@
margin-bottom: unset !important; margin-bottom: unset !important;
} }
} }
.el-table__body td{
padding:0;
}
.app-form-item{
margin-top: 20px;
}
} }
.grid-pagination { .grid-pagination {
height: 50px; height: 50px;
......
...@@ -46,6 +46,12 @@ ...@@ -46,6 +46,12 @@
margin-bottom: unset !important; margin-bottom: unset !important;
} }
} }
.el-table__body td{
padding:0;
}
.app-form-item{
margin-top: 20px;
}
} }
.grid-pagination { .grid-pagination {
height: 50px; height: 50px;
......
...@@ -37,11 +37,6 @@ ...@@ -37,11 +37,6 @@
git clone -b master $para2 ibztask/ git clone -b master $para2 ibztask/
export NODE_OPTIONS=--max-old-space-size=4096 export NODE_OPTIONS=--max-old-space-size=4096
cd ibztask/ cd ibztask/
mvn clean package -Pweb
cd ibztask-app/ibztask-app-web
mvn -Pweb docker:build
mvn -Pweb docker:push
docker -H $para1 stack deploy --compose-file=src/main/docker/ibztask-app-web.yaml ibzlab-rt --with-registry-auth
</command> </command>
</hudson.tasks.Shell> </hudson.tasks.Shell>
</builders> </builders>
......
...@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \ ...@@ -9,6 +9,6 @@ CMD echo "The application will start in ${IBIZ_SLEEP}s..." && \
sleep ${IBIZ_SLEEP} && \ sleep ${IBIZ_SLEEP} && \
java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibztask-app-web.jar java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /ibztask-app-web.jar
EXPOSE 30005 EXPOSE 8080
ADD ibztask-app-web.jar /ibztask-app-web.jar ADD ibztask-app-web.jar /ibztask-app-web.jar
...@@ -3,22 +3,9 @@ services: ...@@ -3,22 +3,9 @@ services:
ibztask-app-web: ibztask-app-web:
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibztask-app-web:latest image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibztask-app-web:latest
ports: ports:
- "30005:30005" - "8080:8080"
networks: networks:
- agent_network - agent_network
environment:
- SPRING_CLOUD_NACOS_DISCOVERY_IP=172.16.180.237
- SERVER_PORT=30005
- SPRING_CLOUD_NACOS_DISCOVERY_SERVER-ADDR=172.16.102.211: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
- SPRING_DATASOURCE_DRIVER-CLASS-NAME=com.mysql.jdbc.Driver
- SPRING_DATASOURCE_DEFAULTSCHEMA=a_A_5d9d78509
- NACOS=172.16.102.211:8848
deploy: deploy:
resources: resources:
limits: limits:
......
...@@ -50,8 +50,8 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i ...@@ -50,8 +50,8 @@ public class JobsInfoServiceImpl extends ServiceImpl<JobsInfoMapper, JobsInfo> i
@Override @Override
@Transactional @Transactional
public JobsInfo start(JobsInfo et) { public JobsInfo start(JobsInfo et) {
et.set("Status","0");
et.set("Last_time","0"); et.set("Last_time","0");
et.set("Status","0");
update(et); update(et);
return et; return et;
} }
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<!--输出实体[JOBS_INFO]数据结构 --> <!--输出实体[JOBS_INFO]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-jobs_info-100-1"> <changeSet author="a_A_5d9d78509" id="tab-jobs_info-103-1">
<createTable tableName="JOBS_INFO"> <createTable tableName="JOBS_INFO">
<column name="ID" remarks="" type="VARCHAR(100)"> <column name="ID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_JOBS_INFO_ID"/> <constraints primaryKey="true" primaryKeyName="PK_JOBS_INFO_ID"/>
...@@ -76,7 +76,7 @@ ...@@ -76,7 +76,7 @@
<!--输出实体[JOBS_LOG]数据结构 --> <!--输出实体[JOBS_LOG]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-jobs_log-57-4"> <changeSet author="a_A_5d9d78509" id="tab-jobs_log-59-4">
<createTable tableName="JOBS_LOG"> <createTable tableName="JOBS_LOG">
<column name="ID" remarks="" type="VARCHAR(100)"> <column name="ID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_JOBS_LOG_ID"/> <constraints primaryKey="true" primaryKeyName="PK_JOBS_LOG_ID"/>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册