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

zhujiamin 发布系统代码 [TrainSys,网页端]

上级 e1537cb0
<template>
<div class="app-full-scren">
<span><Icon :type="fullScren == true ? 'ios-contract' : 'ios-expand'" size="15" @click="handleScreen"/></span>
<span class="title" @click="handleScreen">{{$t('components.scren.all')}}</span>
<span :title="$t('components.scren.all')"><Icon :type="fullScren == true ? 'ios-contract' : 'ios-expand'" size="15" @click="handleScreen"/></span>
</div>
</template>
<script lang = 'ts'>
<script lang='ts'>
import { Vue, Component } from 'vue-property-decorator';
@Component({})
export default class AppFullScren extends Vue{
export default class AppFullScren extends Vue {
public fullScren: boolean = false;
......@@ -16,7 +15,10 @@ export default class AppFullScren extends Vue{
if(this.fullscreenEnable()){
this.exitFullScreen();
}else{
this.reqFullScreen();
const viewElement: any = document.querySelector('.app-content .app-content__right .app-nav-pos');
if (viewElement) {
this.elementFullscreen(viewElement);
}
}
}
......@@ -80,6 +82,20 @@ export default class AppFullScren extends Vue{
}
}
/**
* 指定节点全屏
*/
public elementFullscreen(element: any) {
if(element.requestFullscreen) {
element.requestFullscreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.msRequestFullscreen){
element.msRequestFullscreen();
} else if(element.webkitRequestFullscreen) {
element.webkitRequestFullScreen();
}
}
}
</script>
\ No newline at end of file
......@@ -6,9 +6,6 @@
&nbsp;&nbsp;<avatar :src="user.avatar" />
</div>
<dropdown-menu class="menu" slot="list">
<dropdown-item name="fullscren">
<app-full-scren />
</dropdown-item>
<dropdown-item name="lockscren">
<app-lock-scren />
</dropdown-item>
......
import { Vue, Component } from 'vue-property-decorator';
import { on } from '../../../../utils';
import { VNode } from 'vue';
/**
* 应用头部
*
* @export
* @class AppStyle2Content
* @extends {Vue}
*/
@Component({})
export class AppStyle2Content extends Vue {
/**
* Creates an instance of AppStyle2Content.
* @memberof AppStyle2Content
*/
constructor() {
super();
on(window, 'keydown', (e: KeyboardEvent) => {
if (e.ctrlKey && e.keyCode === 192) {
this.changeBottom();
}
});
}
/**
* 组件创建完毕
*
* @protected
* @memberof AppStyle2Content
*/
protected created(): void {
if (this.$slots.bottom) {
this.$footerRenderService.registerRightItem(() => {
return (
<div
title={this.$t('components.content.title')}
class="action-item"
on-click={() => this.changeBottom()}
>
<svg
t="1562669728550"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="1118"
width="18"
height="18"
class="icon"
>
<path
d="M170.666667 170.666667h682.666666a85.333333 85.333333 0 0 1 85.333334 85.333333v512a85.333333 85.333333 0 0 1-85.333334 85.333333H170.666667a85.333333 85.333333 0 0 1-85.333334-85.333333V256a85.333333 85.333333 0 0 1 85.333334-85.333333z m0 85.333333v512h682.666666V256H170.666667z m341.333333 341.333333h256v85.333334h-256v-85.333334z m-43.306667-103.637333L317.866667 644.565333l-60.330667-60.373333 90.453333-90.453333-90.453333-90.538667L317.866667 342.869333l150.826666 150.826667z"
p-id="1119"
></path>
</svg>
</div>
);
}, 0);
}
}
/**
* 内容区底部区域,显示变更
*
* @protected
* @param {boolean} [judge]
* @memberof AppStyle2Content
*/
protected changeBottom(judge?: boolean): void {
if (judge !== undefined) {
this.$uiState.changeLayoutState({
contentBottomShow: judge,
});
} else {
this.$uiState.changeLayoutState({
contentBottomShow: !this.$uiState.layoutState.contentBottomShow,
});
}
}
/**
* 绘制内容
*
* @protected
* @param {boolean} isSlot
* @returns {*}
* @memberof AppStyle2Content
*/
protected renderContent(isSlot: boolean): any {
return (
<div
slot={isSlot ? 'right' : null}
class={{
'app-style2-content__right': true,
'is-hidden': !this.$uiState.layoutState.contentBottomShow || !this.$slots.bottom,
}}
>
<split mode="vertical" v-model={this.$uiState.layoutState.contentVerticalSplit} max={0.1}>
<div slot="top" class="app-style2-content__right__top">
{this.$slots.default}
</div>
{this.$slots.bottom ? (
<div slot="bottom" class="app-style2-content__right__bottom">
<div class="bottom__icon" on-click={() => this.changeBottom(false)}>
<icon type="ios-arrow-down" />
</div>
{this.$slots.bottom}
</div>
) : null}
</split>
</div>
);
}
/**
* 绘制内容
*
* @returns {VNode}
* @memberof AppStyle2Content
*/
public render(): VNode {
let content: any = null;
if (this.$uiState.layoutState.styleMode === 'STYLE2') {
content = [<div class="app-style2-content__nav">{this.$slots.left}</div>, this.renderContent(false)];
} else {
content = this.$slots.left ? (
<split
class={{ 'app-style2-content__split': true, 'is-hidden': !this.$uiState.layoutState.leftExpContentShow }}
v-model={this.$uiState.layoutState.contentHorizontalSplit}
min={0.1}
max={0.5}
>
<div slot="left">
{this.$slots.left}
</div>
{this.renderContent(true)}
</split>
) : (
this.renderContent(false)
);
}
return <div class="app-style2-content">{content}</div>;
}
}
\ No newline at end of file
import { Vue, Component } from 'vue-property-decorator';
import { VNode, CreateElement } from 'vue';
import { FooterItemsService } from '../../../../app-service';
import { Subscription } from 'rxjs';
/**
* 应用头部
*
* @export
* @class AppStyle2Footer
* @extends {Vue}
*/
@Component({})
export class AppStyle2Footer extends Vue {
/**
* 底部项绘制服务
*
* @private
* @memberof AppStyle2Footer
*/
private footerItemsService = new FooterItemsService();
/**
* @description 组件事件
* @type {(Subscription | undefined)}
* @memberof AppStyle2Footer
*/
public footerEvent: Subscription | undefined;
/**
* 组件创建完毕
*
* @memberof AppStyle2Footer
*/
public created(): void {
this.footerEvent = this.footerItemsService.tickTrigger().subscribe(() => {
this.$nextTick();
});
}
public destroyed() {
if (this.footerEvent) {
this.footerEvent.unsubscribe();
}
}
/**
* 绘制内容
*
* @returns {VNode}
* @memberof AppStyle2Footer
*/
public render(h: CreateElement): VNode {
return (
<div class="app-style2-footer">
<div class="app-style2-footer__left">
{this.footerItemsService.leftItemsRenders.map((item) => {
return <div class="item">{item(h)}</div>;
})}
</div>
<div class="app-style2-footer__content">
{this.footerItemsService.centerItemsRenders.map((item) => {
return <div class="item">{item(h)}</div>;
})}
</div>
<div class="app-style2-footer__right">
{this.footerItemsService.rightItemsRenders.map((item) => {
return <div class="item">{item(h)}</div>;
})}
</div>
</div>
);
}
}
import { Vue, Component } from 'vue-property-decorator';
import { VNode } from 'vue';
/**
* 应用头部
*
* @export
* @class AppStyle2Header
* @extends {Vue}
*/
@Component({})
export class AppStyle2Header extends Vue {
/**
* 绘制内容
*
* @returns {VNode}
* @memberof AppStyle2Header
*/
public render(h: any): VNode {
return (
<div class="app-style2-header">
<div class="app-style2-header__left">
{this.$slots.left}
{Object.is(this.$uiState.layoutState.styleMode, 'STYLE2') ? (
<app-breadcrumb></app-breadcrumb>
) : null}
</div>
<div class="app-style2-header__right">{this.$slots.right}</div>
</div>
);
}
}
import { Vue, Component } from 'vue-property-decorator';
import { VNode } from 'vue';
/**
* 应用布局容器
*
* @export
* @class AppStyle2Layout
* @extends {Vue}
*/
@Component({})
export class AppStyle2Layout extends Vue {
/**
* 绘制内容
*
* @returns {VNode}
* @memberof AppStyle2Layout
*/
public render(): VNode {
return (
<div class='app-style2-layout'>
<div class="app-style2-header">{this.$slots.header}</div>
<div class="app-style2-content">{this.$slots.default}</div>
<div class="app-style2-footer">{this.$slots.footer}</div>
</div>
);
}
}
......@@ -97,14 +97,14 @@ import AppColorSpan from './common/app-color-span/app-color-span.vue';
import AppColorPicker from './common/app-color-picker/app-color-picker.vue';
import AppPortalDesign from './common/app-portal-design/app-portal-design.vue';
import AppNotSupportedEditor from './common/app-not-supported-editor/app-not-supported-editor.vue';
import { AppLayout } from './common/layout/app-layout/app-layout';
import { AppHeader } from './common/layout/app-header/app-header';
import { AppStyle2Layout } from './common/layout/app-style2-layout/app-style2-layout';
import { AppStyle2Header } from './common/layout/app-style2-header/app-style2-header';
import { AppHeaderRightMenus } from './common/app-header-right-menus/app-header-right-menus';
import { AppContent } from './common/layout/app-content/app-content';
import { AppStyle2Content } from './common/layout/app-style2-content/app-style2-content';
import { AppContentLeftExp } from './common/layout/app-content-left-exp/app-content-left-exp';
import { AppContentLeftNavMenu } from './common/layout/app-content-left-nav-menu/app-content-left-nav-menu';
import { AppContentBottomExp } from './common/layout/app-content-bottom-exp/app-content-bottom-exp';
import { AppFooter } from './common/layout/app-footer/app-footer';
import { AppStyle2Footer } from './common/layout/app-style2-footer/app-style2-footer';
import TabPageExpStyle2 from './common/tab-page-exp-style2/tab-page-exp-style2.vue';
import FilterTree from './common/filter-tree/filter-tree.vue';
import DropdownListHidden from './common/dropdown-list-hidden/dropdown-list-hidden.vue'
......@@ -295,14 +295,14 @@ export const ComponentsRegister = {
v.component('app-common-microcom', AppCommonMicrocom);
v.component('dropdown-list-hidden', DropdownListHidden);
v.component('tab-page-exp-style2', TabPageExpStyle2);
v.component('app-layout', AppLayout);
v.component('app-header', AppHeader);
v.component('app-layout', AppStyle2Layout);
v.component('app-header', AppStyle2Header);
v.component('app-header-right-menus', AppHeaderRightMenus);
v.component('app-content', AppContent);
v.component('app-content', AppStyle2Content);
v.component('app-content-left-exp', AppContentLeftExp);
v.component('app-content-left-nav-menu', AppContentLeftNavMenu);
v.component('app-content-bottom-exp', AppContentBottomExp);
v.component('app-footer', AppFooter);
v.component('app-footer', AppStyle2Footer);
v.component('app-department-personnel', AppDepartmentPersonnel);
v.component('app-panel-field', AppPanelField);
v.component('app-full-scren', AppFullScren);
......
......@@ -233,6 +233,7 @@ export class AppDefaultIndexViewLayout extends AppDefaultViewLayout {
{this.Environment.showLang && <app-lang title={this.model.srfTitle || this.model.srfCaption} />}
{this.Environment.showOrg && <app-orgsector />}
<app-user viewStyle={this.viewInstance.viewStyle} />
<app-full-scren />
<app-message-popover />
</div>
</header> : null
......@@ -272,6 +273,7 @@ export class AppDefaultIndexViewLayout extends AppDefaultViewLayout {
{ this.Environment.showLang && <app-lang title={this.model.srfTitle || this.model.srfCaption} style='font-size: 15px;padding: 0 10px;' />}
{ this.Environment.showOrg && <app-orgsector /> }
<app-user viewStyle={this.viewInstance.viewStyle} />
<app-full-scren />
<app-message-popover />
</div>
</header>
......@@ -308,6 +310,7 @@ export class AppDefaultIndexViewLayout extends AppDefaultViewLayout {
{this.Environment.showLang && <app-lang title={this.model.srfTitle || this.model.srfCaption}></app-lang>}
{this.Environment.showOrg && <app-orgsector></app-orgsector>}
<app-user viewStyle={this.viewInstance.viewStyle}></app-user>
<app-full-scren />
<app-message-popover></app-message-popover>
</div>
</header>
......
......@@ -41,7 +41,7 @@ export class AppStyle2DefaultLayout extends Vue {
/**
* 视图模型数据
*
* @memberof AppDefaultViewLayout
* @memberof AppStyle2DefaultLayout
*/
@Prop() public model!: any;
......@@ -61,33 +61,61 @@ export class AppStyle2DefaultLayout extends Vue {
}
}
/**
* 绘制参数
*
* @readonly
* @memberof AppStyle2DefaultLayout
*/
public renderOptions: any = {
viewClassNames: {}
};
/**
* @description Vue生命周期,实例创建完成
* @memberof AppStyle2DefaultLayout
*/
public created() {
this.initRenderOptions();
}
/**
* 初始化类名
*
* @memberof AppStyle2DefaultLayout
*/
public initRenderClassNames(otherClassNames?: any) {
let classNames: any = {
"view-style2": true,
[this.viewInstance.viewType?.toLowerCase()]: true,
[Util.srfFilePath2(this.viewInstance?.codeName)]: true,
public initRenderOptions(opts: any = {}) {
this.renderOptions = {};
const { viewType, viewStyle, codeName } = this.viewInstance;
const viewClassNames: any = {
'view-container': true
};
if(this.viewInstance.getPSSysCss() ){
Object.assign(classNames, {
[this.viewInstance.getPSSysCss()?.cssName || '']: true,
});
if (viewType) {
Object.assign(viewClassNames, { [viewType?.toLowerCase()]: true });
}
if (viewStyle) {
Object.assign(viewClassNames, { [`view-style-${viewStyle.toLowerCase()}`]: true });
} else {
Object.assign(viewClassNames, { [`view-style-default`]: true });
}
if(otherClassNames) {
Object.assign(classNames, {...otherClassNames});
if (codeName) {
Object.assign(viewClassNames, { [Util.srfFilePath2(codeName)]: true });
}
return classNames;
if (this.viewInstance?.getPSSysCss?.()?.cssName) {
Object.assign(viewClassNames, { [this.viewInstance.getPSSysCss()?.cssName]: true });
}
if (!this.showCaption) {
Object.assign(viewClassNames, { 'nocaption': true });
}
Object.assign(viewClassNames, opts);
this.$set(this.renderOptions, 'viewClassNames', viewClassNames);
}
/**
* 是否显示标题栏
*
* @readonly
* @memberof AppDefaultViewLayout
* @memberof AppStyle2DefaultLayout
*/
get showCaption(){
if(this.viewInstance && this.$parent && Util.isExist(this.viewInstance.showCaptionBar)){
......@@ -128,7 +156,7 @@ export class AppStyle2DefaultLayout extends Vue {
*/
public render(h: any): any {
const { codeName } = this.viewInstance;
const viewClassNames = this.initRenderClassNames();
const { viewClassNames } = this.renderOptions;
const styleMode: any = this.$uiState.layoutState.styleMode;
if (Object.is('DEFAULT', styleMode)) {
return (
......@@ -183,7 +211,6 @@ export class AppStyle2DefaultLayout extends Vue {
} else {
return (
<studio-view-style2
style={{ 'font-family': this.selectFont }}
viewName={codeName?.toLowerCase()}
viewTitle={this.model.srfCaption}
viewInstance={this.viewInstance}
......
......@@ -125,11 +125,10 @@ export class AppStyle2IndexViewLayout extends AppStyle2DefaultLayout {
* @memberof AppStyle2IndexViewLayout
*/
public render(h: any): any {
const viewClassNames = this.initRenderClassNames();
const { viewClassNames } = this.renderOptions;
if (this.viewInstance && this.viewInstance.mainMenuAlign && Object.is(this.viewInstance.mainMenuAlign, "CENTER")) {
const { codeName } = this.viewInstance;
return (<studio-view
style={{ 'font-family': this.selectFont }}
viewName={codeName?.toLowerCase()}
viewTitle={this.model.srfCaption}
viewInstance={this.viewInstance}
......@@ -149,16 +148,16 @@ export class AppStyle2IndexViewLayout extends AppStyle2DefaultLayout {
leftContent = this.$slots.leftNavMenu;
}
return (
<app-layout ref="appLayout" style={{ 'font-family': this.selectFont }} class={viewClassNames}>
<template slot="app_layout_header">
<app-header>
<template slot="app_header_left">
<div class="tapp_header_caption">
{this.viewInstance.enableAppSwitch ? <span class="app-header__caption__menuicon" on-click={() => this.contextMenuDragVisiable = !this.contextMenuDragVisiable}><icon type="md-menu" />&nbsp;</span> : null}
<app-style2-layout ref="appLayout" class={viewClassNames}>
<template slot="header">
<app-style2-header>
<template slot="left">
<div class="app-style2-header__left__caption">
{this.viewInstance.enableAppSwitch ? <span class="caption__icon" on-click={() => this.contextMenuDragVisiable = !this.contextMenuDragVisiable}><icon type="md-menu" />&nbsp;</span> : null}
{this.showCaption ? this.model.srfCaption : null}
</div>
</template>
<template slot="app_header_right">
<template slot="right">
{this.$slots.headerMenus}
{this.$topRenderService.rightItemsRenders.map((fun: any) => fun(h))}
<app-lang title={this.model.srfTitle || this.model.srfCaption}></app-lang>
......@@ -166,33 +165,33 @@ export class AppStyle2IndexViewLayout extends AppStyle2DefaultLayout {
{<app-user viewStyle={this.viewInstance.viewStyle} />}
{/* {<app-custom-theme viewStyle={this.viewInstance.viewStyle}></app-custom-theme>} */}
</template>
</app-header>
</app-style2-header>
{this.$slots.default}
{this.viewInstance.enableAppSwitch ? <context-menu-drag viewStyle={this.viewInstance.viewStyle} contextMenuDragVisiable={this.contextMenuDragVisiable}></context-menu-drag> : null}
</template>
<app-content>
<app-style2-content>
{leftContent ?
<template slot="app_content_left">
<template slot="left">
{leftContent}
</template> : null}
{styleMode === 'DEFAULT' ? this.$slots.tabPageExp : null}
<div class="view-warp" on-click={() => this.contextMenuDragVisiable = false}>
<div class="app-style2-content" on-click={() => this.contextMenuDragVisiable = false}>
<app-keep-alive routerList={this.routerList}>
<router-view key={this.routerViewKey}></router-view>
</app-keep-alive>
</div>
{this.$slots.bootomExp ?
<template slot="app_content_bottom">
<template slot="bottom">
{this.$slots.bootomExp}
</template> : null}
</app-content>
<template slot="app_layout_footer">
</app-style2-content>
<template slot="footer">
{ this.viewInstance.defaultPage
? <app-footer v-notification-signal={this.appLoadingService.isLoading} ref="footer" />
: <app-footer ref="footer" />
? <app-style2-footer v-notification-signal={this.appLoadingService.isLoading} ref="footer" />
: <app-style2-footer ref="footer" />
}
</template>
</app-layout>
</app-style2-layout>
);
}
......
......@@ -13,7 +13,7 @@ export class AppStyle2MPickupViewLayout extends AppStyle2DefaultLayout {
public render() {
const { codeName } = this.viewInstance;
const viewClassNames = this.initRenderClassNames();
const { viewClassNames } = this.renderOptions;
return (
<studio-view
viewName={codeName?.toLowerCase()}
......
......@@ -11,7 +11,7 @@ export class AppStyle2WFActionViewLayout extends AppStyle2DefaultLayout {
*/
public render(h: any): any {
const { codeName } = this.viewInstance;
const viewClassNames = this.initRenderClassNames();
const { viewClassNames } = this.renderOptions;
const styleMode: any = this.$uiState.layoutState.styleMode;
if (Object.is('DEFAULT', styleMode)) {
return (
......
......@@ -11,7 +11,7 @@ export class AppStyle2WFDynaActionViewLayout extends AppStyle2DefaultLayout {
*/
public render(h: any): any {
const { codeName } = this.viewInstance;
const viewClassNames = this.initRenderClassNames();
const { viewClassNames } = this.renderOptions;
const styleMode: any = this.$uiState.layoutState.styleMode;
if (Object.is('DEFAULT', styleMode)) {
return (
......
.app-full-scren{
display: flex;
cursor: pointer;
margin: 0 6px 0 0;
flex-direction: row;
justify-content: space-between;
cursor:pointer;
}
.ivu-icon-ios-expand{
font-weight: bolder;
......
.app-style2-header {
display: flex;
justify-content: space-between;
height: 100%;
box-shadow: 1px 0 6px 0 rgba(39, 54, 78, 0.12);
padding: 0px 6px;
// .app-style2-header {
// display: flex;
// justify-content: space-between;
// height: 100%;
// box-shadow: 1px 0 6px 0 rgba(39, 54, 78, 0.12);
// padding: 0px 6px;
> .app-header-left {
.app-header__caption {
font-size: 18px;
font-weight: 700;
}
.app-header__caption__menuicon{
cursor: pointer;
}
}
// > .app-header-left {
// .app-header__caption {
// font-size: 18px;
// font-weight: 700;
// }
// .app-header__caption__menuicon{
// cursor: pointer;
// }
// }
> .app-header-left,
> .app-header-center,
> .app-header-right {
display: flex;
align-items: center;
.app-header-menus{
margin-right: 100px;
}
}
}
// > .app-header-left,
// > .app-header-center,
// > .app-header-right {
// display: flex;
// align-items: center;
// .app-header-menus{
// margin-right: 100px;
// }
// }
// }
.view-style2 {
.ibiz-page-tag {
position: relative;
box-sizing: border-box;
height: 34px;
padding: 0 60px 0 30px;
margin: 0;
}
.ibiz-page-tag__body {
position: relative;
width: 100%;
height: 100%;
overflow: hidden;
.ivu-tag:hover,
.ivu-tag.tag-is-active {
.ivu-icon-ios-close {
visibility: initial;
}
}
span {
.ivu-tag:last-child {
border-right: none;
}
}
}
.move-btn {
font-size: 18px;
width: 30px;
height: 34px;
line-height: 34px;
text-align: center;
cursor: pointer;
border-right: none;
}
.move-btn:hover {
background: #efefef;
}
.ibiz-page-tag__left,
.ibiz-page-tag__right,
.ivu-dropdown {
position: absolute;
top: 0;
}
.ibiz-page-tag__left {
left: 0;
}
.ibiz-page-tag__right {
right: 30px;
}
.ivu-dropdown {
right: 0;
}
.ibiz-page-tag__body__tags {
position: absolute;
overflow: visible;
white-space: nowrap;
transition: left 0.3s ease;
.ivu-tag {
margin: 0;
height: 34px;
line-height: 34px;
border: 0;
border-radius: 0;
font-size: 14px;
}
.ivu-icon-ios-close {
visibility: hidden;
}
.tag-caption-content__text-icon::before {
vertical-align: initial;
}
.tags-transition-move {
transition: transform 0.3s;
}
.tags-transition-enter,
.tags-transition-leave-to {
opacity: 0;
}
.tag-caption-content__text-image {
height: 16px;
margin-bottom: -3px;
}
}
.body__tags__tag-text {
cursor: pointer;
display: table-cell;
.ivu-tooltip {
display: block;
}
.ivu-tooltip-rel {
display: block;
max-width: 200px;
overflow: hidden;
text-overflow: ellipsis;
}
.tag-caption-content {
max-width: 250px;
text-overflow: ellipsis;
white-space: nowrap;
overflow: hidden;
}
}
}
.app-theme-default {
.view-style2 .ibiz-page-tag {
background-color: #57A3FD;
}
}
\ No newline at end of file
// .view-style2 {
// .ibiz-page-tag {
// position: relative;
// box-sizing: border-box;
// height: 34px;
// padding: 0 60px 0 30px;
// margin: 0;
// }
// .ibiz-page-tag__body {
// position: relative;
// width: 100%;
// height: 100%;
// overflow: hidden;
// .ivu-tag:hover,
// .ivu-tag.tag-is-active {
// .ivu-icon-ios-close {
// visibility: initial;
// }
// }
// span {
// .ivu-tag:last-child {
// border-right: none;
// }
// }
// }
// .move-btn {
// font-size: 18px;
// width: 30px;
// height: 34px;
// line-height: 34px;
// text-align: center;
// cursor: pointer;
// border-right: none;
// }
// .move-btn:hover {
// background: #efefef;
// }
// .ibiz-page-tag__left,
// .ibiz-page-tag__right,
// .ivu-dropdown {
// position: absolute;
// top: 0;
// }
// .ibiz-page-tag__left {
// left: 0;
// }
// .ibiz-page-tag__right {
// right: 30px;
// }
// .ivu-dropdown {
// right: 0;
// }
// .ibiz-page-tag__body__tags {
// position: absolute;
// overflow: visible;
// white-space: nowrap;
// transition: left 0.3s ease;
// .ivu-tag {
// margin: 0;
// height: 34px;
// line-height: 34px;
// border: 0;
// border-radius: 0;
// font-size: 14px;
// }
// .ivu-icon-ios-close {
// visibility: hidden;
// }
// .tag-caption-content__text-icon::before {
// vertical-align: initial;
// }
// .tags-transition-move {
// transition: transform 0.3s;
// }
// .tags-transition-enter,
// .tags-transition-leave-to {
// opacity: 0;
// }
// .tag-caption-content__text-image {
// height: 16px;
// margin-bottom: -3px;
// }
// }
// .body__tags__tag-text {
// cursor: pointer;
// display: table-cell;
// .ivu-tooltip {
// display: block;
// }
// .ivu-tooltip-rel {
// display: block;
// max-width: 200px;
// overflow: hidden;
// text-overflow: ellipsis;
// }
// .tag-caption-content {
// max-width: 250px;
// text-overflow: ellipsis;
// white-space: nowrap;
// overflow: hidden;
// }
// }
// }
// .app-theme-default {
// .view-style2 .ibiz-page-tag {
// background-color: #57A3FD;
// }
// }
\ No newline at end of file
......@@ -64,27 +64,27 @@
}
}
.view-style2.appindexview{
.app-header{
.app-header-left,.app-header-center,.app-header-right{
flex-grow: 1;
display: flex;
}
.app-header-right{
justify-content: end;
}
.ivu-dropdown{
position: static;
display: inline-block;
font-size: 15px;
padding: 0px 10px
}
}
.app-lang{
font-size: 15px;
padding: 0 10px;
}
.ivu-split-pane{
height: 100%;
}
}
\ No newline at end of file
// .view-style2.appindexview{
// .app-header{
// .app-header-left,.app-header-center,.app-header-right{
// flex-grow: 1;
// display: flex;
// }
// .app-header-right{
// justify-content: end;
// }
// .ivu-dropdown{
// position: static;
// display: inline-block;
// font-size: 15px;
// padding: 0px 10px
// }
// }
// .app-lang{
// font-size: 15px;
// padding: 0 10px;
// }
// .ivu-split-pane{
// height: 100%;
// }
// }
\ No newline at end of file
......@@ -2196,8 +2196,8 @@ body {
}
}
.view-style2{
.app-footer{
background-color: @color-primary-base;
}
}
\ No newline at end of file
// .view-style2{
// .app-footer{
// background-color: @color-primary-base;
// }
// }
\ No newline at end of file
......@@ -264,7 +264,7 @@
</changeSet>
<!--输出实体[STUDENT]数据结构 -->
<changeSet author="root" id="tab-student-44-10">
<changeSet author="root" id="tab-student-45-10">
<createTable tableName="T_STUDENT">
<column name="CREATEMAN" remarks="" type="VARCHAR(60)">
</column>
......
......@@ -24,6 +24,24 @@
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Student.json"
},
"getPSAppViewLogics" : [ {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "form_button1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "form_button1"
}
} ],
"getPSAppViewUIActions" : [ {
"name" : "form_button1",
"getPSUIAction" : {
"modelref" : true,
"id" : "Refresh"
},
"uIActionTarget" : "SINGLEKEY",
"xDataControlName" : "form"
} ],
"getPSControlLogics" : [ {
"eventNames" : "LOAD;SAVE;REMOVE",
"logicTag" : "form",
......@@ -78,6 +96,13 @@
"id" : "srfsourcekey",
"hidden" : true,
"dataType" : 25
}, {
"id" : "age",
"dataType" : 9,
"getPSAppDEField" : {
"name" : "AGE",
"codeName" : "Age"
}
}, {
"id" : "studentname",
"dataType" : 25,
......@@ -136,12 +161,41 @@
"detailType" : "GROUPPANEL",
"name" : "group1",
"getPSDEFormDetails" : [ {
"caption" : "年龄",
"codeName" : "age",
"dataType" : 9,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 100,
"name" : "age",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "AGE",
"codeName" : "Age"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "age"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
}, {
"caption" : "学生名称",
"codeName" : "studentname",
"contentHeight" : 100.0,
"contentWidth" : 200.0,
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"height" : 100.0,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
......@@ -158,10 +212,52 @@
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
"height" : 100,
"layout" : "TABLE_24COL",
"width" : 200
},
"width" : 200.0,
"allowEmpty" : true,
"showCaption" : true
}, {
"actionType" : "UIACTION",
"caption" : "刷新",
"codeName" : "button1",
"contentHeight" : 100.0,
"contentWidth" : 200.0,
"detailStyle" : "DEFAULT",
"detailType" : "BUTTON",
"height" : 100.0,
"name" : "button1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "form_button1"
},
"getPSLayoutPos" : {
"colMD" : 24,
"height" : 100,
"layout" : "TABLE_24COL",
"width" : 200
},
"getPSUIAction" : {
"actionTarget" : "SINGLEKEY",
"caption" : "刷新",
"codeName" : "Refresh",
"fullCodeName" : "Refresh",
"name" : "编辑界面_刷新操作",
"getPSSysImage" : {
"glyph" : "xf021@FontAwesome",
"cssClass" : "fa fa-refresh"
},
"predefinedType" : "EDITVIEW_REFRESHACTION",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "Refresh",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "刷新",
"width" : 200.0,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
......@@ -1812,6 +1908,53 @@
"needSave" : false,
"refreshItemsSetParamOnly" : false,
"showCaption" : true
}, {
"actionGroupExtractMode" : "ITEM",
"caption" : "分组面板",
"codeName" : "grouppanel1",
"contentHeight" : 484.0,
"contentWidth" : 584.0,
"detailStyle" : "DEFAULT",
"detailType" : "GROUPPANEL",
"height" : 500.0,
"name" : "grouppanel1",
"getPSDEFormDetails" : [ {
"codeName" : "rawitem1",
"contentHeight" : 100.0,
"contentType" : "RAW",
"contentWidth" : 300.0,
"detailStyle" : "DEFAULT",
"detailType" : "RAWITEM",
"height" : 100.0,
"name" : "rawitem1",
"getPSLayoutPos" : {
"colMD" : 24,
"height" : 100,
"layout" : "TABLE_24COL",
"width" : 300
},
"getPSRawItem" : {
"contentType" : "RAW",
"name" : "rawitem1"
},
"rawItemHeight" : -1.0,
"rawItemWidth" : -1.0,
"width" : 300.0,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"height" : 500,
"layout" : "TABLE_24COL",
"width" : 600
},
"width" : 600.0,
"infoGroupMode" : false,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
......
......@@ -926,6 +926,24 @@
"modelref" : true,
"path" : "PSSYSAPPS/Web/PSAPPDATAENTITIES/Student.json"
},
"getPSAppViewLogics" : [ {
"logicTrigger" : "CUSTOM",
"logicType" : "APPVIEWUIACTION",
"name" : "form_button1_click",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "form_button1"
}
} ],
"getPSAppViewUIActions" : [ {
"name" : "form_button1",
"getPSUIAction" : {
"modelref" : true,
"id" : "Refresh"
},
"uIActionTarget" : "SINGLEKEY",
"xDataControlName" : "form"
} ],
"getPSControlHandler" : {
"getPSHandlerActions" : [ {
"actionName" : "GetDraft",
......@@ -1064,6 +1082,13 @@
"id" : "srfsourcekey",
"hidden" : true,
"dataType" : 25
}, {
"id" : "age",
"dataType" : 9,
"getPSAppDEField" : {
"name" : "AGE",
"codeName" : "Age"
}
}, {
"id" : "studentname",
"dataType" : 25,
......@@ -1122,12 +1147,41 @@
"detailType" : "GROUPPANEL",
"name" : "group1",
"getPSDEFormDetails" : [ {
"caption" : "年龄",
"codeName" : "age",
"dataType" : 9,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 100,
"name" : "age",
"noPrivDisplayMode" : 1,
"getPSAppDEField" : {
"name" : "AGE",
"codeName" : "Age"
},
"getPSEditor" : {
"editorType" : "TEXTBOX",
"name" : "age"
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
},
"allowEmpty" : true,
"showCaption" : true
}, {
"caption" : "学生名称",
"codeName" : "studentname",
"contentHeight" : 100.0,
"contentWidth" : 200.0,
"dataType" : 25,
"detailStyle" : "DEFAULT",
"detailType" : "FORMITEM",
"enableCond" : 3,
"height" : 100.0,
"ignoreInput" : 0,
"labelPos" : "LEFT",
"labelWidth" : 130,
......@@ -1144,10 +1198,52 @@
},
"getPSLayoutPos" : {
"colMD" : 24,
"layout" : "TABLE_24COL"
"height" : 100,
"layout" : "TABLE_24COL",
"width" : 200
},
"width" : 200.0,
"allowEmpty" : true,
"showCaption" : true
}, {
"actionType" : "UIACTION",
"caption" : "刷新",
"codeName" : "button1",
"contentHeight" : 100.0,
"contentWidth" : 200.0,
"detailStyle" : "DEFAULT",
"detailType" : "BUTTON",
"height" : 100.0,
"name" : "button1",
"getPSAppViewUIAction" : {
"modelref" : true,
"id" : "form_button1"
},
"getPSLayoutPos" : {
"colMD" : 24,
"height" : 100,
"layout" : "TABLE_24COL",
"width" : 200
},
"getPSUIAction" : {
"actionTarget" : "SINGLEKEY",
"caption" : "刷新",
"codeName" : "Refresh",
"fullCodeName" : "Refresh",
"name" : "编辑界面_刷新操作",
"getPSSysImage" : {
"glyph" : "xf021@FontAwesome",
"cssClass" : "fa fa-refresh"
},
"predefinedType" : "EDITVIEW_REFRESHACTION",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "Refresh",
"uIActionType" : "DEUIACTION"
},
"tooltip" : "刷新",
"width" : 200.0,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
......@@ -2798,6 +2894,53 @@
"needSave" : false,
"refreshItemsSetParamOnly" : false,
"showCaption" : true
}, {
"actionGroupExtractMode" : "ITEM",
"caption" : "分组面板",
"codeName" : "grouppanel1",
"contentHeight" : 484.0,
"contentWidth" : 584.0,
"detailStyle" : "DEFAULT",
"detailType" : "GROUPPANEL",
"height" : 500.0,
"name" : "grouppanel1",
"getPSDEFormDetails" : [ {
"codeName" : "rawitem1",
"contentHeight" : 100.0,
"contentType" : "RAW",
"contentWidth" : 300.0,
"detailStyle" : "DEFAULT",
"detailType" : "RAWITEM",
"height" : 100.0,
"name" : "rawitem1",
"getPSLayoutPos" : {
"colMD" : 24,
"height" : 100,
"layout" : "TABLE_24COL",
"width" : 300
},
"getPSRawItem" : {
"contentType" : "RAW",
"name" : "rawitem1"
},
"rawItemHeight" : -1.0,
"rawItemWidth" : -1.0,
"width" : 300.0,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
"layout" : "TABLE_24COL"
},
"getPSLayoutPos" : {
"colMD" : 24,
"height" : 500,
"layout" : "TABLE_24COL",
"width" : 600
},
"width" : 600.0,
"infoGroupMode" : false,
"showCaption" : true
} ],
"getPSLayout" : {
"columnCount" : 24,
......
......@@ -549,6 +549,21 @@
"uIActionMode" : "SYS",
"uIActionTag" : "Print",
"uIActionType" : "DEUIACTION"
}, {
"actionTarget" : "SINGLEKEY",
"caption" : "刷新",
"codeName" : "Refresh",
"fullCodeName" : "Refresh",
"name" : "编辑界面_刷新操作",
"getPSSysImage" : {
"glyph" : "xf021@FontAwesome",
"cssClass" : "fa fa-refresh"
},
"predefinedType" : "EDITVIEW_REFRESHACTION",
"timeout" : 60000,
"uIActionMode" : "SYS",
"uIActionTag" : "Refresh",
"uIActionType" : "DEUIACTION"
}, {
"actionTarget" : "MULTIKEY",
"getCapPSLanguageRes" : {
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册