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

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

上级 9fd0988a
<template> <template>
<app-index-view-layout-top :class="{ [themeClasses]: true, 'index': true }" :style="themeStyle"> <app-index-view-layout-left :navModel="navModel" :collapseChange="collapseChange" :class="{ [themeClasses]: true, 'index': true }" :style="themeStyle">
<template #headerLeft> <template #siderTop>
<img class="app-icon" src="../../../assets/img/logo.png" /> <div class="app-title">
<span class="app-caption">{{model.srfCaption}}</span> <img class="app-icon" v-if="isEnableAppSwitch" src="../../../assets/img/logo2.png" @click="contextMenuDragVisiable=!contextMenuDragVisiable" />
</template> <span class="app-caption" v-show="!collapseChange">{{model.srfCaption}}</span>
<template #headerRight> </div>
<view_appmenu </template>
<template #siderContent>
<view_appmenu
:viewState="viewState" :viewState="viewState"
:viewparams="viewparams" :viewparams="viewparams"
:context="context" :context="context"
...@@ -23,15 +25,27 @@ ...@@ -23,15 +25,27 @@
ref='appmenu' ref='appmenu'
@closeview="closeView($event)"> @closeview="closeView($event)">
</view_appmenu> </view_appmenu>
<app-user></app-user> <context-menu-drag v-if="isEnableAppSwitch" :contextMenuDragVisiable="contextMenuDragVisiable"></context-menu-drag>
<app-message-popover></app-message-popover> </template>
<app-help></app-help> <template #siderBottom>
<app-lang></app-lang> <i v-show="!collapseChange" class="collapse-icon ivu-icon el-icon-s-fold" @click="handleClick"></i>
</template> <i v-show="collapseChange" class="collapse-icon ivu-icon el-icon-s-unfold" @click="handleClick"></i>
<template #navPos> </template>
<router-view></router-view> <template #headerRight>
</template> <app-user></app-user>
</app-index-view-layout-top> <app-message-popover></app-message-popover>
<app-help></app-help>
<app-lang></app-lang>
</template>
<template #tabPageExp>
<tab-page-exp v-if="Object.is(navModel,'tab')"></tab-page-exp>
</template>
<template #navPos>
<app-keep-alive :routerList="getRouterList">
<router-view :key="getRouterViewKey"></router-view>
</app-keep-alive>
</template>
</app-index-view-layout-left>
</template> </template>
// 基于 @VIEW/应用首页视图/VIEW-BASE.vue.ftl 生成 // 基于 @VIEW/应用首页视图/VIEW-BASE.vue.ftl 生成
...@@ -613,7 +627,7 @@ export default class IndexBase extends Vue { ...@@ -613,7 +627,7 @@ export default class IndexBase extends Vue {
* @type {string} * @type {string}
* @memberof IndexBase * @memberof IndexBase
*/ */
public mode: string ='horizontal'; public mode: string ='vertical';
/** /**
* 导航模式(route:面包屑模式、tab:分页导航模式) * 导航模式(route:面包屑模式、tab:分页导航模式)
......
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
<span class="quick-toolbar"> <span class="quick-toolbar">
<div class='toolbar-container'> <div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
<i-button v-show="listviewlist_quicktoolbarModels.deuiaction1.visabled" :disabled="listviewlist_quicktoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)"> <i-button v-show="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_quicktoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_quicktoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-file-text-o'></i> <i class='fa fa-file-text-o'></i>
<span class='caption'>{{$t('TBB.TEXT.*.NEW', '新建')}}</span> <span class='caption'>{{$t('TBB.TEXT.*.NEW', '新建')}}</span>
</i-button> </i-button>
...@@ -41,14 +41,14 @@ ...@@ -41,14 +41,14 @@
<span class="batch-toolbar"> <span class="batch-toolbar">
<div class='toolbar-container'> <div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
<i-button v-show="listviewlist_batchtoolbarModels.deuiaction1.visabled" :disabled="listviewlist_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)"> <i-button v-show="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction1.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction1' }, $event)">
<i class='fa fa-edit'></i> <i class='fa fa-edit'></i>
<span class='caption'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</span> <span class='caption'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</span>
</i-button> </i-button>
<div slot='content'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</div> <div slot='content'>{{$t('TBB.TEXT.*.EDIT', '编辑')}}</div>
</tooltip> </tooltip>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
<i-button v-show="listviewlist_batchtoolbarModels.deuiaction2.visabled" :disabled="listviewlist_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)"> <i-button v-show="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.visabled" :disabled="usr4listview_layoutlist_batchtoolbarModels.deuiaction2.disabled" class=' srfactionlevel100' v-button-loading:i-button @click="list_batchtoolbar_click({ tag: 'deuiaction2' }, $event)">
<i class='fa fa-remove'></i> <i class='fa fa-remove'></i>
<span class='caption'>{{$t('TBB.TEXT.*.REMOVE', '删除')}}</span> <span class='caption'>{{$t('TBB.TEXT.*.REMOVE', '删除')}}</span>
</i-button> </i-button>
...@@ -362,7 +362,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -362,7 +362,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKListViewBase * @memberof IBIZBOOKUsr4ListView_layoutBase
*/ */
public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public New(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const _this: any = this;
...@@ -382,7 +382,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -382,7 +382,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKListViewBase * @memberof IBIZBOOKUsr4ListView_layoutBase
*/ */
public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public Edit(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
if (args.length === 0) { if (args.length === 0) {
...@@ -408,7 +408,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -408,7 +408,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* @param {*} [$event] 事件源 * @param {*} [$event] 事件源
* @param {*} [xData] 执行行为所需当前部件 * @param {*} [xData] 执行行为所需当前部件
* @param {*} [actionContext] 执行行为上下文 * @param {*} [actionContext] 执行行为上下文
* @memberof IBIZBOOKListViewBase * @memberof IBIZBOOKUsr4ListView_layoutBase
*/ */
public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) { public Remove(args: any[],contextJO?:any, params?: any, $event?: any, xData?: any,actionContext?:any,srfParentDeName?:string) {
const _this: any = this; const _this: any = this;
...@@ -604,9 +604,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -604,9 +604,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型 * 工具栏模型
* *
* @type {*} * @type {*}
* @memberof IBIZBOOKListView * @memberof IBIZBOOKUsr4ListView_layout
*/ */
public listviewlist_quicktoolbarModels: any = { public usr4listview_layoutlist_quicktoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '' } }, deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '新建', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'New', target: '' } },
}; };
...@@ -616,9 +616,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -616,9 +616,9 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
* 工具栏模型 * 工具栏模型
* *
* @type {*} * @type {*}
* @memberof IBIZBOOKListView * @memberof IBIZBOOKUsr4ListView_layout
*/ */
public listviewlist_batchtoolbarModels: any = { public usr4listview_layoutlist_batchtoolbarModels: any = {
deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } }, deuiaction1: { name: 'deuiaction1', actiontarget: 'NONE', caption: '编辑', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Edit', target: 'SINGLEKEY' } },
deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '删除', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY' } }, deuiaction2: { name: 'deuiaction2', actiontarget: 'NONE', caption: '删除', disabled: false, type: 'DEUIACTION', visabled: true,noprivdisplaymode:2,dataaccaction: '', uiaction: { tag: 'Remove', target: 'MULTIKEY' } },
...@@ -841,7 +841,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -841,7 +841,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/ */
public async load(opt: any = {}): Promise<any> { public async load(opt: any = {}): Promise<any> {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -971,7 +971,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -971,7 +971,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
*/ */
public async remove(datas: any[]): Promise<any> { public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.removeAction') as string) });
return; return;
} }
if (datas.length === 0) { if (datas.length === 0) {
...@@ -1076,7 +1076,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -1076,7 +1076,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
try { try {
if(Object.is(item.rowDataState, 'create')){ if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){ if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.createAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator); let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
...@@ -1084,7 +1084,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac ...@@ -1084,7 +1084,7 @@ export default class LnternalFuncListBase extends Vue implements ControlInterfac
} }
}else if(Object.is(item.rowDataState, 'update')){ }else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){ if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKListView' + (this.$t('app.list.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: 'IBIZBOOKUsr4ListView_layout' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){ if(item.ibizbook){
......
...@@ -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: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loadAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (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: 'IBIZBOOKListView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKCalendarView' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
......
...@@ -11,7 +11,7 @@ export default class Usr2Model { ...@@ -11,7 +11,7 @@ export default class Usr2Model {
* 获取数据项集合 * 获取数据项集合
* *
* @returns {any[]} * @returns {any[]}
* @memberof Usr2Dataviewexpbar_dataviewMode * @memberof Usr2DataViewMode
*/ */
public getDataItems(): any[] { public getDataItems(): any[] {
return [ return [
...@@ -40,6 +40,17 @@ export default class Usr2Model { ...@@ -40,6 +40,17 @@ export default class Usr2Model {
dataType: 'FONTKEY', dataType: 'FONTKEY',
}, },
{
name: 'n_ibizbookname_like',
prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM'
},
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{ {
name:'size', name:'size',
......
...@@ -698,7 +698,7 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -698,7 +698,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
*/ */
public async load(opt: any = {}, isReset: boolean = false): Promise<any> { public async load(opt: any = {}, isReset: boolean = false): Promise<any> {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4DataView' + (this.$t('app.list.notConfig.fetchAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -792,7 +792,7 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -792,7 +792,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
*/ */
public async remove(datas: any[]): Promise<any> { public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4DataView' + (this.$t('app.gridpage.notConfig.removeAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return; return;
} }
let _datas:any[] = []; let _datas:any[] = [];
...@@ -908,7 +908,7 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -908,7 +908,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
try { try {
if(Object.is(item.rowDataState, 'create')){ if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){ if(!this.createAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4DataView' + (this.$t('app.list.notConfig.createAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.list.notConfig.createAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator); let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
...@@ -916,7 +916,7 @@ export default class Usr4Base extends Vue implements ControlInterface { ...@@ -916,7 +916,7 @@ export default class Usr4Base extends Vue implements ControlInterface {
} }
}else if(Object.is(item.rowDataState, 'update')){ }else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){ if(!this.updateAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKUsr4DataView' + (this.$t('app.list.notConfig.updateAction') as string) }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: 'IBIZBOOKTestCLDataView' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
if(item.ibizbook){ if(item.ibizbook){
......
...@@ -70,11 +70,6 @@ export default class Usr4Model { ...@@ -70,11 +70,6 @@ export default class Usr4Model {
prop: 'n_ibizbookname_like', prop: 'n_ibizbookname_like',
dataType: 'QUERYPARAM' dataType: 'QUERYPARAM'
}, },
{
name: 'n_price_gtandeq',
prop: 'n_price_gtandeq',
dataType: 'QUERYPARAM'
},
{ {
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
}, },
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json", "dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json",
"mOSFilePath" : "pssysapps/Web/psappindexviews/index", "mOSFilePath" : "pssysapps/Web/psappindexviews/index",
"mainMenuAlign" : "TOP", "mainMenuAlign" : "LEFT",
"name" : "index", "name" : "index",
"getPSAppModule" : { "getPSAppModule" : {
"modelref" : true, "modelref" : true,
......
...@@ -18334,7 +18334,7 @@ ...@@ -18334,7 +18334,7 @@
}, },
"dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json", "dynaModelFilePath" : "PSSYSAPPS/Web/PSAPPINDEXVIEWS/index.json",
"mOSFilePath" : "pssysapps/Web/psappindexviews/index", "mOSFilePath" : "pssysapps/Web/psappindexviews/index",
"mainMenuAlign" : "TOP", "mainMenuAlign" : "LEFT",
"name" : "index", "name" : "index",
"getPSAppModule" : { "getPSAppModule" : {
"modelref" : true, "modelref" : true,
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册