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

ibiz4j 发布系统代码

上级 03a64a13
## v7.0.0-alpha.12 [2020-7-2]
### Bug修复
修复mpicker解析调整
修复表格列class逻辑调整
修复面板标签,隐藏表单项
修复嵌入视图导航服务逻辑调整
修复选择多数据视图选择数据异常
修复多行输入十行 高度问题
### 功能新增及优化
#### 模板
新增表单显示更多模式(658)
新增首页应用切换器(658)
新增状态向导面板(658)
优化门户操作栏
优化应用级数据状态同步功能
#### 基础文件
新增修改密码功能(654)
## v7.0.0-alpha.11 [2020-6-21] ## v7.0.0-alpha.11 [2020-6-21]
### Bug修复 ### Bug修复
......
...@@ -76,6 +76,7 @@ import ContextMenuDrag from './components/context-menu-drag/context-menu-drag.vu ...@@ -76,6 +76,7 @@ import ContextMenuDrag from './components/context-menu-drag/context-menu-drag.vu
import AppOrgSelect from './components/app-org-select/app-org-select.vue' import AppOrgSelect from './components/app-org-select/app-org-select.vue'
import AppDepartmentSelect from './components/app-department-select/app-department-select.vue' import AppDepartmentSelect from './components/app-department-select/app-department-select.vue'
import AppGroupSelect from './components/app-group-select/app-group-select.vue' import AppGroupSelect from './components/app-group-select/app-group-select.vue'
import UpdatePwd from './components/app-update-password/app-update-password.vue'
// 全局挂载UI实体服务注册中心 // 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister; window['uiServiceRegister'] = uiServiceRegister;
// 全局挂载功能服务注册中心 // 全局挂载功能服务注册中心
...@@ -163,5 +164,6 @@ export const AppComponents = { ...@@ -163,5 +164,6 @@ export const AppComponents = {
v.component('app-breadcrumb',Breadcrumb); v.component('app-breadcrumb',Breadcrumb);
v.component('app-transfer',AppTransfer); v.component('app-transfer',AppTransfer);
v.component('context-menu-drag',ContextMenuDrag); v.component('context-menu-drag',ContextMenuDrag);
v.component('app-update-password',UpdatePwd);
}, },
}; };
\ No newline at end of file
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
<div class="app-actionbar"> <div class="app-actionbar">
<div class="app-actionbar-item" v-for="(item,index) in items" :key="index"> <div class="app-actionbar-item" v-for="(item,index) in items" :key="index">
<Badge v-if="item.counterService&&item.counterService.counterData" :count="item.counterService.counterData[item.counterId]" type="primary"> <Badge v-if="item.counterService&&item.counterService.counterData" :count="item.counterService.counterData[item.counterId]" type="primary">
<i-button @click="handleClick(item.viewlogicname)">{{item.actionName}}</i-button> <i-button @click="handleClick(item.viewlogicname)"><i v-if="item.icon" style="margin-right: 5px;" :class="item.icon"></i>{{item.actionName}}</i-button>
</Badge> </Badge>
<i-button v-else @click="handleClick(item.viewlogicname)">{{item.actionName}}</i-button> <i-button v-else @click="handleClick(item.viewlogicname)">{{item.actionName}}</i-button>
</div> </div>
......
<template> <template>
<div class="app-department-select"> <div class="app-department-select">
<ibiz-select-tree :NodesData="Nodesdata" v-model="selectTreeValue" :multiple="multiple" @select="onSelect"></ibiz-select-tree> <ibiz-select-tree :NodesData="Nodesdata" v-model="selectTreeValue" :disabled="disabled" :multiple="multiple" @select="onSelect"></ibiz-select-tree>
</div> </div>
</template> </template>
...@@ -42,6 +42,14 @@ export default class AppDepartmentSelect extends Vue { ...@@ -42,6 +42,14 @@ export default class AppDepartmentSelect extends Vue {
*/ */
@Prop({default:false}) public multiple?: any; @Prop({default:false}) public multiple?: any;
/**
* 是否禁用
*
* @type {*}
* @memberof AppDepartmentSelect
*/
@Prop({default:false}) public disabled?: boolean;
/** /**
* 表单数据 * 表单数据
* *
......
<template> <template>
<div class="app-org-select"> <div class="app-org-select">
<ibiz-select-tree :NodesData="NodesData" v-model="selectTreeValue" :multiple="multiple" @select="treeSelectChange"></ibiz-select-tree> <ibiz-select-tree :NodesData="NodesData" v-model="selectTreeValue" :disabled="disabled" :multiple="multiple" @select="treeSelectChange"></ibiz-select-tree>
</div> </div>
</template> </template>
<script lang = 'ts'> <script lang = 'ts'>
...@@ -44,6 +44,14 @@ export default class AppOrgSelect extends Vue { ...@@ -44,6 +44,14 @@ export default class AppOrgSelect extends Vue {
*/ */
@Prop({default:false}) public multiple?:boolean; @Prop({default:false}) public multiple?:boolean;
/**
* 是否禁用
*
* @type {*}
* @memberof AppDepartmentSelect
*/
@Prop({default:false}) public disabled?: boolean;
/** /**
* 查询单位路径 * 查询单位路径
* *
......
.update-password{
.password-item{
margin-top:10px;
padding:0 10px 0 10px;
.ivu-btn{
margin-top:15px;
}
}
.password-btn{
margin-top: 42px;
}
}
\ No newline at end of file
<template>
<div class="update-password">
<div class="password-item">
<label for>
原密码:
<Input type="password" v-model="oldPwd" @on-blur="oldPwdVaild"/>
</label>
</div>
<div class="password-item">
<label for>
新密码:
<Input type="password" v-model="newPwd" @on-blur="newPwdVaild"/>
</label>
</div>
<div class="password-item">
<label for>
确认密码:
<Input type="password" v-model="confirmPwd" :disabled="!this.newPwd" @on-blur="confirmVaild" />
</label>
</div>
<div class="password-item password-btn">
<Button type="primary" long :disabled="!oldPwd || !newPwd || !confirmPwd || disUpdate" @click="updatePwd">确认修改</Button>
</div>
</div>
</template>
<script lang = 'ts'>
import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator";
import { Subject } from "rxjs";
import { AppModal } from "@/utils";
import EntityService from '@/service/entity-service';
@Component({})
export default class AppUpdatePassword extends Vue {
/**
* 原密码
*
* @public
* @memberof AppUpdatePassword
*/
public oldPwd: string = "";
/**
* 新密码
*
* @public
* @memberof AppUpdatePassword
*/
public newPwd: string = "";
/**
* 确认密码
*
* @public
* @memberof AppUpdatePassword
*/
public confirmPwd: string = "";
/**
* 是否能禁用确认修改
*
* @public
* @memberof AppUpdatePassword
*/
public disUpdate:boolean = true;
/**
* 校验输入的原密码是否为空
*
* @public
* @memberof AppUpdatePassword
*/
public oldPwdVaild(){
if(!this.oldPwd){
this.$Notice.error({
title:'原密码不能为空!',
duration: 3
});
}
}
/**
* 校验输入的新密码是否为空
*
* @public
* @memberof AppUpdatePassword
*/
public newPwdVaild(){
if(!this.newPwd){
this.$Notice.error({
title:'新密码不能为空!',
duration: 3
});
}
}
/**
* 校验确认密码与新密码是否一致
*
* @public
* @memberof AppUpdatePassword
*/
public confirmVaild() {
if (this.newPwd && this.confirmPwd) {
if (this.confirmPwd !== this.newPwd) {
this.$Notice.error({
title:'两次输入密码不一致!',
duration: 3
});
}else{
this.disUpdate=false;
}
}
}
/**
* 实体服务对象
*
* @protected
* @type {EntityService}
* @memberof AppUpdatePassword
*/
protected entityService: EntityService = new EntityService();
/**
* 修改密码
*
* @public
* @memberof AppUpdatePassword
*/
public updatePwd(){
const post: Promise<any> = this.entityService.changPassword(null,{oldPwd:this.oldPwd,newPwd:this.newPwd});
post.then((response:any) =>{
if (response && response.status === 200) {
this.$emit("close");
}
}).catch((error: any) =>{
this.$Notice.error({
title:'系统异常',
duration: 3
});
console.error(error);
})
}
}
</script>
<style lang="less">
@import './app-update-password.less';
</style>
\ No newline at end of file
...@@ -6,6 +6,10 @@ ...@@ -6,6 +6,10 @@
&nbsp;&nbsp;<avatar :src="user.avatar" /> &nbsp;&nbsp;<avatar :src="user.avatar" />
</div> </div>
<dropdown-menu class='menu' slot='list' style='font-size: 15px !important;'> <dropdown-menu class='menu' slot='list' style='font-size: 15px !important;'>
<dropdown-item name='updatepwd' style='font-size: 15px !important;'>
<span><Icon type="ios-create-outline" style='margin-right: 8px;'/></span>
<span>{{$t('components.appUser.changepwd')}}</span>
</dropdown-item>
<dropdown-item name='logout' style='font-size: 15px !important;'> <dropdown-item name='logout' style='font-size: 15px !important;'>
<span><i aria-hidden='true' class='ivu-icon ivu-icon-md-power' style='margin-right: 8px;'></i></span> <span><i aria-hidden='true' class='ivu-icon ivu-icon-md-power' style='margin-right: 8px;'></i></span>
<span>{{$t('components.appUser.logout')}}</span> <span>{{$t('components.appUser.logout')}}</span>
...@@ -16,7 +20,7 @@ ...@@ -16,7 +20,7 @@
</template> </template>
<script lang = 'ts'> <script lang = 'ts'>
import { Vue, Component } from 'vue-property-decorator'; import { Vue, Component } from 'vue-property-decorator';
import { Subject } from 'rxjs';
@Component({ @Component({
}) })
export default class AppUser extends Vue { export default class AppUser extends Vue {
...@@ -46,6 +50,13 @@ export default class AppUser extends Vue { ...@@ -46,6 +50,13 @@ export default class AppUser extends Vue {
this.logout(); this.logout();
} }
}); });
}else if (Object.is(data, 'updatepwd')) {
let container: Subject<any> = this.$appmodal.openModal({ viewname: 'app-update-password', title: "修改密码", width: 500, height: 400, }, {}, {});
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
});
} }
} }
......
...@@ -89,7 +89,6 @@ export default class FilterTree extends Vue { ...@@ -89,7 +89,6 @@ export default class FilterTree extends Vue {
}; };
if(this.datas.length == 0) { if(this.datas.length == 0) {
this.onAddItem(root); this.onAddItem(root);
this.onAddItem(root);
} }
return [root]; return [root];
} }
......
...@@ -157,6 +157,7 @@ export default { ...@@ -157,6 +157,7 @@ export default {
name: 'System', name: 'System',
logout: 'Logout', logout: 'Logout',
surelogout: 'Are you sure logout?', surelogout: 'Are you sure logout?',
changepwd: "Change Password",
}, },
appTheme: { appTheme: {
caption: { caption: {
......
...@@ -152,12 +152,13 @@ export default { ...@@ -152,12 +152,13 @@ export default {
placeholder: '请输入密码', placeholder: '请输入密码',
message: '密码不能为空', message: '密码不能为空',
}, },
loginfailed: '登失败', loginfailed: '登失败',
}, },
appUser: { appUser: {
name: '系统管理员', name: '系统管理员',
logout: '退出登陆', logout: '退出登录',
surelogout: '确认要退出登陆?', surelogout: '确认要退出登录?',
changepwd: "修改密码",
}, },
appTheme: { appTheme: {
caption: { caption: {
......
...@@ -93,6 +93,7 @@ export default { ...@@ -93,6 +93,7 @@ export default {
orgid: "单位", orgid: "单位",
orgname: "单位", orgname: "单位",
mdeptid: "主部门", mdeptid: "主部门",
pdeptcheck: "",
mdeptname: "部门", mdeptname: "部门",
mdeptcode: "主部门代码", mdeptcode: "主部门代码",
orgcode: "单位代码", orgcode: "单位代码",
......
...@@ -92,6 +92,7 @@ export default { ...@@ -92,6 +92,7 @@ export default {
orgid: "单位", orgid: "单位",
orgname: "单位", orgname: "单位",
mdeptid: "主部门", mdeptid: "主部门",
pdeptcheck: "",
mdeptname: "部门", mdeptname: "部门",
mdeptcode: "主部门代码", mdeptcode: "主部门代码",
orgcode: "单位代码", orgcode: "单位代码",
......
...@@ -49,7 +49,7 @@ export default { ...@@ -49,7 +49,7 @@ export default {
columns: { columns: {
postcode: "岗位编码", postcode: "岗位编码",
postname: "岗位名称", postname: "岗位名称",
domains: "区属", memo: "备注",
}, },
uiactions: { uiactions: {
}, },
......
...@@ -48,7 +48,7 @@ export default { ...@@ -48,7 +48,7 @@ export default {
columns: { columns: {
postcode: "岗位编码", postcode: "岗位编码",
postname: "岗位名称", postname: "岗位名称",
domains: "区属", memo: "备注",
}, },
uiactions: { uiactions: {
}, },
......
...@@ -30,8 +30,8 @@ export default { ...@@ -30,8 +30,8 @@ export default {
srfdeid: "", srfdeid: "",
srfsourcekey: "", srfsourcekey: "",
teamname: "组名称", teamname: "组名称",
domains: "区属",
memo: "备注", memo: "备注",
domains: "区属",
teamid: "组标识", teamid: "组标识",
}, },
uiactions: { uiactions: {
...@@ -40,7 +40,7 @@ export default { ...@@ -40,7 +40,7 @@ export default {
main_grid: { main_grid: {
columns: { columns: {
teamname: "组名称", teamname: "组名称",
domains: "区属", memo: "备注",
}, },
uiactions: { uiactions: {
}, },
......
...@@ -29,8 +29,8 @@ export default { ...@@ -29,8 +29,8 @@ export default {
srfdeid: "", srfdeid: "",
srfsourcekey: "", srfsourcekey: "",
teamname: "组名称", teamname: "组名称",
domains: "区属",
memo: "备注", memo: "备注",
domains: "区属",
teamid: "组标识", teamid: "组标识",
}, },
uiactions: { uiactions: {
...@@ -39,7 +39,7 @@ export default { ...@@ -39,7 +39,7 @@ export default {
main_grid: { main_grid: {
columns: { columns: {
teamname: "组名称", teamname: "组名称",
domains: "区属", memo: "备注",
}, },
uiactions: { uiactions: {
}, },
......
...@@ -931,4 +931,15 @@ export default class EntityService { ...@@ -931,4 +931,15 @@ export default class EntityService {
return Http.getInstance().put(`uaa/access-center/app-switcher/default`,data,isloading); return Http.getInstance().put(`uaa/access-center/app-switcher/default`,data,isloading);
} }
/**
* 修改密码
*
* @param context
* @param data
* @param isloading
*/
public async changPassword(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().post(`v7/changepwd`,data,isloading);
}
} }
\ No newline at end of file
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
export const getAppView = (state: any) => (viewtag: string) => { export const getAppView = (state: any) => (viewtag: string) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag)); const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) { if (!createdview) {
console.log(`----视图 ${viewtag} 不存在-----`) console.warn(`获取应用视图实例,,视图「${viewtag}」不存在`)
return null; return null;
} }
return createdview; return createdview;
...@@ -20,7 +20,7 @@ export const getAppView = (state: any) => (viewtag: string) => { ...@@ -20,7 +20,7 @@ export const getAppView = (state: any) => (viewtag: string) => {
export const getViewDataChangeState = (state:any) => (viewtag: string) => { export const getViewDataChangeState = (state:any) => (viewtag: string) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag)); const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) { if (!createdview) {
console.log(`----视图 ${viewtag} 不存在-----`) console.warn(`获取视图数据状态,,视图「${viewtag}」不存在`)
return false; return false;
} }
return createdview.viewdatachange; return createdview.viewdatachange;
...@@ -34,7 +34,7 @@ export const getViewDataChangeState = (state:any) => (viewtag: string) => { ...@@ -34,7 +34,7 @@ export const getViewDataChangeState = (state:any) => (viewtag: string) => {
export const getRefreshData = (state: any) => (viewtag: string) => { export const getRefreshData = (state: any) => (viewtag: string) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag)); const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) { if (!createdview) {
console.log(`----视图 ${viewtag} 不存在-----`) console.warn(`获取数据刷新状态,视图「${viewtag}」不存在`)
return null; return null;
} }
return createdview.refreshdata; return createdview.refreshdata;
......
...@@ -6,15 +6,10 @@ ...@@ -6,15 +6,10 @@
* @param param1 * @param param1
*/ */
export const createdView = (state: any, { viewtag, secondtag }: { viewtag: string, secondtag: string }) => { export const createdView = (state: any, { viewtag, secondtag }: { viewtag: string, secondtag: string }) => {
// 该视图是否被创建
// const index = state.createdviews.findIndex((view: any) => Object.is(view.secondtag, viewtag));
// if (index !== -1) {
// return;
// }
// 原始数据中是否存在 // 原始数据中是否存在
const appview = state.appviews.find((appview: any) => Object.is(appview.viewtag, viewtag)); const appview = state.appviews.find((appview: any) => Object.is(appview.viewtag, viewtag));
if (!appview) { if (!appview) {
console.log(`----视图标识 ${viewtag} 不存在-----`) console.warn(`视图「${viewtag}」原始数据不存在`);
return; return;
} }
const _appview: any = JSON.parse(JSON.stringify(appview)); const _appview: any = JSON.parse(JSON.stringify(appview));
...@@ -48,7 +43,7 @@ export const removeView = (state: any, viewtag: string) => { ...@@ -48,7 +43,7 @@ export const removeView = (state: any, viewtag: string) => {
export const setViewDataChange = (state: any, { viewtag, viewdatachange }: { viewtag: string, viewdatachange: boolean }) => { export const setViewDataChange = (state: any, { viewtag, viewdatachange }: { viewtag: string, viewdatachange: boolean }) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag)); const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) { if (!createdview) {
console.log(`----视图标识 ${viewtag} 不存在-----`) console.warn(`设置数据状态变更,视图「${viewtag}」不存在`)
return; return;
} }
createdview.viewdatachange = viewdatachange; createdview.viewdatachange = viewdatachange;
...@@ -63,7 +58,7 @@ export const setViewDataChange = (state: any, { viewtag, viewdatachange }: { vie ...@@ -63,7 +58,7 @@ export const setViewDataChange = (state: any, { viewtag, viewdatachange }: { vie
export const refreshViewData = (state: any, { viewtag }: { viewtag: string }) => { export const refreshViewData = (state: any, { viewtag }: { viewtag: string }) => {
const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag)); const createdview = state.createdviews.find((appview: any) => Object.is(appview.secondtag, viewtag));
if (!createdview) { if (!createdview) {
console.log(`----视图标识 ${viewtag} 不存在-----`) console.warn(`刷新视图数据,视图「${viewtag}」不存在`)
return; return;
} }
createdview.refreshdata += 1; createdview.refreshdata += 1;
......
...@@ -17,13 +17,13 @@ ...@@ -17,13 +17,13 @@
</i-col> </i-col>
<i-col v-show="detailsModel.orgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.orgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='orgname' :itemRules="this.rules.orgname" class='' :caption="$t('entities.ibzdepartment.main_form.details.orgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='orgname' :itemRules="this.rules.orgname" class='' :caption="$t('entities.ibzdepartment.main_form.details.orgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'orgid','label':'orgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.orgname.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'orgid','label':'orgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
<i-col v-show="detailsModel.pdeptname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.pdeptname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='pdeptname' :itemRules="this.rules.pdeptname" class='' :caption="$t('entities.ibzdepartment.main_form.details.pdeptname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.pdeptname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='pdeptname' :itemRules="this.rules.pdeptname" class='' :caption="$t('entities.ibzdepartment.main_form.details.pdeptname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.pdeptname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-department-select :data="data" :context="JSON.parse(JSON.stringify(context))" url="/ibzorganizations/${orgid}/ibzdepartments/picker" filter="orgid" :fillMap="{'id':'pdeptid','label':'pdeptname'}" :multiple="false" style="" @select-change="onFormItemValueChange"></app-department-select> <app-department-select :data="data" :disabled="detailsModel.pdeptname.disabled" :context="JSON.parse(JSON.stringify(context))" url="/ibzorganizations/${orgid}/ibzdepartments/picker" filter="orgid" :fillMap="{'id':'pdeptid','label':'pdeptname'}" :multiple="false" style="" @select-change="onFormItemValueChange"></app-department-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -631,7 +631,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -631,7 +631,7 @@ export default class MainBase extends Vue implements ControlInterface {
, ,
deptname: new FormItemModel({ caption: '部门名称', detailType: 'FORMITEM', name: 'deptname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 }) deptname: new FormItemModel({ caption: '部门名称', detailType: 'FORMITEM', name: 'deptname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
, ,
orgname: new FormItemModel({ caption: '单位', detailType: 'FORMITEM', name: 'orgname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 }) orgname: new FormItemModel({ caption: '单位', detailType: 'FORMITEM', name: 'orgname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 1 })
, ,
pdeptname: new FormItemModel({ caption: '上级部门', detailType: 'FORMITEM', name: 'pdeptname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 }) pdeptname: new FormItemModel({ caption: '上级部门', detailType: 'FORMITEM', name: 'pdeptname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
, ,
...@@ -1019,6 +1019,29 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1019,6 +1019,29 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
......
...@@ -20,13 +20,13 @@ ...@@ -20,13 +20,13 @@
</i-col> </i-col>
<i-col v-show="detailsModel.orgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.orgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='orgname' :itemRules="this.rules.orgname" class='' :caption="$t('entities.ibzdepartment.newform_form.details.orgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='orgname' :itemRules="this.rules.orgname" class='' :caption="$t('entities.ibzdepartment.newform_form.details.orgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'orgid','label':'orgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.orgname.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'orgid','label':'orgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
<i-col v-show="detailsModel.pdeptname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.pdeptname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='pdeptname' :itemRules="this.rules.pdeptname" class='' :caption="$t('entities.ibzdepartment.newform_form.details.pdeptname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.pdeptname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='pdeptname' :itemRules="this.rules.pdeptname" class='' :caption="$t('entities.ibzdepartment.newform_form.details.pdeptname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.pdeptname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-department-select :data="data" :context="JSON.parse(JSON.stringify(context))" url="/ibzorganizations/${orgid}/ibzdepartments/picker" filter="orgid" :fillMap="{'id':'pdeptid','label':'pdeptname'}" :multiple="false" style="" @select-change="onFormItemValueChange"></app-department-select> <app-department-select :data="data" :disabled="detailsModel.pdeptname.disabled" :context="JSON.parse(JSON.stringify(context))" url="/ibzorganizations/${orgid}/ibzdepartments/picker" filter="orgid" :fillMap="{'id':'pdeptid','label':'pdeptname'}" :multiple="false" style="" @select-change="onFormItemValueChange"></app-department-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -816,6 +816,29 @@ export default class NewFormBase extends Vue implements ControlInterface { ...@@ -816,6 +816,29 @@ export default class NewFormBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof NewFormBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
......
...@@ -751,6 +751,29 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -751,6 +751,29 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
......
...@@ -29,13 +29,19 @@ ...@@ -29,13 +29,19 @@
<row> <row>
<i-col v-show="detailsModel.orgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.orgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='orgname' :itemRules="this.rules.orgname" class='' :caption="$t('entities.ibzemployee.main_form.details.orgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='orgname' :itemRules="this.rules.orgname" class='' :caption="$t('entities.ibzemployee.main_form.details.orgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="{id:'orgid','label':'orgname','code':'orgcode'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.orgname.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="{id:'orgid','label':'orgname','code':'orgcode'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.pdeptcheck.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='pdeptcheck' :itemRules="this.rules.pdeptcheck" class='' :caption="$t('entities.ibzemployee.main_form.details.pdeptcheck')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.pdeptcheck.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.pdeptcheck" @enter="onEnter($event)" :disabled="detailsModel.pdeptcheck.disabled" type='text' style=""></input-box>
</app-form-item> </app-form-item>
</i-col> </i-col>
<i-col v-show="detailsModel.mdeptname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.mdeptname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='mdeptname' :itemRules="this.rules.mdeptname" class='' :caption="$t('entities.ibzemployee.main_form.details.mdeptname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.mdeptname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='mdeptname' :itemRules="this.rules.mdeptname" class='' :caption="$t('entities.ibzemployee.main_form.details.mdeptname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.mdeptname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-department-select :data="data" :context="JSON.parse(JSON.stringify(context))" url="/ibzorganizations/${orgid}/ibzdepartments/picker" filter="orgid" :fillMap="{id:'mdeptid','label':'mdeptname','code':'mdeptcode','bcode':'bcode'}" :multiple="false" style="" @select-change="onFormItemValueChange"></app-department-select> <app-department-select :data="data" :disabled="detailsModel.mdeptname.disabled" :context="JSON.parse(JSON.stringify(context))" url="/ibzorganizations/${orgid}/ibzdepartments/picker" filter="orgid" :fillMap="{id:'mdeptid','label':'mdeptname','code':'mdeptcode','bcode':'bcode'}" :multiple="false" style="" @select-change="onFormItemValueChange"></app-department-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -520,6 +526,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -520,6 +526,7 @@ export default class MainBase extends Vue implements ControlInterface {
orgid: null, orgid: null,
orgname: null, orgname: null,
mdeptid: null, mdeptid: null,
pdeptcheck: null,
mdeptname: null, mdeptname: null,
mdeptcode: null, mdeptcode: null,
orgcode: null, orgcode: null,
...@@ -667,6 +674,12 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -667,6 +674,12 @@ export default class MainBase extends Vue implements ControlInterface {
{ required: false, type: 'string', message: '主部门 值不能为空', trigger: 'change' }, { required: false, type: 'string', message: '主部门 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '主部门 值不能为空', trigger: 'blur' }, { required: false, type: 'string', message: '主部门 值不能为空', trigger: 'blur' },
], ],
pdeptcheck: [
{ type: 'string', message: ' 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: ' 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: ' 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: ' 值不能为空', trigger: 'blur' },
],
mdeptname: [ mdeptname: [
{ type: 'string', message: '部门 值必须为字符串类型', trigger: 'change' }, { type: 'string', message: '部门 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '部门 值必须为字符串类型', trigger: 'blur' }, { type: 'string', message: '部门 值必须为字符串类型', trigger: 'blur' },
...@@ -839,6 +852,8 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -839,6 +852,8 @@ export default class MainBase extends Vue implements ControlInterface {
orgname: new FormItemModel({ caption: '单位', detailType: 'FORMITEM', name: 'orgname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 1 }) orgname: new FormItemModel({ caption: '单位', detailType: 'FORMITEM', name: 'orgname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 1 })
, ,
mdeptid: new FormItemModel({ caption: '主部门', detailType: 'FORMITEM', name: 'mdeptid', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 }) mdeptid: new FormItemModel({ caption: '主部门', detailType: 'FORMITEM', name: 'mdeptid', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
pdeptcheck: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'pdeptcheck', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
, ,
mdeptname: new FormItemModel({ caption: '部门', detailType: 'FORMITEM', name: 'mdeptname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 }) mdeptname: new FormItemModel({ caption: '部门', detailType: 'FORMITEM', name: 'mdeptname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
, ,
...@@ -1052,6 +1067,18 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1052,6 +1067,18 @@ export default class MainBase extends Vue implements ControlInterface {
this.formDataChange({ name: 'mdeptid', newVal: newVal, oldVal: oldVal }); this.formDataChange({ name: 'mdeptid', newVal: newVal, oldVal: oldVal });
} }
/**
* 监控表单属性 pdeptcheck 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@Watch('data.pdeptcheck')
onPdeptcheckChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'pdeptcheck', newVal: newVal, oldVal: oldVal });
}
/** /**
* 监控表单属性 mdeptname 值 * 监控表单属性 mdeptname 值
* *
...@@ -1381,6 +1408,15 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1381,6 +1408,15 @@ export default class MainBase extends Vue implements ControlInterface {
if (Object.is(name, '') || Object.is(name, 'pdeptcheck')) {
let ret = false;
const _pdeptcheck = this.data.pdeptcheck;
if (this.$verify.testCond(_pdeptcheck, 'ISNULL', '')) {
ret = true;
}
this.detailsModel.mdeptname.setDisabled(!ret);
}
...@@ -1402,6 +1438,29 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1402,6 +1438,29 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
...@@ -2324,6 +2383,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2324,6 +2383,9 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public createDefault(){ public createDefault(){
if (this.data.hasOwnProperty('pdeptcheck')) {
this.data['pdeptcheck'] = this.context['ibzdepartment'];
}
if (this.data.hasOwnProperty('showorder')) { if (this.data.hasOwnProperty('showorder')) {
this.data['showorder'] = 1; this.data['showorder'] = 1;
} }
...@@ -2334,6 +2396,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -2334,6 +2396,9 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase * @memberof MainBase
*/ */
public updateDefault(){ public updateDefault(){
if (this.data.hasOwnProperty('pdeptcheck') && !this.data.pdeptcheck) {
this.data['pdeptcheck'] = this.context['ibzdepartment'];
}
} }
......
...@@ -85,6 +85,9 @@ export default class MainModel { ...@@ -85,6 +85,9 @@ export default class MainModel {
prop: 'mdeptid', prop: 'mdeptid',
dataType: 'PICKUP', dataType: 'PICKUP',
}, },
{
name: 'pdeptcheck',
},
{ {
name: 'mdeptname', name: 'mdeptname',
prop: 'mdeptname', prop: 'mdeptname',
......
...@@ -26,13 +26,13 @@ ...@@ -26,13 +26,13 @@
</i-col> </i-col>
<i-col v-show="detailsModel.orgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.orgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='orgname' :itemRules="this.rules.orgname" class='' :caption="$t('entities.ibzemployee.newform_form.details.orgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='orgname' :itemRules="this.rules.orgname" class='' :caption="$t('entities.ibzemployee.newform_form.details.orgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="{id:'orgid','label':'orgname','code':'orgcode'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.orgname.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="{id:'orgid','label':'orgname','code':'orgcode'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
<i-col v-show="detailsModel.mdeptname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.mdeptname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='mdeptname' :itemRules="this.rules.mdeptname" class='' :caption="$t('entities.ibzemployee.newform_form.details.mdeptname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.mdeptname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='mdeptname' :itemRules="this.rules.mdeptname" class='' :caption="$t('entities.ibzemployee.newform_form.details.mdeptname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.mdeptname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-department-select :data="data" :context="JSON.parse(JSON.stringify(context))" url="/ibzorganizations/${orgid}/ibzdepartments/picker" filter="orgid" :fillMap="{id:'mdeptid','label':'mdeptname','code':'mdeptcode','bcode':'bcode'}" :multiple="false" style="" @select-change="onFormItemValueChange"></app-department-select> <app-department-select :data="data" :disabled="detailsModel.mdeptname.disabled" :context="JSON.parse(JSON.stringify(context))" url="/ibzorganizations/${orgid}/ibzdepartments/picker" filter="orgid" :fillMap="{id:'mdeptid','label':'mdeptname','code':'mdeptcode','bcode':'bcode'}" :multiple="false" style="" @select-change="onFormItemValueChange"></app-department-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -907,6 +907,29 @@ export default class NewFormBase extends Vue implements ControlInterface { ...@@ -907,6 +907,29 @@ export default class NewFormBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof NewFormBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
......
...@@ -18,7 +18,7 @@ ...@@ -18,7 +18,7 @@
</i-col> </i-col>
<i-col v-show="detailsModel.porgname.visible" :style="{}" :sm="{ span: 12, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }"> <i-col v-show="detailsModel.porgname.visible" :style="{}" :sm="{ span: 12, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 8, offset: 0 }">
<app-form-item name='porgname' :itemRules="this.rules.porgname" class='' :caption="$t('entities.ibzorganization.default_searchform.details.porgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.porgname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='porgname' :itemRules="this.rules.porgname" class='' :caption="$t('entities.ibzorganization.default_searchform.details.porgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.porgname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'n_porgid_eq','label':'porgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="width:100px;" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.porgname.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'n_porgid_eq','label':'porgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="width:100px;" @select-change="onFormItemValueChange"></app-org-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</i-col> </i-col>
<i-col v-show="detailsModel.porgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.porgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='porgname' :itemRules="this.rules.porgname" class='' :caption="$t('entities.ibzorganization.main_form.details.porgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.porgname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='porgname' :itemRules="this.rules.porgname" class='' :caption="$t('entities.ibzorganization.main_form.details.porgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.porgname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'porgid','label':'porgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.porgname.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'porgid','label':'porgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -868,6 +868,29 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -868,6 +868,29 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
</i-col> </i-col>
<i-col v-show="detailsModel.porgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.porgname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='porgname' :itemRules="this.rules.porgname" class='' :caption="$t('entities.ibzorganization.newform_form.details.porgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.porgname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='porgname' :itemRules="this.rules.porgname" class='' :caption="$t('entities.ibzorganization.newform_form.details.porgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.porgname.error" :isEmptyCaption="false" labelPos="LEFT">
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'porgid','label':'porgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.porgname.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="{'id':'porgid','label':'porgname'}" url="/ibzorganizations/alls/suborg/picker" filter="srforgid" :multiple="false" style="" @select-change="onFormItemValueChange"></app-org-select>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -759,6 +759,29 @@ export default class NewFormBase extends Vue implements ControlInterface { ...@@ -759,6 +759,29 @@ export default class NewFormBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof NewFormBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
......
...@@ -17,12 +17,6 @@ ...@@ -17,12 +17,6 @@
<input-box v-model="data.postname" @enter="onEnter($event)" unit="" :disabled="detailsModel.postname.disabled" type='text' style=""></input-box> <input-box v-model="data.postname" @enter="onEnter($event)" unit="" :disabled="detailsModel.postname.disabled" type='text' style=""></input-box>
</app-form-item> </app-form-item>
</i-col>
<i-col v-show="detailsModel.domains.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='domains' :itemRules="this.rules.domains" class='' :caption="$t('entities.ibzpost.main_form.details.domains')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.domains.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.domains" @enter="onEnter($event)" unit="" :disabled="detailsModel.domains.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col> </i-col>
<i-col v-show="detailsModel.memo.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.memo.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='memo' :itemRules="this.rules.memo" class='' :caption="$t('entities.ibzpost.main_form.details.memo')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.memo.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='memo' :itemRules="this.rules.memo" class='' :caption="$t('entities.ibzpost.main_form.details.memo')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.memo.error" :isEmptyCaption="false" labelPos="LEFT">
...@@ -722,6 +716,29 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -722,6 +716,29 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
......
...@@ -45,15 +45,15 @@ ...@@ -45,15 +45,15 @@
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
<template v-if="getColumnState('domains')"> <template v-if="getColumnState('memo')">
<el-table-column show-overflow-tooltip :prop="'domains'" :label="$t('entities.ibzpost.main_grid.columns.domains')" :width="200" :align="'left'" :sortable="'custom'"> <el-table-column show-overflow-tooltip :prop="'memo'" :label="$t('entities.ibzpost.main_grid.columns.memo')" :width="400" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}"> <template v-slot:header="{column}">
<span class="column-header "> <span class="column-header ">
{{$t('entities.ibzpost.main_grid.columns.domains')}} {{$t('entities.ibzpost.main_grid.columns.memo')}}
</span> </span>
</template> </template>
<template v-slot="{row,column,$index}"> <template v-slot="{row,column,$index}">
<span>{{row.domains}}</span> <span>{{row.memo}}</span>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
...@@ -561,9 +561,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -561,9 +561,9 @@ export default class MainBase extends Vue implements ControlInterface {
isEnableRowEdit: false, isEnableRowEdit: false,
}, },
{ {
name: 'domains', name: 'memo',
label: '区属', label: '备注',
langtag: 'entities.ibzpost.main_grid.columns.domains', langtag: 'entities.ibzpost.main_grid.columns.memo',
show: true, show: true,
util: 'PX', util: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
......
...@@ -27,13 +27,13 @@ export default class MainModel { ...@@ -27,13 +27,13 @@ export default class MainModel {
}else{ }else{
return [ return [
{ {
name: 'postname', name: 'memo',
prop: 'postname', prop: 'memo',
dataType: 'TEXT', dataType: 'LONGTEXT_1000',
}, },
{ {
name: 'domains', name: 'postname',
prop: 'domains', prop: 'postname',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{ {
......
...@@ -801,6 +801,29 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -801,6 +801,29 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
......
...@@ -6,22 +6,15 @@ ...@@ -6,22 +6,15 @@
<i-col v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.group1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-group :manageContainerStatus="detailsModel.group1.manageContainerStatus" :isManageContainer="detailsModel.group1.isManageContainer" @managecontainerclick="manageContainerClick('group1')" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.ibzteam.main_form.details.group1')" :isShowCaption="false" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" > <app-form-group :manageContainerStatus="detailsModel.group1.manageContainerStatus" :isManageContainer="detailsModel.group1.isManageContainer" @managecontainerclick="manageContainerClick('group1')" layoutType="TABLE_24COL" titleStyle="" class='' :uiActionGroup="detailsModel.group1.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="$t('entities.ibzteam.main_form.details.group1')" :isShowCaption="false" uiStyle="DEFAULT" :titleBarCloseMode="0" :isInfoGroupMode="false" >
<row> <row>
<i-col v-show="detailsModel.teamname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.teamname.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='teamname' :itemRules="this.rules.teamname" class='' :caption="$t('entities.ibzteam.main_form.details.teamname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.teamname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='teamname' :itemRules="this.rules.teamname" class='' :caption="$t('entities.ibzteam.main_form.details.teamname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.teamname.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.teamname" @enter="onEnter($event)" unit="" :disabled="detailsModel.teamname.disabled" type='text' style=""></input-box> <input-box v-model="data.teamname" @enter="onEnter($event)" unit="" :disabled="detailsModel.teamname.disabled" type='text' style=""></input-box>
</app-form-item> </app-form-item>
</i-col> </i-col>
<i-col v-show="detailsModel.domains.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.memo.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='domains' :itemRules="this.rules.domains" class='' :caption="$t('entities.ibzteam.main_form.details.domains')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.domains.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.domains" @enter="onEnter($event)" unit="" :disabled="detailsModel.domains.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.memo.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='memo' :itemRules="this.rules.memo" class='' :caption="$t('entities.ibzteam.main_form.details.memo')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.memo.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='memo' :itemRules="this.rules.memo" class='' :caption="$t('entities.ibzteam.main_form.details.memo')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.memo.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.memo" :textareaId="this.$util.createUUID()" :disabled="detailsModel.memo.disabled" type='textarea' textareaStyle="height:200px;" ></input-box> <input-box v-model="data.memo" @enter="onEnter($event)" unit="" :disabled="detailsModel.memo.disabled" type='text' style=""></input-box>
</app-form-item> </app-form-item>
</i-col> </i-col>
...@@ -381,8 +374,8 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -381,8 +374,8 @@ export default class MainBase extends Vue implements ControlInterface {
srfdeid: null, srfdeid: null,
srfsourcekey: null, srfsourcekey: null,
teamname: null, teamname: null,
domains: null,
memo: null, memo: null,
domains: null,
teamid: null, teamid: null,
ibzteam:null, ibzteam:null,
}; };
...@@ -474,18 +467,18 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -474,18 +467,18 @@ export default class MainBase extends Vue implements ControlInterface {
{ required: false, type: 'string', message: '组名称 值不能为空', trigger: 'change' }, { required: false, type: 'string', message: '组名称 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '组名称 值不能为空', trigger: 'blur' }, { required: false, type: 'string', message: '组名称 值不能为空', trigger: 'blur' },
], ],
domains: [
{ type: 'string', message: '区属 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '区属 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '区属 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '区属 值不能为空', trigger: 'blur' },
],
memo: [ memo: [
{ type: 'string', message: '备注 值必须为字符串类型', trigger: 'change' }, { type: 'string', message: '备注 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '备注 值必须为字符串类型', trigger: 'blur' }, { type: 'string', message: '备注 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '备注 值不能为空', trigger: 'change' }, { required: false, type: 'string', message: '备注 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '备注 值不能为空', trigger: 'blur' }, { required: false, type: 'string', message: '备注 值不能为空', trigger: 'blur' },
], ],
domains: [
{ type: 'string', message: '区属 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '区属 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '区属 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '区属 值不能为空', trigger: 'blur' },
],
teamid: [ teamid: [
{ type: 'string', message: '组标识 值必须为字符串类型', trigger: 'change' }, { type: 'string', message: '组标识 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '组标识 值必须为字符串类型', trigger: 'blur' }, { type: 'string', message: '组标识 值必须为字符串类型', trigger: 'blur' },
...@@ -524,10 +517,10 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -524,10 +517,10 @@ export default class MainBase extends Vue implements ControlInterface {
srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 }) srfsourcekey: new FormItemModel({ caption: '', detailType: 'FORMITEM', name: 'srfsourcekey', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
, ,
teamname: new FormItemModel({ caption: '组名称', detailType: 'FORMITEM', name: 'teamname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 }) teamname: new FormItemModel({ caption: '组名称', detailType: 'FORMITEM', name: 'teamname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
domains: new FormItemModel({ caption: '区属', detailType: 'FORMITEM', name: 'domains', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
, ,
memo: new FormItemModel({ caption: '备注', detailType: 'FORMITEM', name: 'memo', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 }) memo: new FormItemModel({ caption: '备注', detailType: 'FORMITEM', name: 'memo', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
domains: new FormItemModel({ caption: '区属', detailType: 'FORMITEM', name: 'domains', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
, ,
teamid: new FormItemModel({ caption: '组标识', detailType: 'FORMITEM', name: 'teamid', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 }) teamid: new FormItemModel({ caption: '组标识', detailType: 'FORMITEM', name: 'teamid', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
, ,
...@@ -630,27 +623,27 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -630,27 +623,27 @@ export default class MainBase extends Vue implements ControlInterface {
} }
/** /**
* 监控表单属性 domains * 监控表单属性 memo
* *
* @param {*} newVal * @param {*} newVal
* @param {*} oldVal * @param {*} oldVal
* @memberof MainBase * @memberof MainBase
*/ */
@Watch('data.domains') @Watch('data.memo')
onDomainsChange(newVal: any, oldVal: any) { onMemoChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'domains', newVal: newVal, oldVal: oldVal }); this.formDataChange({ name: 'memo', newVal: newVal, oldVal: oldVal });
} }
/** /**
* 监控表单属性 memo * 监控表单属性 domains
* *
* @param {*} newVal * @param {*} newVal
* @param {*} oldVal * @param {*} oldVal
* @memberof MainBase * @memberof MainBase
*/ */
@Watch('data.memo') @Watch('data.domains')
onMemoChange(newVal: any, oldVal: any) { onDomainsChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'memo', newVal: newVal, oldVal: oldVal }); this.formDataChange({ name: 'domains', newVal: newVal, oldVal: oldVal });
} }
/** /**
...@@ -734,6 +727,29 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -734,6 +727,29 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public checkItem(name:string):boolean{
let regular :any = null;
let isRight :boolean = false;
this.rules[name].forEach((item:any)=>{
Object.keys(item).forEach((name:string)=>{
if(name == 'pattern'){
regular = item[name];
}
});
});
if(regular){
isRight = regular.test(this.data[name]);
}
return isRight;
} }
/** /**
......
...@@ -55,16 +55,16 @@ export default class MainModel { ...@@ -55,16 +55,16 @@ export default class MainModel {
prop: 'teamname', prop: 'teamname',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{
name: 'domains',
prop: 'domains',
dataType: 'TEXT',
},
{ {
name: 'memo', name: 'memo',
prop: 'memo', prop: 'memo',
dataType: 'LONGTEXT_1000', dataType: 'LONGTEXT_1000',
}, },
{
name: 'domains',
prop: 'domains',
dataType: 'TEXT',
},
{ {
name: 'teamid', name: 'teamid',
prop: 'teamid', prop: 'teamid',
......
...@@ -33,15 +33,15 @@ ...@@ -33,15 +33,15 @@
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
<template v-if="getColumnState('domains')"> <template v-if="getColumnState('memo')">
<el-table-column show-overflow-tooltip :prop="'domains'" :label="$t('entities.ibzteam.main_grid.columns.domains')" :width="200" :align="'left'" :sortable="'custom'"> <el-table-column show-overflow-tooltip :prop="'memo'" :label="$t('entities.ibzteam.main_grid.columns.memo')" :width="400" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}"> <template v-slot:header="{column}">
<span class="column-header "> <span class="column-header ">
{{$t('entities.ibzteam.main_grid.columns.domains')}} {{$t('entities.ibzteam.main_grid.columns.memo')}}
</span> </span>
</template> </template>
<template v-slot="{row,column,$index}"> <template v-slot="{row,column,$index}">
<span>{{row.domains}}</span> <span>{{row.memo}}</span>
</template> </template>
</el-table-column> </el-table-column>
</template> </template>
...@@ -541,9 +541,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -541,9 +541,9 @@ export default class MainBase extends Vue implements ControlInterface {
isEnableRowEdit: false, isEnableRowEdit: false,
}, },
{ {
name: 'domains', name: 'memo',
label: '区属', label: '备注',
langtag: 'entities.ibzteam.main_grid.columns.domains', langtag: 'entities.ibzteam.main_grid.columns.memo',
show: true, show: true,
util: 'PX', util: 'PX',
isEnableRowEdit: false, isEnableRowEdit: false,
......
...@@ -27,13 +27,13 @@ export default class MainModel { ...@@ -27,13 +27,13 @@ export default class MainModel {
}else{ }else{
return [ return [
{ {
name: 'teamname', name: 'memo',
prop: 'teamname', prop: 'memo',
dataType: 'TEXT', dataType: 'LONGTEXT_1000',
}, },
{ {
name: 'domains', name: 'teamname',
prop: 'domains', prop: 'teamname',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{ {
......
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<!--输出实体[IBZTEAM]数据结构 --> <!--输出实体[IBZTEAM]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-ibzteam-46-2"> <changeSet author="a_A_5d9d78509" id="tab-ibzteam-50-2">
<createTable tableName="IBZTEAM"> <createTable tableName="IBZTEAM">
<column name="TEAMID" remarks="" type="VARCHAR(100)"> <column name="TEAMID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_IBZTEAM_TEAMID"/> <constraints primaryKey="true" primaryKeyName="PK_IBZTEAM_TEAMID"/>
...@@ -50,7 +50,7 @@ ...@@ -50,7 +50,7 @@
<!--输出实体[IBZEMP]数据结构 --> <!--输出实体[IBZEMP]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-ibzemp-659-3"> <changeSet author="a_A_5d9d78509" id="tab-ibzemp-661-3">
<createTable tableName="IBZEMP"> <createTable tableName="IBZEMP">
<column name="USERID" remarks="" type="VARCHAR(100)"> <column name="USERID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_IBZEMP_USERID"/> <constraints primaryKey="true" primaryKeyName="PK_IBZEMP_USERID"/>
...@@ -130,7 +130,7 @@ ...@@ -130,7 +130,7 @@
<!--输出实体[IBZPOST]数据结构 --> <!--输出实体[IBZPOST]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-ibzpost-28-4"> <changeSet author="a_A_5d9d78509" id="tab-ibzpost-30-4">
<createTable tableName="IBZPOST"> <createTable tableName="IBZPOST">
<column name="POSTID" remarks="" type="VARCHAR(100)"> <column name="POSTID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_IBZPOST_POSTID"/> <constraints primaryKey="true" primaryKeyName="PK_IBZPOST_POSTID"/>
...@@ -166,7 +166,7 @@ ...@@ -166,7 +166,7 @@
<!--输出实体[IBZDEPT]数据结构 --> <!--输出实体[IBZDEPT]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-ibzdept-707-6"> <changeSet author="a_A_5d9d78509" id="tab-ibzdept-708-6">
<createTable tableName="IBZDEPT"> <createTable tableName="IBZDEPT">
<column name="DEPTID" remarks="" type="VARCHAR(100)"> <column name="DEPTID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_IBZDEPT_DEPTID"/> <constraints primaryKey="true" primaryKeyName="PK_IBZDEPT_DEPTID"/>
...@@ -204,7 +204,7 @@ ...@@ -204,7 +204,7 @@
<!--输出实体[IBZTEAMMEMBER]数据结构 --> <!--输出实体[IBZTEAMMEMBER]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-ibzteammember-48-7"> <changeSet author="a_A_5d9d78509" id="tab-ibzteammember-49-7">
<createTable tableName="IBZTEAMMEMBER"> <createTable tableName="IBZTEAMMEMBER">
<column name="TEAMMEMBERID" remarks="" type="VARCHAR(100)"> <column name="TEAMMEMBERID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_IBZTEAMMEMBER_TEAMMEMBERID"/> <constraints primaryKey="true" primaryKeyName="PK_IBZTEAMMEMBER_TEAMMEMBERID"/>
...@@ -226,13 +226,13 @@ ...@@ -226,13 +226,13 @@
</changeSet> </changeSet>
<!--输出实体[IBZTEAM]外键关系 --> <!--输出实体[IBZTEAM]外键关系 -->
<!--输出实体[IBZEMP]外键关系 --> <!--输出实体[IBZEMP]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-ibzemp-659-9"> <changeSet author="a_A_5d9d78509" id="fk-ibzemp-661-9">
<addForeignKeyConstraint baseColumnNames="MDEPTID" baseTableName="IBZEMP" constraintName="DER1N_IBZEMP_IBZDEPT_MDEPTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/> <addForeignKeyConstraint baseColumnNames="MDEPTID" baseTableName="IBZEMP" constraintName="DER1N_IBZEMP_IBZDEPT_MDEPTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-ibzemp-659-10"> <changeSet author="a_A_5d9d78509" id="fk-ibzemp-661-10">
<addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZEMP" constraintName="DER1N_IBZEMP_IBZORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/> <addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZEMP" constraintName="DER1N_IBZEMP_IBZORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-ibzemp-659-11"> <changeSet author="a_A_5d9d78509" id="fk-ibzemp-661-11">
<addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZEMP" constraintName="DER1N_IBZEMP_IBZPOST_POSTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/> <addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZEMP" constraintName="DER1N_IBZEMP_IBZPOST_POSTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[IBZPOST]外键关系 --> <!--输出实体[IBZPOST]外键关系 -->
...@@ -247,20 +247,20 @@ ...@@ -247,20 +247,20 @@
<addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZDEPTMEMBER" constraintName="DER1N_IBZDEPTMEMBER_IBZPOST_PO" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/> <addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZDEPTMEMBER" constraintName="DER1N_IBZDEPTMEMBER_IBZPOST_PO" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[IBZDEPT]外键关系 --> <!--输出实体[IBZDEPT]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-ibzdept-707-15"> <changeSet author="a_A_5d9d78509" id="fk-ibzdept-708-15">
<addForeignKeyConstraint baseColumnNames="PDEPTID" baseTableName="IBZDEPT" constraintName="DER1N_IBZDEPT_IBZDEPT_PDEPTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/> <addForeignKeyConstraint baseColumnNames="PDEPTID" baseTableName="IBZDEPT" constraintName="DER1N_IBZDEPT_IBZDEPT_PDEPTID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="DEPTID" referencedTableName="IBZDEPT" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-ibzdept-707-16"> <changeSet author="a_A_5d9d78509" id="fk-ibzdept-708-16">
<addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZDEPT" constraintName="DER1N_IBZDEPT_IBZORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/> <addForeignKeyConstraint baseColumnNames="ORGID" baseTableName="IBZDEPT" constraintName="DER1N_IBZDEPT_IBZORG_ORGID" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="ORGID" referencedTableName="IBZORG" validate="true"/>
</changeSet> </changeSet>
<!--输出实体[IBZTEAMMEMBER]外键关系 --> <!--输出实体[IBZTEAMMEMBER]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-ibzteammember-48-17"> <changeSet author="a_A_5d9d78509" id="fk-ibzteammember-49-17">
<addForeignKeyConstraint baseColumnNames="USERID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_IBZTEAMMEMBER_IBZEMP_USE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="USERID" referencedTableName="IBZEMP" validate="true"/> <addForeignKeyConstraint baseColumnNames="USERID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_IBZTEAMMEMBER_IBZEMP_USE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="USERID" referencedTableName="IBZEMP" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-ibzteammember-48-18"> <changeSet author="a_A_5d9d78509" id="fk-ibzteammember-49-18">
<addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_IBZTEAMMEMBER_IBZPOST_PO" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/> <addForeignKeyConstraint baseColumnNames="POSTID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_IBZTEAMMEMBER_IBZPOST_PO" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="POSTID" referencedTableName="IBZPOST" validate="true"/>
</changeSet> </changeSet>
<changeSet author="a_A_5d9d78509" id="fk-ibzteammember-48-19"> <changeSet author="a_A_5d9d78509" id="fk-ibzteammember-49-19">
<addForeignKeyConstraint baseColumnNames="TEAMID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_IBZTEAMMEMBER_IBZTEAM_TE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TEAMID" referencedTableName="IBZTEAM" validate="true"/> <addForeignKeyConstraint baseColumnNames="TEAMID" baseTableName="IBZTEAMMEMBER" constraintName="DER1N_IBZTEAMMEMBER_IBZTEAM_TE" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="TEAMID" referencedTableName="IBZTEAM" validate="true"/>
</changeSet> </changeSet>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册