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

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

上级 e7d61e30
...@@ -88,7 +88,11 @@ export default class AppPresetText extends Vue { ...@@ -88,7 +88,11 @@ export default class AppPresetText extends Vue {
*/ */
get imagePath() { get imagePath() {
const layoutModel = this.layoutModelDetails[this.name]; const layoutModel = this.layoutModelDetails[this.name];
return layoutModel.imagePath; let imagePath = '';
if (layoutModel.sysImage) {
imagePath = layoutModel.sysImage.imagePath;
}
return imagePath;
} }
/** /**
...@@ -98,6 +102,10 @@ export default class AppPresetText extends Vue { ...@@ -98,6 +102,10 @@ export default class AppPresetText extends Vue {
*/ */
get cssClass() { get cssClass() {
const layoutModel = this.layoutModelDetails[this.name]; const layoutModel = this.layoutModelDetails[this.name];
let cssClass = '';
if (layoutModel.sysImage) {
cssClass = layoutModel.sysImage.iconcls;
}
return layoutModel.iconcls; return layoutModel.iconcls;
} }
......
...@@ -64,28 +64,6 @@ ...@@ -64,28 +64,6 @@
@load="drbar_load($event)" @load="drbar_load($event)"
@selectionchange="drbar_selectionchange($event)" @selectionchange="drbar_selectionchange($event)"
@closeview="closeView($event)"> @closeview="closeView($event)">
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@load="form_load($event)"
@save="form_save($event)"
@remove="form_remove($event)"
@closeview="closeView($event)">
</view_form>
</view_drbar> </view_drbar>
</sider> </sider>
<content class="edit-view2-content" :style="{ width: 'calc(100% - 241px)' }"> <content class="edit-view2-content" :style="{ width: 'calc(100% - 241px)' }">
......
...@@ -62,28 +62,6 @@ ...@@ -62,28 +62,6 @@
@load="drbar_load($event)" @load="drbar_load($event)"
@selectionchange="drbar_selectionchange($event)" @selectionchange="drbar_selectionchange($event)"
@closeview="closeView($event)"> @closeview="closeView($event)">
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@load="form_load($event)"
@save="form_save($event)"
@remove="form_remove($event)"
@closeview="closeView($event)">
</view_form>
</view_drbar> </view_drbar>
</sider> </sider>
<content class="edit-view2-content" :style="{ width: 'calc(100% - 241px)' }"> <content class="edit-view2-content" :style="{ width: 'calc(100% - 241px)' }">
......
...@@ -62,28 +62,6 @@ ...@@ -62,28 +62,6 @@
@load="drbar_load($event)" @load="drbar_load($event)"
@selectionchange="drbar_selectionchange($event)" @selectionchange="drbar_selectionchange($event)"
@closeview="closeView($event)"> @closeview="closeView($event)">
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@load="form_load($event)"
@save="form_save($event)"
@remove="form_remove($event)"
@closeview="closeView($event)">
</view_form>
</view_drbar> </view_drbar>
</sider> </sider>
<content class="edit-view2-content" :style="{ width: 'calc(100% - 241px)' }"> <content class="edit-view2-content" :style="{ width: 'calc(100% - 241px)' }">
......
...@@ -62,28 +62,6 @@ ...@@ -62,28 +62,6 @@
@load="drbar_load($event)" @load="drbar_load($event)"
@selectionchange="drbar_selectionchange($event)" @selectionchange="drbar_selectionchange($event)"
@closeview="closeView($event)"> @closeview="closeView($event)">
<view_form
:viewState="viewState"
:viewparams="viewparams"
:context="context"
:autosave="false"
:viewtag="viewtag"
:showBusyIndicator="true"
updateAction="Update"
removeAction="Remove"
loaddraftAction="GetDraft"
loadAction="Get"
createAction="Create"
WFSubmitAction=""
WFStartAction=""
style=''
name="form"
ref='form'
@load="form_load($event)"
@save="form_save($event)"
@remove="form_remove($event)"
@closeview="closeView($event)">
</view_form>
</view_drbar> </view_drbar>
</sider> </sider>
<content class="edit-view2-content" :style="{ width: 'calc(100% - 241px)' }"> <content class="edit-view2-content" :style="{ width: 'calc(100% - 241px)' }">
......
...@@ -621,7 +621,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -621,7 +621,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 };
...@@ -657,7 +657,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface ...@@ -657,7 +657,7 @@ export default class QUICKSEARCHFORMBase extends Vue implements ControlInterface
*/ */
public loadDraft(opt: any = {},mode?:string): void { public loadDraft(opt: any = {},mode?:string): void {
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 } ;
......
<template> <template>
<layout class='app-dr-bar'> <div class='app-dr-bar' :style="{ width: `${width}px` }">
<sider :width="width"> </div>
<el-menu <el-menu
:default-openeds="defaultOpeneds" :mode="menuDir"
:default-active="items[0].id" :default-openeds="defaultOpeneds"
@select="onSelect" :default-active="items[0].id"
@open="onOpen" @select="onSelect"
@close="onClose"> @open="onOpen"
<app-sider-menus :menus="items"></app-sider-menus> @close="onClose">
</el-menu> <app-sider-menus :menus="items"></app-sider-menus>
</sider> </el-menu>
<content :style="{ width: `calc(100% - ${this.width + 1}px)` }"> </template>
<div class='main-data' v-show="Object.is(this.selection.id, 'form')">
<slot></slot>
</div>
<component
v-if="!Object.is(this.selection.id, 'form') && this.selection.view && !Object.is(this.selection.view.viewname, '')"
:is="selection.view.viewname"
class="viewcontainer2"
:viewDefaultUsage="false"
:viewdata="JSON.stringify(selection.data)"
:viewparam="JSON.stringify(selection.param)"
:key="this.$util.createUUID()">
</component>
</content>
</layout>
</template>
<script lang='tsx'> <script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator'; import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator';
import { CreateElement } from 'vue'; import { CreateElement } from 'vue';
...@@ -174,349 +159,352 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -174,349 +159,352 @@ export default class DefaultBase extends Vue implements ControlInterface {
} }
} }
/** /**
* 获取多项数据 * 菜单方向
*
* @returns {any[]} * @type {('horizontal' | 'vertical')}
* @memberof DefaultBase * @memberof DefaultBase
*/ */
public getDatas(): any[] { @Prop({ default: 'vertical' }) public menuDir?: 'horizontal' | 'vertical';
return this.items;
} /**
* 获取多项数据
/** *
* 获取单项树 * @returns {any[]}
* * @memberof DefaultBase
* @returns {*} */
* @memberof DefaultBase public getDatas(): any[] {
*/ return this.items;
public getData(): any { }
return this.selection;
} /**
* 获取单项树
/** *
* 加载行为 * @returns {*}
* * @memberof DefaultBase
* @type {string} */
* @memberof DefaultBase public getData(): any {
*/ return this.selection;
@Prop() public loadAction?: string; }
/** /**
* 表单数据 * 加载行为
* *
* @type {*} * @type {string}
* @memberof DefaultBase * @memberof DefaultBase
*/ */
@Prop({default:{}}) public formData?:any; @Prop() public loadAction?: string;
/** /**
* 数据选中项 * 表单数据
* *
* @type {*} * @type {*}
* @memberof DefaultBase * @memberof DefaultBase
*/ */
public selection: any = {}; @Prop({default:{}}) public formData?:any;
/** /**
* 关系栏数据项 * 数据选中项
* *
* @type {any[]} * @type {*}
* @memberof DefaultBase * @memberof DefaultBase
*/ */
public items: any[] = [ public selection: any = {};
{
text: "主表单", /**
disabled: false, * 关系栏数据项
id: "form", *
}, * @type {any[]}
{ * @memberof DefaultBase
text: "订单明细", */
disabled: false, public items: any[] = [
id: "dritem2", {
}, text: "订单明细",
]; disabled: false,
id: "dritem2",
/** },
* 关系栏数据项导航参数集合 ];
*
* @type {any[]} /**
* @memberof DefaultBase * 关系栏数据项导航参数集合
*/ *
public navParamsArray:Array<any> = [ * @type {any[]}
{ * @memberof DefaultBase
id:'dritem2', */
localContext:{CONTEXTPARAM1:"%orderstate%"}, public navParamsArray:Array<any> = [
localViewParam:{param2:"%orderstate%"} {
} id:'dritem2',
]; localContext:{CONTEXTPARAM1:"%orderstate%"},
localViewParam:{param2:"%orderstate%"}
/** }
* 默认打开项 ];
*
* @type {string[]} /**
* @memberof DefaultBase * 默认打开项
*/ *
public defaultOpeneds: string[] = []; * @type {string[]}
* @memberof DefaultBase
/** */
* 父数据 public defaultOpeneds: string[] = [];
*
* @public /**
* @type {*} * 父数据
* @memberof DefaultBase *
*/ * @public
public parentData: any = {}; * @type {*}
* @memberof DefaultBase
/** */
* 宽度 public parentData: any = {};
*
* @type {number} /**
* @memberof DefaultBase * 宽度
*/ *
public width: number = 240; * @type {number}
* @memberof DefaultBase
/** */
* 生命周期 public width: number = 240;
*
* @memberof DefaultBase /**
*/ * 生命周期
public created(): void { *
this.afterCreated(); * @memberof DefaultBase
} */
public created(): void {
/** this.afterCreated();
* 执行created后的逻辑 }
*
* @memberof DefaultBase /**
*/ * 执行created后的逻辑
public afterCreated(){ *
if (this.viewState) { * @memberof DefaultBase
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => { */
if (!Object.is(tag, this.name)) { public afterCreated(){
return; if (this.viewState) {
} this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (Object.is('state', action)) { if (!Object.is(tag, this.name)) {
const state = !this.context.ibizorder ? true : false; return;
this.setItemDisabled(this.items, state); }
} if (Object.is('state', action)) {
}); const state = !this.context.ibizorder ? true : false;
} this.setItemDisabled(this.items, state);
this.$nextTick(() => { }
this.onSelect(this.items[0].id) });
this.$emit('selectionchange', [this.items[0]]); }
}); this.$nextTick(() => {
} this.onSelect(this.items[0].id)
this.$emit('selectionchange', [this.items[0]]);
/** });
* vue 生命周期 }
*
* @memberof DefaultBase /**
*/ * vue 生命周期
public destroyed() { *
this.afterDestroy(); * @memberof DefaultBase
} */
public destroyed() {
/** this.afterDestroy();
* 执行destroyed后的逻辑 }
*
* @memberof DefaultBase /**
*/ * 执行destroyed后的逻辑
public afterDestroy() { *
if (this.viewStateEvent) { * @memberof DefaultBase
this.viewStateEvent.unsubscribe(); */
} public afterDestroy() {
} if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
/** }
* 获取关系项 }
*
* @public /**
* @param {*} [arg={}] * 获取关系项
* @returns {*} *
* @memberof DefaultBase * @public
*/ * @param {*} [arg={}]
public getDRBarItem(arg: any = {}): any { * @returns {*}
let expmode = arg.nodetype; * @memberof DefaultBase
if (!expmode) { */
expmode = ''; public getDRBarItem(arg: any = {}): any {
} let expmode = arg.nodetype;
if (Object.is(expmode, 'dritem2')) { if (!expmode) {
return { expmode = '';
viewname: 'ibizorder-detail-sgrid-view', }
parentdatajo: {}, if (Object.is(expmode, 'dritem2')) {
}; return {
} viewname: 'ibizorder-detail-sgrid-view',
return undefined; parentdatajo: {},
} };
}
/** return undefined;
* 处理数据 }
*
* @public /**
* @param {any[]} items * 处理数据
* @memberof DefaultBase *
*/ * @public
public dataProcess(items: any[]): void { * @param {any[]} items
items.forEach((_item: any) => { * @memberof DefaultBase
if (_item.expanded) { */
this.defaultOpeneds.push(_item.id); public dataProcess(items: any[]): void {
} items.forEach((_item: any) => {
if (_item.expanded) {
_item.disabled = false; this.defaultOpeneds.push(_item.id);
if (_item.items && Array.isArray(_item.items) && _item.items.length > 0) { }
this.dataProcess(_item.items);
} _item.disabled = false;
}); if (_item.items && Array.isArray(_item.items) && _item.items.length > 0) {
} this.dataProcess(_item.items);
}
/** });
* 获取子项 }
*
* @param {any[]} items /**
* @param {string} id * 获取子项
* @returns {*} *
* @memberof DefaultBase * @param {any[]} items
*/ * @param {string} id
public getItem(items: any[], id: string): any { * @returns {*}
const item: any = {}; * @memberof DefaultBase
items.some((_item: any) => { */
if (Object.is(_item.id, id)) { public getItem(items: any[], id: string): any {
Object.assign(item, _item); const item: any = {};
return true; items.some((_item: any) => {
} if (Object.is(_item.id, id)) {
if (_item.items && _item.items.length > 0) { Object.assign(item, _item);
const subItem = this.getItem(_item.items, id); return true;
if (Object.keys(subItem).length > 0) { }
Object.assign(item, subItem); if (_item.items && _item.items.length > 0) {
return true; const subItem = this.getItem(_item.items, id);
} if (Object.keys(subItem).length > 0) {
} Object.assign(item, subItem);
return false; return true;
}); }
return item; }
} return false;
});
/** return item;
* 初始化导航参数 }
*
* @param {*} drItem /**
* @memberof DefaultBase * 初始化导航参数
*/ *
public initNavParam(drItem:any){ * @param {*} drItem
let returnNavParam:any = {}; * @memberof DefaultBase
if(drItem && drItem.id){ */
let curDRItem:any = this.navParamsArray.find((item:any) =>{ public initNavParam(drItem:any){
return Object.is(item.id,drItem.id); let returnNavParam:any = {};
}) if(drItem && drItem.id){
if(curDRItem){ let curDRItem:any = this.navParamsArray.find((item:any) =>{
let localContext:any = curDRItem.localContext; return Object.is(item.id,drItem.id);
let localViewParam:any = curDRItem.localViewParam; })
if(localContext && Object.keys(localContext).length >0){ if(curDRItem){
let _context:any = this.$util.computedNavData(this.formData,this.context,this.viewparams,localContext); let localContext:any = curDRItem.localContext;
returnNavParam.localContext = _context; let localViewParam:any = curDRItem.localViewParam;
} if(localContext && Object.keys(localContext).length >0){
if(localViewParam && Object.keys(localViewParam).length >0){ let _context:any = this.$util.computedNavData(this.formData,this.context,this.viewparams,localContext);
let _params:any = this.$util.computedNavData(this.formData,this.context,this.viewparams,localViewParam); returnNavParam.localContext = _context;
returnNavParam.localViewParam = _params; }
} if(localViewParam && Object.keys(localViewParam).length >0){
return returnNavParam; let _params:any = this.$util.computedNavData(this.formData,this.context,this.viewparams,localViewParam);
}else{ returnNavParam.localViewParam = _params;
return null; }
} return returnNavParam;
} }else{
} return null;
}
/** }
* 节点选中 }
*
* @param {*} $event /**
* @memberof DefaultBase * 节点选中
*/ *
public onSelect($event: any): void { * @param {*} $event
const item = this.getItem(this.items, $event); * @memberof DefaultBase
if (Object.is(item.id, this.selection.id)) { */
return; public onSelect($event: any): void {
} const item = this.getItem(this.items, $event);
this.$emit('selectionchange', [item]); if (Object.is(item.id, this.selection.id)) {
let localNavParam:any = this.initNavParam(item); return;
const refview = this.getDRBarItem({ nodetype: item.id }); }
this.selection = {}; this.$emit('selectionchange', [item]);
const _context: any = { ...JSON.parse(JSON.stringify(this.context)) }; let localNavParam:any = this.initNavParam(item);
if(localNavParam && localNavParam.localContext){ const refview = this.getDRBarItem({ nodetype: item.id });
Object.assign(_context,localNavParam.localContext); this.selection = {};
} const _context: any = { ...JSON.parse(JSON.stringify(this.context)) };
const _params: any = {}; if(localNavParam && localNavParam.localContext){
if(localNavParam && localNavParam.localViewParam){ Object.assign(_context,localNavParam.localContext);
Object.assign(_params,localNavParam.localViewParam); }
} const _params: any = {};
if (refview && refview.parentdatajo) { if(localNavParam && localNavParam.localViewParam){
Object.assign(_context, refview.parentdatajo); Object.assign(_params,localNavParam.localViewParam);
Object.assign(this.selection, { view: { viewname: refview.viewname }, data: _context, param: _params }); }
} if (refview && refview.parentdatajo) {
Object.assign(this.selection, item); Object.assign(_context, refview.parentdatajo);
} Object.assign(this.selection, { view: { viewname: refview.viewname }, data: _context, param: _params });
}
/** Object.assign(this.selection, item);
* 子节点打开 }
*
* @param {*} $event /**
* @memberof DefaultBase * 子节点打开
*/ *
public onOpen($event: any): void { * @param {*} $event
const item = this.getItem(this.items, $event); * @memberof DefaultBase
if (Object.is(item.id, this.selection.id)) { */
return; public onOpen($event: any): void {
} const item = this.getItem(this.items, $event);
this.selection = {}; if (Object.is(item.id, this.selection.id)) {
Object.assign(this.selection, item); return;
if (Object.is(item.id, 'form') || (item.viewname && !Object.is(item.viewname, ''))) { }
this.$emit('selectionchange', [this.selection]); this.selection = {};
} Object.assign(this.selection, item);
} if (Object.is(item.id, 'form') || (item.viewname && !Object.is(item.viewname, ''))) {
this.$emit('selectionchange', [this.selection]);
/** }
* 子节点关闭 }
*
* @param {*} $event /**
* @memberof DefaultBase * 子节点关闭
*/ *
public onClose($event: any): void { * @param {*} $event
const item = this.getItem(this.items, $event); * @memberof DefaultBase
if (Object.is(item.id, this.selection.id)) { */
return; public onClose($event: any): void {
} const item = this.getItem(this.items, $event);
this.selection = {}; if (Object.is(item.id, this.selection.id)) {
Object.assign(this.selection, item); return;
if (Object.is(item.id, 'form') || (item.viewname && !Object.is(item.viewname, ''))) { }
this.$emit('selectionchange', [this.selection]); this.selection = {};
} Object.assign(this.selection, item);
} if (Object.is(item.id, 'form') || (item.viewname && !Object.is(item.viewname, ''))) {
this.$emit('selectionchange', [this.selection]);
/** }
* 设置关系项状态 }
*
* @param {any[]} items /**
* @param {boolean} state * 设置关系项状态
* @memberof DefaultBase *
*/ * @param {any[]} items
public setItemDisabled(items: any[], state: boolean) { * @param {boolean} state
items.forEach((item: any) => { * @memberof DefaultBase
if (!Object.is(item.id, 'form')) { */
item.disabled = state; public setItemDisabled(items: any[], state: boolean) {
} items.forEach((item: any) => {
if (item.items && Array.isArray(item.items)) { if (!Object.is(item.id, 'form')) {
this.setItemDisabled(item.items, state); item.disabled = state;
} }
}); if (item.items && Array.isArray(item.items)) {
} this.setItemDisabled(item.items, state);
}
});
}
} }
</script> </script>
<style lang='less'> <style lang='less'>
@import './default-drbar.less'; @import './default-drbar.less';
</style> </style>
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册