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

ibiz4j 发布系统代码

上级 c332ffb0
......@@ -39,12 +39,12 @@
"viewname": "SYS_ROLEPickupGridView",
"viewtag": "1a3413067ee48ab30691eab9f345f517"
},
"sys_user_roleeditview": {
"sysuserroleeditview": {
"title": "用户角色关系表编辑视图",
"caption": "用户角色关系",
"viewtype": "DEEDITVIEW",
"viewmodule": "uaa",
"viewname": "SYS_USER_ROLEEditView",
"viewname": "SysUserRoleEditView",
"viewtag": "1ee68b6d5d4c5c9413f6874e0ccabc43"
},
"sys_usermpickupview": {
......
<template>
<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>
</template>
......@@ -42,6 +42,14 @@ export default class AppDepartmentSelect extends Vue {
*/
@Prop({default:false}) public multiple?: any;
/**
* 是否禁用
*
* @type {*}
* @memberof AppDepartmentSelect
*/
@Prop({default:false}) public disabled?: boolean;
/**
* 表单数据
*
......
<template>
<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>
</template>
<script lang = 'ts'>
......@@ -44,6 +44,14 @@ export default class AppOrgSelect extends Vue {
*/
@Prop({default:false}) public multiple?:boolean;
/**
* 是否禁用
*
* @type {*}
* @memberof AppDepartmentSelect
*/
@Prop({default:false}) public disabled?: boolean;
/**
* 查询单位路径
*
......
......@@ -8,4 +8,7 @@
.ivu-input-number-input{
text-align: right;
}
.ivu-input-number-input:hover{
padding-right:22px;
}
}
\ No newline at end of file
......@@ -6,6 +6,9 @@ export default {
rolename: "角色名称",
userid: "用户标识",
personname: "用户名称",
loginname: "登录名",
orgname: "单位",
mdeptname: "主部门",
createdate: "建立时间",
updatedate: "更新时间",
},
......@@ -63,6 +66,9 @@ export default {
main_grid: {
columns: {
sys_username: "用户名称",
loginname: "登录名",
orgname: "单位",
mdeptname: "主部门",
sys_rolename: "角色名称",
},
uiactions: {
......@@ -71,6 +77,7 @@ export default {
default_searchform: {
details: {
formpage1: "常规条件",
n_sys_username_like: "用户名称(%)",
},
uiactions: {
},
......
......@@ -5,6 +5,9 @@ export default {
rolename: "角色名称",
userid: "用户标识",
personname: "用户名称",
loginname: "登录名",
orgname: "单位",
mdeptname: "主部门",
createdate: "建立时间",
updatedate: "更新时间",
},
......@@ -62,6 +65,9 @@ export default {
main_grid: {
columns: {
sys_username: "用户名称",
loginname: "登录名",
orgname: "单位",
mdeptname: "主部门",
sys_rolename: "角色名称",
},
uiactions: {
......@@ -70,6 +76,7 @@ export default {
default_searchform: {
details: {
formpage1: "常规条件",
n_sys_username_like: "用户名称(%)",
},
uiactions: {
},
......
......@@ -19,9 +19,9 @@ export default {
orgcode: "单位代码",
orgname: "单位名称",
nickname: "昵称别名",
certcode: "证件号码",
sex: "性别",
birthday: "出生日期",
certcode: "证件号码",
phone: "联系方式",
email: "邮件",
avatar: "社交账号",
......@@ -32,6 +32,7 @@ export default {
fontsize: "字号",
memo: "备注",
reserver: "保留",
superuser: "超级管理员",
},
views: {
mpickupview: {
......@@ -77,6 +78,9 @@ export default {
userid: "用户标识",
username: "用户全局名",
personname: "用户姓名",
loginname: "登录名",
orgname: "单位名称",
mdeptname: "主部门名称",
},
uiactions: {
},
......@@ -86,6 +90,9 @@ export default {
userid: "用户标识",
username: "用户全局名",
personname: "用户姓名",
loginname: "登录名",
orgname: "单位名称",
mdeptname: "主部门名称",
},
uiactions: {
},
......@@ -93,6 +100,10 @@ export default {
default_searchform: {
details: {
formpage1: "常规条件",
n_personname_like: "用户姓名(文本包含(%))",
n_loginname_like: "登录名(文本包含(%))",
n_mdeptname_like: "主部门名称(文本包含(%))",
n_orgname_like: "单位名称(文本包含(%))",
},
uiactions: {
},
......
......@@ -18,9 +18,9 @@ export default {
orgcode: "单位代码",
orgname: "单位名称",
nickname: "昵称别名",
certcode: "证件号码",
sex: "性别",
birthday: "出生日期",
certcode: "证件号码",
phone: "联系方式",
email: "邮件",
avatar: "社交账号",
......@@ -31,6 +31,7 @@ export default {
fontsize: "字号",
memo: "备注",
reserver: "保留",
superuser: "超级管理员",
},
views: {
mpickupview: {
......@@ -76,6 +77,9 @@ export default {
userid: "用户标识",
username: "用户全局名",
personname: "用户姓名",
loginname: "登录名",
orgname: "单位名称",
mdeptname: "主部门名称",
},
uiactions: {
},
......@@ -85,6 +89,9 @@ export default {
userid: "用户标识",
username: "用户全局名",
personname: "用户姓名",
loginname: "登录名",
orgname: "单位名称",
mdeptname: "主部门名称",
},
uiactions: {
},
......@@ -92,6 +99,10 @@ export default {
default_searchform: {
details: {
formpage1: "常规条件",
n_personname_like: "用户姓名(文本包含(%))",
n_loginname_like: "登录名(文本包含(%))",
n_mdeptname_like: "主部门名称(文本包含(%))",
n_orgname_like: "单位名称(文本包含(%))",
},
uiactions: {
},
......
......@@ -47,12 +47,12 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "SYS_ROLEPickupGridView",
"viewtag": "1a3413067ee48ab30691eab9f345f517"
},
"sys_user_roleeditview": {
"sysuserroleeditview": {
"title": "用户角色关系表编辑视图",
"caption": "用户角色关系",
"viewtype": "DEEDITVIEW",
"viewmodule": "uaa",
"viewname": "SYS_USER_ROLEEditView",
"viewname": "SysUserRoleEditView",
"viewtag": "1ee68b6d5d4c5c9413f6874e0ccabc43"
},
"sys_usermpickupview": {
......
......@@ -21,6 +21,7 @@
viewtag="index"
:selectTheme="selectTheme"
:isDefaultPage="isDefaultPage"
:isBlankMode="isBlankMode"
:defPSAppView="defPSAppView"
name="appmenu"
ref='appmenu'
......@@ -626,6 +627,14 @@ export default class IndexBase extends Vue {
*/
public isDefaultPage: boolean = true;
/**
* 空白视图模式
*
* @type {boolean}
* @memberof IndexBase
*/
public isBlankMode:boolean = false;
/**
* 获取样式
*
......
......@@ -7,7 +7,7 @@ export const PageComponents = {
Vue.component('sys-role-permissioncustom-view', () => import('@pages/uaa/sys-role-permissioncustom-view/sys-role-permissioncustom-view.vue'));
Vue.component('sys-userpickup-grid-view', () => import('@pages/uaa/sys-userpickup-grid-view/sys-userpickup-grid-view.vue'));
Vue.component('sys-roleedit-view', () => import('@pages/uaa/sys-roleedit-view/sys-roleedit-view.vue'));
Vue.component('sys-user-roleedit-view', () => import('@pages/uaa/sys-user-roleedit-view/sys-user-roleedit-view.vue'));
Vue.component('sys-user-role-edit-view', () => import('@pages/uaa/sys-user-role-edit-view/sys-user-role-edit-view.vue'));
Vue.component('sys-rolempickup-view', () => import('@pages/uaa/sys-rolempickup-view/sys-rolempickup-view.vue'));
Vue.component('sys-auth-log-grid-view', () => import('@pages/uaa/sys-auth-log-grid-view/sys-auth-log-grid-view.vue'));
Vue.component('sys-userpickup-view', () => import('@pages/uaa/sys-userpickup-view/sys-userpickup-view.vue'));
......
......@@ -176,7 +176,7 @@ const router = new Router({
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-user-roleedit-view/sys-user-roleedit-view.vue'),
component: () => import('@pages/uaa/sys-user-role-edit-view/sys-user-role-edit-view.vue'),
},
{
path: 'sysroles/:sysrole?/sysuserroles/:sysuserrole?/editview/:editview?',
......@@ -191,7 +191,7 @@ const router = new Router({
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-user-roleedit-view/sys-user-roleedit-view.vue'),
component: () => import('@pages/uaa/sys-user-role-edit-view/sys-user-role-edit-view.vue'),
},
{
path: 'sysuserroles/:sysuserrole?/editview/:editview?',
......@@ -205,7 +205,7 @@ const router = new Router({
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-user-roleedit-view/sys-user-roleedit-view.vue'),
component: () => import('@pages/uaa/sys-user-role-edit-view/sys-user-role-edit-view.vue'),
},
{
path: 'sysroles/:sysrole?/mpickupview/:mpickupview?',
......@@ -463,7 +463,7 @@ const router = new Router({
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-user-roleedit-view/sys-user-roleedit-view.vue'),
component: () => import('@pages/uaa/sys-user-role-edit-view/sys-user-role-edit-view.vue'),
},
{
path: '/sysroles/:sysrole?/sysuserroles/:sysuserrole?/editview/:editview?',
......@@ -477,7 +477,7 @@ const router = new Router({
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-user-roleedit-view/sys-user-roleedit-view.vue'),
component: () => import('@pages/uaa/sys-user-role-edit-view/sys-user-role-edit-view.vue'),
},
{
path: '/sysuserroles/:sysuserrole?/editview/:editview?',
......@@ -490,7 +490,7 @@ const router = new Router({
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-user-roleedit-view/sys-user-roleedit-view.vue'),
component: () => import('@pages/uaa/sys-user-role-edit-view/sys-user-role-edit-view.vue'),
},
{
path: '/sysusers/:sysuser?/mpickupview/:mpickupview?',
......
.view-card {
>.ivu-card-extra {
top: 5px;
right: 0px;
}
}
.sys-user-role-edit-view{
position: relative;
}
.toolbar-container {
button {
margin: 6px 0px 4px 4px;
.caption {
margin-left: 4px;
}
}
.seperator {
color: #dcdee2;
margin: 0 0px 0 4px;
}
}
// this is less
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import SysUserRoleEditViewBase from './sys-user-role-edit-view-base.vue';
import view_form from '@widgets/sys-user-role/main-form/main-form.vue';
@Component({
components: {
view_form,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
if(!Object.is(vm.navModel,"route")){
vm.initNavDataWithTab(vm.viewCacheData);
}
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
})
export default class SysUserRoleEditView extends SysUserRoleEditViewBase {
}
</script>
\ No newline at end of file
......@@ -1167,14 +1167,28 @@ export default class SYS_USER_ROLEGridViewBase extends Vue {
}
const parameters: any[] = [
{ pathName: 'sysuserroles', parameterName: 'sysuserrole' },
{ pathName: 'editview', parameterName: 'editview' },
];
const _this: any = this;
const openIndexViewTab = (data: any) => {
const routePath = this.$viewTool.buildUpRoutePath(this.$route, tempContext, deResParameters, parameters, args, data);
this.$router.push(routePath);
const openDrawer = (view: any, data: any) => {
let container: Subject<any> = this.$appdrawer.openDrawer(view, tempContext, data);
container.subscribe((result: any) => {
if (!result || !Object.is(result.ret, 'OK')) {
return;
}
if (!xData || !(xData.refresh instanceof Function)) {
return;
}
xData.refresh(result.datas);
});
}
openIndexViewTab(data);
const view: any = {
viewname: 'sys-user-role-edit-view',
height: 0,
width: 0,
title: this.$t('entities.sysuserrole.views.editview.title'),
placement: 'DRAWER_RIGHT',
};
openDrawer(view, data);
}
......
......@@ -56,7 +56,7 @@ export const viewstate: any = {
{
viewtag: '1ee68b6d5d4c5c9413f6874e0ccabc43',
viewmodule: 'uaa',
viewname: 'SYS_USER_ROLEEditView',
viewname: 'SysUserRoleEditView',
viewaction: '',
viewdatachange: false,
refviews: [
......
......@@ -114,6 +114,12 @@ export class Interceptors {
if (res.status === 401) {
this.doNoLogin(_data.data);
}
if(res.status === 403){
if(res.data && res.data.status && Object.is(res.data.status,"FORBIDDEN")){
let alertMessage:string ="非常抱歉,您无权操作此数据,如需操作请联系管理员!";
Object.assign(res.data,{localizedMessage:alertMessage,message:alertMessage});
}
}
// if (res.status === 404) {
// this.router.push({ path: '/404' });
// } else if (res.status === 500) {
......
......@@ -323,13 +323,21 @@ export default class MainBase extends Vue implements ControlInterface {
@Prop() mode: any;
/**
* 当前菜单是否在默认视图上
* 应用起始页面
*
* @type {*}
* @type {boolean}
* @memberof MainBase
*/
@Prop({ default: false }) isDefaultPage?: boolean;
/**
* 空白视图模式
*
* @type {boolean}
* @memberof MainBase
*/
@Prop({ default: false }) isBlankMode?:boolean;
/**
* 默认打开视图
*
......@@ -441,7 +449,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @memberof MainBase
*/
public doMenuSelect(): void {
if (!this.isDefaultPage) {
if (!this.isDefaultPage || this.isBlankMode) {
return;
}
const appFuncs: any[] = this.menuMode.getAppFuncs();
......@@ -485,7 +493,7 @@ export default class MainBase extends Vue implements ControlInterface {
public computeMenuSelect(items: any[], appfunctag: string): boolean {
const appFuncs: any[] = this.menuMode.getAppFuncs();
return items.some((item: any) => {
if (Object.is(appfunctag, '') && !Object.is(item.appfunctag, '')) {
if (Object.is(appfunctag, '') && !Object.is(item.appfunctag, '') && item.opendefault) {
const appfunc = appFuncs.find((_appfunc: any) => Object.is(_appfunc.appfunctag, item.appfunctag));
if (appfunc.routepath) {
this.defaultActive = item.name;
......@@ -493,7 +501,7 @@ export default class MainBase extends Vue implements ControlInterface {
return true;
}
}
if (Object.is(item.appfunctag, appfunctag)) {
if (Object.is(item.appfunctag, appfunctag) && item.opendefault) {
this.setHideSideBar(item);
this.defaultActive = item.name;
return true;
......
......@@ -90,6 +90,7 @@ import MainService from './main-form-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import schema from 'async-validator';
@Component({
......@@ -825,7 +826,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void {
public async formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }){
......@@ -845,6 +846,25 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param name 属性名
* @memberof MainBase
*/
public checkItem(name:string):Promise<any> {
return new Promise((resolve, reject) => {
var validator = new schema({[name]:this.rules[name]});
validator.validate({[name]:this.data[name]}).then(()=>{
resolve(true);
})
.catch(() => {
resolve(false);
});;
})
}
/**
......
......@@ -28,6 +28,7 @@ import MainService from './main-form-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import schema from 'async-validator';
@Component({
......@@ -635,7 +636,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void {
public async formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }){
......@@ -648,6 +649,25 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param name 属性名
* @memberof MainBase
*/
public checkItem(name:string):Promise<any> {
return new Promise((resolve, reject) => {
var validator = new schema({[name]:this.rules[name]});
validator.validate({[name]:this.data[name]}).then(()=>{
resolve(true);
})
.catch(() => {
resolve(false);
});;
})
}
/**
......
......@@ -84,6 +84,7 @@ import MainService from './main-form-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import schema from 'async-validator';
@Component({
......@@ -756,7 +757,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void {
public async formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }){
......@@ -773,6 +774,25 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param name 属性名
* @memberof MainBase
*/
public checkItem(name:string):Promise<any> {
return new Promise((resolve, reject) => {
var validator = new schema({[name]:this.rules[name]});
validator.validate({[name]:this.data[name]}).then(()=>{
resolve(true);
})
.catch(() => {
resolve(false);
});;
})
}
/**
......
......@@ -123,6 +123,7 @@ import MainService from './main-form-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import schema from 'async-validator';
@Component({
......@@ -763,7 +764,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void {
public async formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }){
......@@ -783,6 +784,25 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param name 属性名
* @memberof MainBase
*/
public checkItem(name:string):Promise<any> {
return new Promise((resolve, reject) => {
var validator = new schema({[name]:this.rules[name]});
validator.validate({[name]:this.data[name]}).then(()=>{
resolve(true);
})
.catch(() => {
resolve(false);
});;
})
}
/**
......
......@@ -30,6 +30,15 @@ export default class DefaultModel {
{
name: 'personname',
},
{
name: 'loginname',
},
{
name: 'orgname',
},
{
name: 'mdeptname',
},
{
name: 'createdate',
},
......
......@@ -4,7 +4,13 @@
<row>
<i-col span="20" class="form-content">
<row>
</row>
<i-col v-show="detailsModel.n_sys_username_like.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='n_sys_username_like' :itemRules="this.rules.n_sys_username_like" class='' :caption="$t('entities.sysuserrole.default_searchform.details.n_sys_username_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_sys_username_like.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.n_sys_username_like" @enter="onEnter($event)" :disabled="detailsModel.n_sys_username_like.disabled" type='text' style="width:100px;"></input-box>
</app-form-item>
</i-col>
</row>
</i-col>
<i-col span="4" class="search-button">
<row v-show="Object.keys(data).length>0">
......@@ -246,6 +252,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
*/
public data: any = {
n_sys_username_like: null,
};
/**
......@@ -255,6 +262,12 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
*/
public rules: any = {
n_sys_username_like: [
{ type: 'string', message: '用户名称(%) 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '用户名称(%) 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '用户名称(%) 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '用户名称(%) 值不能为空', trigger: 'blur' },
],
}
/**
......@@ -265,9 +278,23 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public detailsModel: any = {
formpage1: new FormPageModel({ caption: '常规条件', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this })
,
n_sys_username_like: new FormItemModel({ caption: '用户名称(%)', detailType: 'FORMITEM', name: 'n_sys_username_like', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 })
,
};
/**
* 监控表单属性 n_sys_username_like 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@Watch('data.n_sys_username_like')
onN_sys_username_likeChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'n_sys_username_like', newVal: newVal, oldVal: oldVal });
}
/**
* 重置表单项值
......@@ -289,6 +316,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
public formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void {
}
/**
......
......@@ -25,6 +25,11 @@ export default class DefaultModel {
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'n_sys_username_like',
prop: 'personname',
dataType: 'PICKUPTEXT',
},
]
}
......
......@@ -97,6 +97,7 @@ import MainService from './main-form-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import schema from 'async-validator';
@Component({
......@@ -769,7 +770,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void {
public async formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }){
......@@ -786,6 +787,25 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param name 属性名
* @memberof MainBase
*/
public checkItem(name:string):Promise<any> {
return new Promise((resolve, reject) => {
var validator = new schema({[name]:this.rules[name]});
validator.validate({[name]:this.data[name]}).then(()=>{
resolve(true);
})
.catch(() => {
resolve(false);
});;
})
}
/**
......
......@@ -40,6 +40,42 @@
</template>
</el-table-column>
</template>
<template v-if="getColumnState('loginname')">
<el-table-column show-overflow-tooltip :prop="'loginname'" :label="$t('entities.sysuserrole.main_grid.columns.loginname')" :width="200" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.sysuserrole.main_grid.columns.loginname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.loginname}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('orgname')">
<el-table-column show-overflow-tooltip :prop="'orgname'" :label="$t('entities.sysuserrole.main_grid.columns.orgname')" :width="250" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.sysuserrole.main_grid.columns.orgname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.orgname}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('mdeptname')">
<el-table-column show-overflow-tooltip :prop="'mdeptname'" :label="$t('entities.sysuserrole.main_grid.columns.mdeptname')" :width="250" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.sysuserrole.main_grid.columns.mdeptname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.mdeptname}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('sys_rolename')">
<el-table-column show-overflow-tooltip :prop="'sys_rolename'" :label="$t('entities.sysuserrole.main_grid.columns.sys_rolename')" :width="250" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
......@@ -554,6 +590,30 @@ export default class MainBase extends Vue implements ControlInterface {
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'loginname',
label: '登录名',
langtag: 'entities.sysuserrole.main_grid.columns.loginname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'orgname',
label: '单位',
langtag: 'entities.sysuserrole.main_grid.columns.orgname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'mdeptname',
label: '主部门',
langtag: 'entities.sysuserrole.main_grid.columns.mdeptname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'sys_rolename',
label: '角色名称',
......
......@@ -26,6 +26,11 @@ export default class MainModel {
]
}else{
return [
{
name: 'loginname',
prop: 'loginname',
dataType: 'PICKUPDATA',
},
{
name: 'sys_rolename',
prop: 'rolename',
......@@ -41,6 +46,16 @@ export default class MainModel {
prop: 'roleid',
dataType: 'PICKUP',
},
{
name: 'orgname',
prop: 'orgname',
dataType: 'PICKUPDATA',
},
{
name: 'mdeptname',
prop: 'mdeptname',
dataType: 'PICKUPDATA',
},
{
name: 'srfmajortext',
prop: 'userid',
......@@ -65,6 +80,11 @@ export default class MainModel {
name: 'sysuserrole',
prop: 'userroleid',
},
{
name: 'n_sys_username_like',
prop: 'n_sys_username_like',
dataType: 'PICKUPTEXT',
},
{
name:'size',
......
......@@ -30,6 +30,15 @@ export default class MPickupViewpickupviewpanelModel {
{
name: 'personname',
},
{
name: 'loginname',
},
{
name: 'orgname',
},
{
name: 'mdeptname',
},
{
name: 'createdate',
},
......
......@@ -30,6 +30,15 @@ export default class PickupViewpickupviewpanelModel {
{
name: 'personname',
},
{
name: 'loginname',
},
{
name: 'orgname',
},
{
name: 'mdeptname',
},
{
name: 'createdate',
},
......
......@@ -69,15 +69,15 @@ export default class DefaultModel {
{
name: 'nickname',
},
{
name: 'certcode',
},
{
name: 'sex',
},
{
name: 'birthday',
},
{
name: 'certcode',
},
{
name: 'phone',
},
......@@ -108,6 +108,9 @@ export default class DefaultModel {
{
name: 'reserver',
},
{
name: 'superuser',
},
]
}
......
......@@ -4,7 +4,31 @@
<row>
<i-col span="20" class="form-content">
<row>
</row>
<i-col v-show="detailsModel.n_personname_like.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='n_personname_like' :itemRules="this.rules.n_personname_like" class='' :caption="$t('entities.sysuser.default_searchform.details.n_personname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_personname_like.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.n_personname_like" @enter="onEnter($event)" :disabled="detailsModel.n_personname_like.disabled" type='text' style="width:100px;"></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.n_loginname_like.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='n_loginname_like' :itemRules="this.rules.n_loginname_like" class='' :caption="$t('entities.sysuser.default_searchform.details.n_loginname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_loginname_like.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.n_loginname_like" @enter="onEnter($event)" :disabled="detailsModel.n_loginname_like.disabled" type='text' style="width:100px;"></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.n_mdeptname_like.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='n_mdeptname_like' :itemRules="this.rules.n_mdeptname_like" class='' :caption="$t('entities.sysuser.default_searchform.details.n_mdeptname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_mdeptname_like.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.n_mdeptname_like" @enter="onEnter($event)" :disabled="detailsModel.n_mdeptname_like.disabled" type='text' style="width:100px;"></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.n_orgname_like.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 8, offset: 0 }" :xl="{ span: 6, offset: 0 }">
<app-form-item name='n_orgname_like' :itemRules="this.rules.n_orgname_like" class='' :caption="$t('entities.sysuser.default_searchform.details.n_orgname_like')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_orgname_like.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.n_orgname_like" @enter="onEnter($event)" :disabled="detailsModel.n_orgname_like.disabled" type='text' style="width:100px;"></input-box>
</app-form-item>
</i-col>
</row>
</i-col>
<i-col span="4" class="search-button">
<row v-show="Object.keys(data).length>0">
......@@ -246,6 +270,10 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
*/
public data: any = {
n_personname_like: null,
n_loginname_like: null,
n_mdeptname_like: null,
n_orgname_like: null,
};
/**
......@@ -255,6 +283,30 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @memberof DefaultBase
*/
public rules: any = {
n_personname_like: [
{ type: 'string', message: '用户姓名(文本包含(%)) 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '用户姓名(文本包含(%)) 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '用户姓名(文本包含(%)) 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '用户姓名(文本包含(%)) 值不能为空', trigger: 'blur' },
],
n_loginname_like: [
{ type: 'string', message: '登录名(文本包含(%)) 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '登录名(文本包含(%)) 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '登录名(文本包含(%)) 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '登录名(文本包含(%)) 值不能为空', trigger: 'blur' },
],
n_mdeptname_like: [
{ type: 'string', message: '主部门名称(文本包含(%)) 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '主部门名称(文本包含(%)) 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '主部门名称(文本包含(%)) 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '主部门名称(文本包含(%)) 值不能为空', trigger: 'blur' },
],
n_orgname_like: [
{ type: 'string', message: '单位名称(文本包含(%)) 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '单位名称(文本包含(%)) 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '单位名称(文本包含(%)) 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '单位名称(文本包含(%)) 值不能为空', trigger: 'blur' },
],
}
/**
......@@ -265,9 +317,65 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/
public detailsModel: any = {
formpage1: new FormPageModel({ caption: '常规条件', detailType: 'FORMPAGE', name: 'formpage1', visible: true, isShowCaption: true, form: this })
,
n_personname_like: new FormItemModel({ caption: '用户姓名(文本包含(%))', detailType: 'FORMITEM', name: 'n_personname_like', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 })
,
n_loginname_like: new FormItemModel({ caption: '登录名(文本包含(%))', detailType: 'FORMITEM', name: 'n_loginname_like', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 })
,
n_mdeptname_like: new FormItemModel({ caption: '主部门名称(文本包含(%))', detailType: 'FORMITEM', name: 'n_mdeptname_like', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 })
,
n_orgname_like: new FormItemModel({ caption: '单位名称(文本包含(%))', detailType: 'FORMITEM', name: 'n_orgname_like', visible: true, isShowCaption: true, form: this, disabled: false, enableCond: 3 })
,
};
/**
* 监控表单属性 n_personname_like 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@Watch('data.n_personname_like')
onN_personname_likeChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'n_personname_like', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 n_loginname_like 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@Watch('data.n_loginname_like')
onN_loginname_likeChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'n_loginname_like', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 n_mdeptname_like 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@Watch('data.n_mdeptname_like')
onN_mdeptname_likeChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'n_mdeptname_like', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 n_orgname_like 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof DefaultBase
*/
@Watch('data.n_orgname_like')
onN_orgname_likeChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'n_orgname_like', newVal: newVal, oldVal: oldVal });
}
/**
* 重置表单项值
......@@ -289,6 +397,10 @@ export default class DefaultBase extends Vue implements ControlInterface {
public formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void {
}
/**
......
......@@ -25,6 +25,26 @@ export default class DefaultModel {
prop: 'srffrontuf',
dataType: 'TEXT',
},
{
name: 'n_personname_like',
prop: 'personname',
dataType: 'TEXT',
},
{
name: 'n_loginname_like',
prop: 'loginname',
dataType: 'TEXT',
},
{
name: 'n_mdeptname_like',
prop: 'mdeptname',
dataType: 'TEXT',
},
{
name: 'n_orgname_like',
prop: 'orgname',
dataType: 'TEXT',
},
]
}
......
......@@ -20,6 +20,24 @@
<input-box v-model="data.personname" @enter="onEnter($event)" unit="" :disabled="detailsModel.personname.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.loginname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='loginname' :itemRules="this.rules.loginname" class='' :caption="$t('entities.sysuser.main_form.details.loginname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.loginname.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.loginname" @enter="onEnter($event)" unit="" :disabled="detailsModel.loginname.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<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.sysuser.main_form.details.orgname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.orgname.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.orgname" @enter="onEnter($event)" unit="" :disabled="detailsModel.orgname.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<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.sysuser.main_form.details.mdeptname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.mdeptname.error" :isEmptyCaption="false" labelPos="LEFT">
<input-box v-model="data.mdeptname" @enter="onEnter($event)" unit="" :disabled="detailsModel.mdeptname.disabled" type='text' style=""></input-box>
</app-form-item>
</i-col>
<i-col v-show="detailsModel.druipart1.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-druipart
......@@ -66,6 +84,7 @@ import MainService from './main-form-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import schema from 'async-validator';
@Component({
......@@ -366,6 +385,9 @@ export default class MainBase extends Vue implements ControlInterface {
userid: null,
username: null,
personname: null,
loginname: null,
orgname: null,
mdeptname: null,
sysuser:null,
};
......@@ -468,6 +490,24 @@ export default class MainBase extends Vue implements ControlInterface {
{ required: false, type: 'string', message: '用户姓名 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '用户姓名 值不能为空', trigger: 'blur' },
],
loginname: [
{ type: 'string', message: '登录名 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '登录名 值必须为字符串类型', trigger: 'blur' },
{ required: true, type: 'string', message: '登录名 值不能为空', trigger: 'change' },
{ required: true, type: 'string', message: '登录名 值不能为空', trigger: 'blur' },
],
orgname: [
{ 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: [
{ type: 'string', message: '主部门名称 值必须为字符串类型', trigger: 'change' },
{ type: 'string', message: '主部门名称 值必须为字符串类型', trigger: 'blur' },
{ required: false, type: 'string', message: '主部门名称 值不能为空', trigger: 'change' },
{ required: false, type: 'string', message: '主部门名称 值不能为空', trigger: 'blur' },
],
}
/**
......@@ -500,6 +540,12 @@ export default class MainBase extends Vue implements ControlInterface {
username: new FormItemModel({ caption: '用户全局名', detailType: 'FORMITEM', name: 'username', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
personname: new FormItemModel({ caption: '用户姓名', detailType: 'FORMITEM', name: 'personname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
loginname: new FormItemModel({ caption: '登录名', detailType: 'FORMITEM', name: 'loginname', 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: 3 })
,
mdeptname: new FormItemModel({ caption: '主部门名称', detailType: 'FORMITEM', name: 'mdeptname', visible: true, isShowCaption: true, form: this, isControlledContent: false , disabled: false, enableCond: 3 })
,
};
......@@ -623,6 +669,42 @@ export default class MainBase extends Vue implements ControlInterface {
this.formDataChange({ name: 'personname', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 loginname 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@Watch('data.loginname')
onLoginnameChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'loginname', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 orgname 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@Watch('data.orgname')
onOrgnameChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'orgname', newVal: newVal, oldVal: oldVal });
}
/**
* 监控表单属性 mdeptname 值
*
* @param {*} newVal
* @param {*} oldVal
* @memberof MainBase
*/
@Watch('data.mdeptname')
onMdeptnameChange(newVal: any, oldVal: any) {
this.formDataChange({ name: 'mdeptname', newVal: newVal, oldVal: oldVal });
}
/**
* 显示更多模式切换操作
......@@ -675,7 +757,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @param {{ name: string, newVal: any, oldVal: any }} { name, newVal, oldVal }
* @memberof MainBase
*/
public formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }): void {
public async formLogic({ name, newVal, oldVal }: { name: string, newVal: any, oldVal: any }){
......@@ -689,6 +771,28 @@ export default class MainBase extends Vue implements ControlInterface {
}
/**
* 表单项检查逻辑
*
* @public
* @param name 属性名
* @memberof MainBase
*/
public checkItem(name:string):Promise<any> {
return new Promise((resolve, reject) => {
var validator = new schema({[name]:this.rules[name]});
validator.validate({[name]:this.data[name]}).then(()=>{
resolve(true);
})
.catch(() => {
resolve(false);
});;
})
}
/**
......
......@@ -65,6 +65,21 @@ export default class MainModel {
prop: 'personname',
dataType: 'TEXT',
},
{
name: 'loginname',
prop: 'loginname',
dataType: 'TEXT',
},
{
name: 'orgname',
prop: 'orgname',
dataType: 'TEXT',
},
{
name: 'mdeptname',
prop: 'mdeptname',
dataType: 'TEXT',
},
{
name: 'sysuser',
prop: 'userid',
......
......@@ -57,6 +57,42 @@
</template>
</el-table-column>
</template>
<template v-if="getColumnState('loginname')">
<el-table-column show-overflow-tooltip :prop="'loginname'" :label="$t('entities.sysuser.main_grid.columns.loginname')" :width="200" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.sysuser.main_grid.columns.loginname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.loginname}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('orgname')">
<el-table-column show-overflow-tooltip :prop="'orgname'" :label="$t('entities.sysuser.main_grid.columns.orgname')" :width="250" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.sysuser.main_grid.columns.orgname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.orgname}}</span>
</template>
</el-table-column>
</template>
<template v-if="getColumnState('mdeptname')">
<el-table-column show-overflow-tooltip :prop="'mdeptname'" :label="$t('entities.sysuser.main_grid.columns.mdeptname')" :width="250" :align="'left'" :sortable="'custom'">
<template v-slot:header="{column}">
<span class="column-header ">
{{$t('entities.sysuser.main_grid.columns.mdeptname')}}
</span>
</template>
<template v-slot="{row,column,$index}">
<span>{{row.mdeptname}}</span>
</template>
</el-table-column>
</template>
<template v-if="adaptiveState">
<el-table-column></el-table-column>
</template>
......@@ -568,6 +604,30 @@ export default class MainBase extends Vue implements ControlInterface {
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'loginname',
label: '登录名',
langtag: 'entities.sysuser.main_grid.columns.loginname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'orgname',
label: '单位名称',
langtag: 'entities.sysuser.main_grid.columns.orgname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
{
name: 'mdeptname',
label: '主部门名称',
langtag: 'entities.sysuser.main_grid.columns.mdeptname',
show: true,
util: 'PX',
isEnableRowEdit: false,
},
]
/**
......
......@@ -26,16 +26,31 @@ export default class MainModel {
]
}else{
return [
{
name: 'loginname',
prop: 'loginname',
dataType: 'TEXT',
},
{
name: 'username',
prop: 'username',
dataType: 'TEXT',
},
{
name: 'orgname',
prop: 'orgname',
dataType: 'TEXT',
},
{
name: 'userid',
prop: 'userid',
dataType: 'TEXT',
},
{
name: 'mdeptname',
prop: 'mdeptname',
dataType: 'TEXT',
},
{
name: 'personname',
prop: 'personname',
......@@ -60,6 +75,26 @@ export default class MainModel {
name: 'sysuser',
prop: 'userid',
},
{
name: 'n_personname_like',
prop: 'n_personname_like',
dataType: 'TEXT',
},
{
name: 'n_loginname_like',
prop: 'n_loginname_like',
dataType: 'TEXT',
},
{
name: 'n_mdeptname_like',
prop: 'n_mdeptname_like',
dataType: 'TEXT',
},
{
name: 'n_orgname_like',
prop: 'n_orgname_like',
dataType: 'TEXT',
},
{
name:'size',
......
......@@ -69,15 +69,15 @@ export default class MPickupViewpickupviewpanelModel {
{
name: 'nickname',
},
{
name: 'certcode',
},
{
name: 'sex',
},
{
name: 'birthday',
},
{
name: 'certcode',
},
{
name: 'phone',
},
......@@ -108,6 +108,9 @@ export default class MPickupViewpickupviewpanelModel {
{
name: 'reserver',
},
{
name: 'superuser',
},
]
}
......
......@@ -69,15 +69,15 @@ export default class PickupViewpickupviewpanelModel {
{
name: 'nickname',
},
{
name: 'certcode',
},
{
name: 'sex',
},
{
name: 'birthday',
},
{
name: 'certcode',
},
{
name: 'phone',
},
......@@ -108,6 +108,9 @@ export default class PickupViewpickupviewpanelModel {
{
name: 'reserver',
},
{
name: 'superuser',
},
]
}
......
......@@ -168,13 +168,6 @@ public class SysUser extends EntityMP implements Serializable {
@JSONField(name = "nickname")
@JsonProperty("nickname")
private String nickname;
/**
* 证件号码
*/
@TableField(value = "certcode")
@JSONField(name = "certcode")
@JsonProperty("certcode")
private String certcode;
/**
* 性别
*/
......@@ -190,6 +183,13 @@ public class SysUser extends EntityMP implements Serializable {
@JSONField(name = "birthday" , format="yyyy-MM-dd")
@JsonProperty("birthday")
private Timestamp birthday;
/**
* 证件号码
*/
@TableField(value = "certcode")
@JSONField(name = "certcode")
@JsonProperty("certcode")
private String certcode;
/**
* 联系方式
*/
......@@ -260,6 +260,14 @@ public class SysUser extends EntityMP implements Serializable {
@JSONField(name = "reserver")
@JsonProperty("reserver")
private String reserver;
/**
* 超级管理员
*/
@DEField(defaultValue = "0")
@TableField(value = "superuser")
@JSONField(name = "superuser")
@JsonProperty("superuser")
private Integer superuser;
......@@ -383,14 +391,6 @@ public class SysUser extends EntityMP implements Serializable {
this.modify("nickname",nickname);
}
/**
* 设置 [证件号码]
*/
public void setCertcode(String certcode){
this.certcode = certcode ;
this.modify("certcode",certcode);
}
/**
* 设置 [性别]
*/
......@@ -417,6 +417,14 @@ public class SysUser extends EntityMP implements Serializable {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(birthday);
}
/**
* 设置 [证件号码]
*/
public void setCertcode(String certcode){
this.certcode = certcode ;
this.modify("certcode",certcode);
}
/**
* 设置 [联系方式]
*/
......@@ -497,6 +505,14 @@ public class SysUser extends EntityMP implements Serializable {
this.modify("reserver",reserver);
}
/**
* 设置 [超级管理员]
*/
public void setSuperuser(Integer superuser){
this.superuser = superuser ;
this.modify("superuser",superuser);
}
}
......
......@@ -77,6 +77,27 @@ public class SysUserRole extends EntityMP implements Serializable {
@JSONField(name = "personname")
@JsonProperty("personname")
private String personname;
/**
* 登录名
*/
@TableField(exist = false)
@JSONField(name = "loginname")
@JsonProperty("loginname")
private String loginname;
/**
* 单位
*/
@TableField(exist = false)
@JSONField(name = "orgname")
@JsonProperty("orgname")
private String orgname;
/**
* 主部门
*/
@TableField(exist = false)
@JSONField(name = "mdeptname")
@JsonProperty("mdeptname")
private String mdeptname;
/**
* 建立时间
*/
......
......@@ -41,6 +41,27 @@ public class SysUserSearchContext extends QueryWrapperContext<SysUser> {
this.getSearchCond().like("personname", n_personname_like);
}
}
private String n_loginname_like;//[登录名]
public void setN_loginname_like(String n_loginname_like) {
this.n_loginname_like = n_loginname_like;
if(!ObjectUtils.isEmpty(this.n_loginname_like)){
this.getSearchCond().like("loginname", n_loginname_like);
}
}
private String n_mdeptname_like;//[主部门名称]
public void setN_mdeptname_like(String n_mdeptname_like) {
this.n_mdeptname_like = n_mdeptname_like;
if(!ObjectUtils.isEmpty(this.n_mdeptname_like)){
this.getSearchCond().like("mdeptname", n_mdeptname_like);
}
}
private String n_orgname_like;//[单位名称]
public void setN_orgname_like(String n_orgname_like) {
this.n_orgname_like = n_orgname_like;
if(!ObjectUtils.isEmpty(this.n_orgname_like)){
this.getSearchCond().like("orgname", n_orgname_like);
}
}
/**
* 启用快速搜索
......
......@@ -210,6 +210,9 @@ public class SysUserRoleServiceImpl extends ServiceImpl<SysUserRoleMapper, SysUs
user=majorEntity;
}
et.setPersonname(user.getPersonname());
et.setLoginname(user.getLoginname());
et.setOrgname(user.getOrgname());
et.setMdeptname(user.getMdeptname());
}
}
......
......@@ -52,7 +52,7 @@
<!--输出实体[SYS_USER_ROLE]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_user_role-62-3">
<changeSet author="a_A_5d9d78509" id="tab-sys_user_role-70-3">
<createTable tableName="IBZUSER_ROLE">
<column name="SYS_USER_ROLEID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_USER_ROLE_SYS_USER_ROLE"/>
......@@ -134,7 +134,7 @@
<addForeignKeyConstraint baseColumnNames="SYS_PERMISSIONID" baseTableName="IBZROLE_PERMISSION" constraintName="DER1N_SYS_ROLE_PERMISSION_SYS_" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SYS_PERMISSIONID" referencedTableName="IBZPERMISSION" validate="true"/>
</changeSet>
<!--输出实体[SYS_USER_ROLE]外键关系 -->
<changeSet author="a_A_5d9d78509" id="fk-sys_user_role-62-9">
<changeSet author="a_A_5d9d78509" id="fk-sys_user_role-70-9">
<addForeignKeyConstraint baseColumnNames="SYS_ROLEID" baseTableName="IBZUSER_ROLE" constraintName="DER1N_SYS_USER_ROLE_SYS_ROLE_S" deferrable="false" initiallyDeferred="false" onDelete="RESTRICT" onUpdate="RESTRICT" referencedColumnNames="SYS_ROLEID" referencedTableName="IBZROLE" validate="true"/>
</changeSet>
<!--输出实体[SYS_ROLE]外键关系 -->
......
......@@ -24,7 +24,7 @@
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`ADDR`, t1.`AVATAR`, t1.`BCODE`, t1.`BIRTHDAY`, t1.`CERTCODE`, t1.`DOMAINS`, t1.`EMAIL`, t1.`FONTSIZE`, t1.`LANG`, t1.`LOGINNAME`, t1.`MDEPTCODE`, t1.`MDEPTID`, t1.`MDEPTNAME`, t1.`MEMO`, t1.`NICKNAME`, t1.`ORGCODE`, t1.`ORGID`, t1.`ORGNAME`, t1.`PASSWORD`, t1.`PERSONNAME`, t1.`PHONE`, t1.`POSTCODE`, t1.`POSTID`, t1.`POSTNAME`, t1.`RESERVER`, t1.`SEX`, t1.`THEME`, t1.`USERCODE`, t1.`USERICON`, t1.`USERID`, t1.`USERNAME` FROM `IBZUSER` t1
<![CDATA[ SELECT t1.`ADDR`, t1.`AVATAR`, t1.`BCODE`, t1.`BIRTHDAY`, t1.`CERTCODE`, t1.`DOMAINS`, t1.`EMAIL`, t1.`FONTSIZE`, t1.`LANG`, t1.`LOGINNAME`, t1.`MDEPTCODE`, t1.`MDEPTID`, t1.`MDEPTNAME`, t1.`MEMO`, t1.`NICKNAME`, t1.`ORGCODE`, t1.`ORGID`, t1.`ORGNAME`, t1.`PASSWORD`, t1.`PERSONNAME`, t1.`PHONE`, t1.`POSTCODE`, t1.`POSTID`, t1.`POSTNAME`, t1.`RESERVER`, t1.`SEX`, t1.`SUPERUSER`, t1.`THEME`, t1.`USERCODE`, t1.`USERICON`, t1.`USERID`, t1.`USERNAME` FROM `IBZUSER` t1
]]>
</sql>
<!--数据查询[Default]-->
......
......@@ -46,7 +46,7 @@
<!--数据查询[Default]-->
<sql id="Default" databaseId="mysql">
<![CDATA[ SELECT t1.`CREATEDATE`, t1.`SYS_ROLEID`, t11.`SYS_ROLENAME`, t1.`SYS_USERID`, t21.`PERSONNAME` AS `SYS_USERNAME`, t1.`SYS_USER_ROLEID`, t1.`UPDATEDATE` FROM `IBZUSER_ROLE` t1 LEFT JOIN IBZROLE t11 ON t1.SYS_ROLEID = t11.SYS_ROLEID LEFT JOIN IBZUSER t21 ON t1.SYS_USERID = t21.USERID
<![CDATA[ SELECT t1.`CREATEDATE`, t21.`LOGINNAME`, t21.`MDEPTNAME`, t21.`ORGNAME`, t1.`SYS_ROLEID`, t11.`SYS_ROLENAME`, t1.`SYS_USERID`, t21.`PERSONNAME` AS `SYS_USERNAME`, t1.`SYS_USER_ROLEID`, t1.`UPDATEDATE` FROM `IBZUSER_ROLE` t1 LEFT JOIN IBZROLE t11 ON t1.SYS_ROLEID = t11.SYS_ROLEID LEFT JOIN IBZUSER t21 ON t1.SYS_USERID = t21.USERID
]]>
</sql>
<!--数据查询[Default]-->
......
......@@ -167,14 +167,6 @@ public class SysUserDTO extends DTOBase implements Serializable {
@JsonProperty("nickname")
private String nickname;
/**
* 属性 [CERTCODE]
*
*/
@JSONField(name = "certcode")
@JsonProperty("certcode")
private String certcode;
/**
* 属性 [SEX]
*
......@@ -192,6 +184,14 @@ public class SysUserDTO extends DTOBase implements Serializable {
@JsonProperty("birthday")
private Timestamp birthday;
/**
* 属性 [CERTCODE]
*
*/
@JSONField(name = "certcode")
@JsonProperty("certcode")
private String certcode;
/**
* 属性 [PHONE]
*
......@@ -272,6 +272,14 @@ public class SysUserDTO extends DTOBase implements Serializable {
@JsonProperty("reserver")
private String reserver;
/**
* 属性 [SUPERUSER]
*
*/
@JSONField(name = "superuser")
@JsonProperty("superuser")
private Integer superuser;
/**
* 设置 [USERNAME]
......@@ -393,14 +401,6 @@ public class SysUserDTO extends DTOBase implements Serializable {
this.modify("nickname",nickname);
}
/**
* 设置 [CERTCODE]
*/
public void setCertcode(String certcode){
this.certcode = certcode ;
this.modify("certcode",certcode);
}
/**
* 设置 [SEX]
*/
......@@ -417,6 +417,14 @@ public class SysUserDTO extends DTOBase implements Serializable {
this.modify("birthday",birthday);
}
/**
* 设置 [CERTCODE]
*/
public void setCertcode(String certcode){
this.certcode = certcode ;
this.modify("certcode",certcode);
}
/**
* 设置 [PHONE]
*/
......@@ -497,6 +505,14 @@ public class SysUserDTO extends DTOBase implements Serializable {
this.modify("reserver",reserver);
}
/**
* 设置 [SUPERUSER]
*/
public void setSuperuser(Integer superuser){
this.superuser = superuser ;
this.modify("superuser",superuser);
}
}
......@@ -63,6 +63,30 @@ public class SysUserRoleDTO extends DTOBase implements Serializable {
@JsonProperty("personname")
private String personname;
/**
* 属性 [LOGINNAME]
*
*/
@JSONField(name = "loginname")
@JsonProperty("loginname")
private String loginname;
/**
* 属性 [ORGNAME]
*
*/
@JSONField(name = "orgname")
@JsonProperty("orgname")
private String orgname;
/**
* 属性 [MDEPTNAME]
*
*/
@JSONField(name = "mdeptname")
@JsonProperty("mdeptname")
private String mdeptname;
/**
* 属性 [CREATEDATE]
*
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册