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

tony001 发布系统代码 [后台服务,演示应用]

上级 942766b2
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
.collapse-icon { .collapse-icon {
font-size: 20px; font-size: 20px;
margin-right: 20px; margin-right: 20px;
cursor: pointer;
} }
>.ivu-card-body { >.ivu-card-body {
padding: 20px 5px 10px 5px; padding: 20px 5px 10px 5px;
......
.app-help { .app-help {
font-size: 20px; font-size: 20px;
margin: 0 10px; margin: 0 10px;
cursor: pointer;
} }
\ No newline at end of file
<template> <template>
<app-index-view-layout-top :class="{ [themeClasses]: true, 'app-index-view2': true }" :style="themeStyle"> <app-index-view-layout-left :navModel="navModel" :collapseChange="collapseChange" :class="{ [themeClasses]: true, 'app-index-view2': true }" :style="themeStyle">
<template #headerLeft> <template #siderTop>
<img class="app-icon" src="../../../assets/img/logo.png" /> <span class="menuicon" v-if="isEnableAppSwitch" @click="contextMenuDragVisiable=!contextMenuDragVisiable"><Icon type="md-menu" /></span>
<span class="app-caption">{{$t(model.srfCaption)}}</span> <span v-show="!collapseChange">{{$t(model.srfCaption)}}</span>
</template> </template>
<template #headerRight> <template #siderContent>
<view_appmenu <view_appmenu
:viewState="viewState" :viewState="viewState"
:viewparams="viewparams" :viewparams="viewparams"
...@@ -23,15 +23,28 @@ ...@@ -23,15 +23,28 @@
ref='appmenu' ref='appmenu'
@closeview="closeView($event)"> @closeview="closeView($event)">
</view_appmenu> </view_appmenu>
<context-menu-drag v-if="isEnableAppSwitch" :contextMenuDragVisiable="contextMenuDragVisiable"></context-menu-drag>
</template>
<template #headerLeft>
<i v-show="!collapseChange" class="ivu-icon el-icon-s-fold" @click="handleClick"></i>
<i v-show="collapseChange" class="ivu-icon el-icon-s-unfold" @click="handleClick"></i>
<app-breadcrumb :navModel="navModel" indexViewTag="app-index-view2"></app-breadcrumb>
</template>
<template #headerRight>
<app-user></app-user> <app-user></app-user>
<app-message-popover></app-message-popover> <app-message-popover></app-message-popover>
<app-help></app-help> <app-help></app-help>
<app-lang></app-lang> <app-lang></app-lang>
</template> </template>
<template #tabPageExp>
<tab-page-exp v-if="Object.is(navModel,'tab')"></tab-page-exp>
</template>
<template #navPos> <template #navPos>
<router-view></router-view> <app-keep-alive :routerList="getRouterList">
<router-view :key="getRouterViewKey"></router-view>
</app-keep-alive>
</template> </template>
</app-index-view-layout-top> </app-index-view-layout-left>
</template> </template>
// 基于 @VIEW/应用首页视图/VIEW-BASE.vue.ftl 生成 // 基于 @VIEW/应用首页视图/VIEW-BASE.vue.ftl 生成
...@@ -613,7 +626,7 @@ export default class AppIndexView2Base extends Vue { ...@@ -613,7 +626,7 @@ export default class AppIndexView2Base extends Vue {
* @type {string} * @type {string}
* @memberof AppIndexView2Base * @memberof AppIndexView2Base
*/ */
public mode: string =''; public mode: string ='vertical';
/** /**
* 导航模式(route:面包屑模式、tab:分页导航模式) * 导航模式(route:面包屑模式、tab:分页导航模式)
......
<template> <template>
<app-index-view-layout-top :class="{ [themeClasses]: true, 'index': true }" :style="themeStyle"> <app-index-view-layout-top :class="{ [themeClasses]: true, 'index': true }" :style="themeStyle">
<template #headerLeft> <template #headerLeft>
<img class="app-icon" src="../../../assets/img/logo.png" /> <img class="app-icon" src="../../../assets/img/logo.png" />
<span class="app-caption">{{$t(model.srfCaption)}}</span> <span class="app-caption">{{$t(model.srfCaption)}}</span>
</template> </template>
<template #headerRight> <template #headerRight>
<view_appmenu <view_appmenu
:viewState="viewState" :viewState="viewState"
:viewparams="viewparams" :viewparams="viewparams"
:context="context" :context="context"
...@@ -23,14 +23,14 @@ ...@@ -23,14 +23,14 @@
ref='appmenu' ref='appmenu'
@closeview="closeView($event)"> @closeview="closeView($event)">
</view_appmenu> </view_appmenu>
<app-user></app-user> <app-user></app-user>
<app-message-popover></app-message-popover> <app-message-popover></app-message-popover>
<app-help></app-help> <app-help></app-help>
<app-lang></app-lang> <app-lang></app-lang>
</template> </template>
<template #navPos> <template #navPos>
<router-view></router-view> <router-view></router-view>
</template> </template>
</app-index-view-layout-top> </app-index-view-layout-top>
</template> </template>
......
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<i-button @click="handleSubmit" type="primary" class="login_btn" <i-button @click="handleSubmit" type="primary" class="login_btn"
>{{ $t("components.login.name") }} >{{ $t("components.login.name") }}
</i-button> </i-button>
<i-button @click="goReset" type="success" class="login_reset" <i-button @click="goReset" class="login_reset"
>{{ $t("components.login.reset") }} >{{ $t("components.login.reset") }}
</i-button> </i-button>
</form-item> </form-item>
......
// 模态 // 模态
.ivu-modal{ .ivu-modal{
.ivu-modal-content{ .ivu-modal-content{
.ivu-modal-close{
right: 30px;
top: 4px;
}
.ivu-modal-header{ .ivu-modal-header{
padding: 10px 30px; padding: 10px 30px;
background-color: var(--app-color-black); background-color: var(--app-color-black);
p{ .ivu-modal-header-inner, p{
font-size: 16px; font-size: 16px;
color: var(--app-color-white); color: var(--app-color-white);
height: auto; height: auto;
...@@ -13,12 +17,12 @@ ...@@ -13,12 +17,12 @@
} }
.ivu-modal-body{ .ivu-modal-body{
background-color: var(--app-color-gray-400); background-color: var(--app-color-gray-400);
padding: 30px 30px 0; padding: 30px 30px;
} }
.ivu-modal-footer{ .ivu-modal-footer{
border-top: 0; border-top: 0;
background-color: var(--app-color-gray-400); background-color: var(--app-color-gray-400);
padding: 22px 30px; padding: 0 30px 30px;
>div{ >div{
display: flex; display: flex;
justify-content: flex-end; justify-content: flex-end;
...@@ -48,4 +52,45 @@ ...@@ -48,4 +52,45 @@
} }
} }
} }
}
// 确认操作框
.ivu-modal-confirm{
padding: 0;
.ivu-modal-confirm-head{
.ivu-modal-confirm-head-icon{
font-size: 20px;
color: var(--app-color-red);
i::before{
content: "\F107";
}
}
.ivu-modal-confirm-head-title{
font-size: 16px;
color: var(--app-color-black);
}
}
.ivu-modal-confirm-body{
margin: 14px 0;
padding-left: 0;
font-size: 14px;
color: var(--app-color-gray-100);
}
.ivu-modal-confirm-footer{
margin-top: 0;
display: flex;
justify-content: flex-end;
.ivu-btn:nth-child(1){
border: none;
background-color: var(--app-color-gray-200);
color: var(--app-color-black);
font-size: 14px;
}
.ivu-btn:nth-child(2){
border: none;
background-color: var(--app-color-blue);
color: var(--app-color-white);
font-size: 14px;
}
}
} }
\ No newline at end of file
...@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -712,7 +712,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -748,7 +748,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
*/ */
public async loadDraft(opt: any = {},mode?:string): Promise<any> { public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr5DataView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr9GridView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -14,6 +14,7 @@ ...@@ -14,6 +14,7 @@
.collapse-icon { .collapse-icon {
font-size: 20px; font-size: 20px;
margin-right: 20px; margin-right: 20px;
cursor: pointer;
} }
>.ivu-card-extra { >.ivu-card-extra {
...@@ -28,6 +29,7 @@ ...@@ -28,6 +29,7 @@
.remove-icon { .remove-icon {
font-size: 20px; font-size: 20px;
margin-left: 20px; margin-left: 20px;
cursor: pointer;
} }
} }
} }
......
<template> <template>
<i-form :model="this.data" class='app-search-form' ref='quicksearchform' style=""> <i-form :model="this.data" class='app-search-form' ref='searchform' style="">
<input style="display:none;"/> <input style="display:none;"/>
<row> <row>
<i-col span="20" class="form-content"> <i-col span="20" class="form-content">
...@@ -516,7 +516,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -516,7 +516,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
* @memberof QUICKSEARCHFORMBase * @memberof QUICKSEARCHFORMBase
*/ */
public formValidateStatus(): boolean { public formValidateStatus(): boolean {
const form: any = this.$refs.quicksearchform; const form: any = this.$refs.searchform;
let validatestate: boolean = true; let validatestate: boolean = true;
form.validate((valid: boolean) => { form.validate((valid: boolean) => {
validatestate = valid ? true : false; validatestate = valid ? true : false;
...@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -670,7 +670,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -706,7 +706,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/ */
public async loadDraft(opt: any = {},mode?:string): Promise<any> { public async loadDraft(opt: any = {},mode?:string): Promise<any> {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsrListView_plugin' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册