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

ibiz4j 发布系统代码

上级 f2fdc639
......@@ -39,6 +39,14 @@
"viewname": "WFGroupPickupGridView",
"viewtag": "17ccd6d8d2bb7cf30158253da129ec1b"
},
"sysusermpickupview": {
"title": "用户表数据多项选择视图",
"caption": "系统用户",
"viewtype": "DEMPICKUPVIEW",
"viewmodule": "uaa",
"viewname": "SysUserMPickupView",
"viewtag": "1f8cf7e78d6d88588d1d568d1866cc77"
},
"sysauthloggridview": {
"title": "认证日志表格视图",
"caption": "认证日志",
......
......@@ -7,6 +7,10 @@ export default {
password: '密码',
},
views: {
mpickupview: {
caption: "Internal Error",
title: 'Condition',
},
pickupview: {
caption: "Internal Error",
title: 'Workflow',
......
......@@ -6,6 +6,10 @@ export default {
password: '密码',
},
views: {
mpickupview: {
caption: '系统用户',
title: '系统用户',
},
pickupview: {
caption: '系统用户',
title: '系统用户',
......
......@@ -47,6 +47,14 @@ mock.onGet('./assets/json/view-config.json').reply((config: any) => {
"viewname": "WFGroupPickupGridView",
"viewtag": "17ccd6d8d2bb7cf30158253da129ec1b"
},
"sysusermpickupview": {
"title": "用户表数据多项选择视图",
"caption": "系统用户",
"viewtype": "DEMPICKUPVIEW",
"viewmodule": "uaa",
"viewname": "SysUserMPickupView",
"viewtag": "1f8cf7e78d6d88588d1d568d1866cc77"
},
"sysauthloggridview": {
"title": "认证日志表格视图",
"caption": "认证日志",
......
......@@ -11,6 +11,7 @@ export const PageComponents = {
Vue.component('sys-user-pickup-view', () => import('@pages/uaa/sys-user-pickup-view/sys-user-pickup-view.vue'));
Vue.component('wfprocess-definition-grid-view', () => import('@pages/workflow/wfprocess-definition-grid-view/wfprocess-definition-grid-view.vue'));
Vue.component('ibzemployee-grid-view', () => import('@pages/ou/ibzemployee-grid-view/ibzemployee-grid-view.vue'));
Vue.component('sys-user-mpickup-view', () => import('@pages/uaa/sys-user-mpickup-view/sys-user-mpickup-view.vue'));
Vue.component('ibzdept-member-grid-view', () => import('@pages/ou/ibzdept-member-grid-view/ibzdept-member-grid-view.vue'));
Vue.component('ibzdepartment-pickup-grid-view', () => import('@pages/ou/ibzdepartment-pickup-grid-view/ibzdepartment-pickup-grid-view.vue'));
Vue.component('sys-user-role-grid-view', () => import('@pages/uaa/sys-user-role-grid-view/sys-user-role-grid-view.vue'));
......@@ -38,8 +39,8 @@ export const PageComponents = {
Vue.component('ibzorganization-pickup-view', () => import('@pages/ou/ibzorganization-pickup-view/ibzorganization-pickup-view.vue'));
Vue.component('wfgroup-grid-view', () => import('@pages/workflow/wfgroup-grid-view/wfgroup-grid-view.vue'));
Vue.component('ibzorganization-pickup-grid-view', () => import('@pages/ou/ibzorganization-pickup-grid-view/ibzorganization-pickup-grid-view.vue'));
Vue.component('sys-user-pickup-grid-view', () => import('@pages/uaa/sys-user-pickup-grid-view/sys-user-pickup-grid-view.vue'));
Vue.component('wfuser-pickup-view', () => import('@pages/workflow/wfuser-pickup-view/wfuser-pickup-view.vue'));
Vue.component('sys-user-pickup-grid-view', () => import('@pages/uaa/sys-user-pickup-grid-view/sys-user-pickup-grid-view.vue'));
Vue.component('ibzdepartment-grid-view', () => import('@pages/ou/ibzdepartment-grid-view/ibzdepartment-grid-view.vue'));
Vue.component('sys-permission-mpickup-view', () => import('@pages/uaa/sys-permission-mpickup-view/sys-permission-mpickup-view.vue'));
}
......
......@@ -349,6 +349,19 @@ const router = new Router({
},
component: () => import('@pages/ou/ibzemployee-grid-view/ibzemployee-grid-view.vue'),
},
{
path: 'sysusers/:sysuser?/mpickupview/:mpickupview?',
meta: {
caption: 'entities.sysuser.views.mpickupview.caption',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'sysusers', parameterName: 'sysuser' },
{ pathName: 'mpickupview', parameterName: 'mpickupview' },
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-user-mpickup-view/sys-user-mpickup-view.vue'),
},
{
path: 'ibzorganizations/:ibzorganization?/ibzdepartments/:ibzdepartment?/ibzemployees/:ibzemployee?/ibzdeptmembers/:ibzdeptmember?/gridview/:gridview?',
meta: {
......@@ -1074,30 +1087,30 @@ const router = new Router({
component: () => import('@pages/ou/ibzorganization-pickup-grid-view/ibzorganization-pickup-grid-view.vue'),
},
{
path: 'sysusers/:sysuser?/pickupgridview/:pickupgridview?',
path: 'wfusers/:wfuser?/pickupview/:pickupview?',
meta: {
caption: 'entities.sysuser.views.pickupgridview.caption',
caption: 'entities.wfuser.views.pickupview.caption',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'sysusers', parameterName: 'sysuser' },
{ pathName: 'pickupgridview', parameterName: 'pickupgridview' },
{ pathName: 'wfusers', parameterName: 'wfuser' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-user-pickup-grid-view/sys-user-pickup-grid-view.vue'),
component: () => import('@pages/workflow/wfuser-pickup-view/wfuser-pickup-view.vue'),
},
{
path: 'wfusers/:wfuser?/pickupview/:pickupview?',
path: 'sysusers/:sysuser?/pickupgridview/:pickupgridview?',
meta: {
caption: 'entities.wfuser.views.pickupview.caption',
caption: 'entities.sysuser.views.pickupgridview.caption',
parameters: [
{ pathName: 'index', parameterName: 'index' },
{ pathName: 'wfusers', parameterName: 'wfuser' },
{ pathName: 'pickupview', parameterName: 'pickupview' },
{ pathName: 'sysusers', parameterName: 'sysuser' },
{ pathName: 'pickupgridview', parameterName: 'pickupgridview' },
],
requireAuth: true,
},
component: () => import('@pages/workflow/wfuser-pickup-view/wfuser-pickup-view.vue'),
component: () => import('@pages/uaa/sys-user-pickup-grid-view/sys-user-pickup-grid-view.vue'),
},
{
path: 'ibzorganizations/:ibzorganization?/ibzdepartments/:ibzdepartment?/gridview/:gridview?',
......@@ -1268,6 +1281,18 @@ const router = new Router({
},
component: () => import('@pages/workflow/wfgroup-pickup-grid-view/wfgroup-pickup-grid-view.vue'),
},
{
path: '/sysusers/:sysuser?/mpickupview/:mpickupview?',
meta: {
caption: 'entities.sysuser.views.mpickupview.caption',
parameters: [
{ pathName: 'sysusers', parameterName: 'sysuser' },
{ pathName: 'mpickupview', parameterName: 'mpickupview' },
],
requireAuth: true,
},
component: () => import('@pages/uaa/sys-user-mpickup-view/sys-user-mpickup-view.vue'),
},
{
path: '/sysauthlogs/:sysauthlog?/gridview/:gridview?',
meta: {
......
.sys-user-mpickup-view{
position: relative;
}
.pickup-view {
>.translate-contant {
flex-grow: 1;
display: flex;
justify-content: flex-end;
height: calc(100% - 64px);
.translate-buttons {
width: 80px;
display: flex;
align-items: center;
text-align: center;
button {
margin-bottom: 5px;
}
}
.left, .right {
width: 300px;
}
.right {
border: 1px solid #e9e9e9;
.mpicker-select {
font-family: helvetica, sans-serif;
font-size: 16px;
text-align: justify;
word-spacing: -3.8pt;
line-height: 1.6;
font-weight: bold;
word-spacing: 10px;
height: 100%;
overflow: auto;
}
.mpicker-select > div {
padding: 3px 10px;
font-size: 14px;
color: rgba(0, 0, 0, 0.85);
font-weight: initial;
cursor: pointer;
min-height: 28px;
border: 1px solid #e9e9e9;
margin: 4px 4px;
transition: all .3s;
}
.mpicker-select > div:hover {
background: #ecf6fd;
}
.mpicker-select > .select{
color: #108ee9;
background: #ecf6fd;
}
}
.center{
width: calc(100% - 380px);
.pickupviewpanel {
width: 100%;
height: 100%;
}
}
}
>.footer {
height: 64px;
}
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import SysUserMPickupViewBase from './sys-user-mpickup-view-base.vue';
import view_pickupviewpanel from '@widgets/sys-user/mpickup-viewpickupviewpanel-pickupviewpanel/mpickup-viewpickupviewpanel-pickupviewpanel.vue';
@Component({
components: {
view_pickupviewpanel,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
})
export default class SysUserMPickupView extends SysUserMPickupViewBase {
}
</script>
\ No newline at end of file
......@@ -1128,6 +1128,11 @@ export default class SysUserRoleGridViewBase extends Vue {
* @memberof SysUserRoleGridView
*/
public newdata(args: any[],fullargs?:any[], params?: any, $event?: any, xData?: any) {
const batchAddPSAppViews=[
{view:{viewname:'sys-user-mpickup-view',height: 0,width: 0,title: '用户表数据多项选择视图'},
res:['SysUser'],
'resAppKey':'userid'}
];
if(batchAddPSAppViews.length == 0 || !this.context.srfparentdename){
this.$Notice.warning({ title: '错误', desc: '批量添加需添加N:N关系' });
return;
......
......@@ -56,6 +56,16 @@ export const viewstate: any = {
refviews: [
],
},
{
viewtag: '1f8cf7e78d6d88588d1d568d1866cc77',
viewmodule: 'uaa',
viewname: 'SysUserMPickupView',
viewaction: '',
viewdatachange: false,
refviews: [
'6869875c7409bd1dddd3d0fc62c502db',
],
},
{
viewtag: '255944d6d1a575d0eda2b68bc19314f3',
viewmodule: 'uaa',
......@@ -161,6 +171,7 @@ export const viewstate: any = {
viewaction: '',
viewdatachange: false,
refviews: [
'1f8cf7e78d6d88588d1d568d1866cc77',
'edde313015e1db7c366028307d88d20c',
],
},
......
......@@ -79,6 +79,7 @@ export default class SysUserUIServiceBase extends UIService {
* @memberof SysUserUIServiceBase
*/
public initViewMap(){
this.allViewMap.set('MPICKUPVIEW:',{viewname:'mpickupview',srfappde:'sysusers'});
this.allViewMap.set('PICKUPVIEW:',{viewname:'pickupview',srfappde:'sysusers'});
this.allViewMap.set(':',{viewname:'pickupgridview',srfappde:'sysusers'});
}
......
<template>
<div class='pickupviewpanel'>
<component
v-if="inited && view.viewname && !Object.is(view.viewname, '')"
:is="view.viewname"
class="viewcontainer3"
:viewdata="viewdata"
:viewparam="viewparam"
:viewDefaultUsage="false"
:isSingleSelect="isSingleSelect"
:selectedData="selectedData"
:isShowButton="isShowButton"
@viewdataschange="onViewDatasChange"
@viewdatasactivated="viewDatasActivated"
@viewload="onViewLoad">
</component>
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils';
import SysUserService from '@/service/sys-user/sys-user-service';
import MPickupViewpickupviewpanelService from './mpickup-viewpickupviewpanel-pickupviewpanel-service';
import MPickupViewpickupviewpanelModel from './mpickup-viewpickupviewpanel-pickupviewpanel-model';
@Component({
components: {
}
})
export default class MPickupViewpickupviewpanelBase extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof MPickupViewpickupviewpanel
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof MPickupViewpickupviewpanel
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
@Prop() public context: any;
/**
* 视图参数
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
@Prop() public viewparams: any;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MPickupViewpickupviewpanel
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof MPickupViewpickupviewpanel
*/
public getControlType(): string {
return 'PICKUPVIEWPANEL'
}
/**
* 建构部件服务对象
*
* @type {MPickupViewpickupviewpanelService}
* @memberof MPickupViewpickupviewpanel
*/
public service: MPickupViewpickupviewpanelService = new MPickupViewpickupviewpanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {SysUserService}
* @memberof MPickupViewpickupviewpanel
*/
public appEntityService: SysUserService = new SysUserService({ $store: this.$store });
/**
* 关闭视图
*
* @param {any} args
* @memberof MPickupViewpickupviewpanel
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof MPickupViewpickupviewpanel
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 选中数据字符串
*
* @type {string}
* @memberof MPickupViewpickupviewpanel
*/
@Prop() public selectedData?: string;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof MPickupViewpickupviewpanel
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof MPickupViewpickupviewpanel
*/
public getData(): any {
return {};
}
/**
* 视图名称
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public view: any = {
viewname: 'sys-user-pickup-grid-view',
data: {},
}
/**
* 视图数据
*
* @type {*}
* @memberof MPickupViewpickupviewpanel
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 是否显示按钮
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
@Prop({default: true}) public isShowButton!: boolean;
/**
* 是否单选
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
@Prop() public isSingleSelect?: boolean;
/**
* 初始化完成
*
* @type {boolean}
* @memberof MPickupViewpickupviewpanel
*/
public inited: boolean = false;
/**
* 视图数据变化
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public onViewDatasChange($event: any): void {
if($event.length>0){
$event.forEach((item:any,index:any) => {
let srfmajortext = item['personname'];
if(srfmajortext){
Object.assign($event[index],{srfmajortext: srfmajortext});
}
});
}
this.$emit('selectionchange', $event);
}
/**
* 视图数据被激活
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public viewDatasActivated($event: any): void {
this.$emit('activated', $event);
}
/**
* 视图加载完成
*
* @param {*} $event
* @memberof MPickupViewpickupviewpanel
*/
public onViewLoad($event: any): void {
this.$emit('load', $event);
}
/**
* vue 生命周期
*
* @memberof MPickupViewpickupviewpanel
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof MPickupViewpickupviewpanel
*/
public afterCreated(){
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
if (Object.is('load', action)) {
this.viewdata = JSON.stringify(this.context);
this.viewparam = JSON.stringify(Object.assign(data, this.viewparams));
this.inited = true;
}
});
}
}
/**
* vue 生命周期
*
* @memberof MPickupViewpickupviewpanel
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof MPickupViewpickupviewpanel
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
</script>
<style lang='less'>
@import './mpickup-viewpickupviewpanel-pickupviewpanel.less';
</style>
\ No newline at end of file
/**
* MPickupViewpickupviewpanel 部件模型
*
* @export
* @class MPickupViewpickupviewpanelModel
*/
export default class MPickupViewpickupviewpanelModel {
/**
* 获取数据项集合
*
* @returns {any[]}
* @memberof MPickupViewpickupviewpanelModel
*/
public getDataItems(): any[] {
return [
{
name: 'sysuser',
prop: 'userid',
},
{
name: 'username',
},
{
name: 'personname',
},
{
name: 'password',
},
]
}
}
\ No newline at end of file
import { Http } from '@/utils';
import ControlService from '@/widgets/control-service';
/**
* MPickupViewpickupviewpanel 部件服务对象
*
* @export
* @class MPickupViewpickupviewpanelService
*/
export default class MPickupViewpickupviewpanelService extends ControlService {
}
\ No newline at end of file
<script lang='tsx'>
import { Component } from 'vue-property-decorator';
import MPickupViewpickupviewpanelBase from './mpickup-viewpickupviewpanel-pickupviewpanel-base.vue';
@Component({
components: {
}
})
export default class MPickupViewpickupviewpanel extends MPickupViewpickupviewpanelBase {
}
</script>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册