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

ibizdev提交

上级 e230362e
tinymce.addI18n('en_US',{
"Cut": "Cut",
"Heading 5": "Heading 5",
"Header 2": "Header 2",
"Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.",
"Heading 4": "Heading 4",
"Div": "Div",
"Heading 2": "Heading 2",
"Paste": "Paste",
"Close": "Close",
"Font Family": "Font Family",
"Pre": "Pre",
"Align right": "Align right",
"New document": "New document",
"Blockquote": "Blockquote",
"Numbered list": "Numbered list",
"Heading 1": "Heading 1",
"Headings": "Headings",
"Increase indent": "Increase indent",
"Formats": "Formats",
"Headers": "Headers",
"Select all": "Select all",
"Header 3": "Header 3",
"Blocks": "Blocks",
"Undo": "Undo",
"Strikethrough": "Strike-through",
"Bullet list": "Bullet list",
"Header 1": "Header 1",
"Superscript": "Superscript",
"Clear formatting": "Clear formatting",
"Font Sizes": "Font Sizes",
"Subscript": "Subscript",
"Header 6": "Header 6",
"Redo": "Redo",
"Paragraph": "Paragraph",
"Ok": "Ok",
"Bold": "Bold",
"Code": "Code",
"Italic": "Italic",
"Align center": "Align centre",
"Header 5": "Header 5",
"Heading 6": "Heading 6",
"Heading 3": "Heading 3",
"Decrease indent": "Decrease indent",
"Header 4": "Header 4",
"Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.",
"Underline": "Underline",
"Cancel": "Cancel",
"Justify": "Justify",
"Inline": "Inline",
"Copy": "Copy",
"Align left": "Align left",
"Visual aids": "Visual aids",
"Lower Greek": "Lower Greek",
"Square": "Square",
"Default": "Default",
"Lower Alpha": "Lower Alpha",
"Circle": "Circle",
"Disc": "Disc",
"Upper Alpha": "Upper Alpha",
"Upper Roman": "Upper Roman",
"Lower Roman": "Lower Roman",
"Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "ID should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.",
"Name": "Name",
"Anchor": "Anchor",
"Id": "ID",
"You have unsaved changes are you sure you want to navigate away?": "You have unsaved changes are you sure you want to navigate away?",
"Restore last draft": "Restore last draft",
"Special character": "Special character",
"Source code": "Source code",
"Language": "Language",
"Insert\/Edit code sample": "Insert\/Edit code sample",
"B": "B",
"R": "R",
"G": "G",
"Color": "Colour",
"Right to left": "Right to left",
"Left to right": "Left to right",
"Emoticons": "Emoticons",
"Robots": "Robots",
"Document properties": "Document properties",
"Title": "Title",
"Keywords": "Keywords",
"Encoding": "Encoding",
"Description": "Description",
"Author": "Author",
"Fullscreen": "Full-screen",
"Horizontal line": "Horizontal line",
"Horizontal space": "Horizontal space",
"Insert\/edit image": "Insert\/edit image",
"General": "General",
"Advanced": "Advanced",
"Source": "Source",
"Border": "Border",
"Constrain proportions": "Constrain proportions",
"Vertical space": "Vertical space",
"Image description": "Image description",
"Style": "Style",
"Dimensions": "Dimensions",
"Insert image": "Insert image",
"Image": "Image",
"Zoom in": "Zoom in",
"Contrast": "Contrast",
"Back": "Back",
"Gamma": "Gamma",
"Flip horizontally": "Flip horizontally",
"Resize": "Resize",
"Sharpen": "Sharpen",
"Zoom out": "Zoom out",
"Image options": "Image options",
"Apply": "Apply",
"Brightness": "Brightness",
"Rotate clockwise": "Rotate clockwise",
"Rotate counterclockwise": "Rotate counterclockwise",
"Edit image": "Edit image",
"Color levels": "Colour levels",
"Crop": "Crop",
"Orientation": "Orientation",
"Flip vertically": "Flip vertically",
"Invert": "Invert",
"Date\/time": "Date\/time",
"Insert date\/time": "Insert date\/time",
"Remove link": "Remove link",
"Url": "URL",
"Text to display": "Text to display",
"Anchors": "Anchors",
"Insert link": "Insert link",
"Link": "Link",
"New window": "New window",
"None": "None",
"The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?",
"Paste or type a link": "Paste or type a link",
"Target": "Target",
"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",
"Insert\/edit link": "Insert\/edit link",
"Insert\/edit video": "Insert\/edit video",
"Media": "Media",
"Alternative source": "Alternative source",
"Paste your embed code below:": "Paste your embed code below:",
"Insert video": "Insert video",
"Poster": "Poster",
"Insert\/edit media": "Insert\/edit media",
"Embed": "Embed",
"Nonbreaking space": "Non-breaking space",
"Page break": "Page break",
"Paste as text": "Paste as text",
"Preview": "Preview",
"Print": "Print",
"Save": "Save",
"Could not find the specified string.": "Could not find the specified string.",
"Replace": "Replace",
"Next": "Next",
"Whole words": "Whole words",
"Find and replace": "Find and replace",
"Replace with": "Replace with",
"Find": "Find",
"Replace all": "Replace all",
"Match case": "Match case",
"Prev": "Prev",
"Spellcheck": "Spell-check",
"Finish": "Finish",
"Ignore all": "Ignore all",
"Ignore": "Ignore",
"Add to Dictionary": "Add to Dictionary",
"Insert row before": "Insert row before",
"Rows": "Rows",
"Height": "Height",
"Paste row after": "Paste row after",
"Alignment": "Alignment",
"Border color": "Border colour",
"Column group": "Column group",
"Row": "Row",
"Insert column before": "Insert column before",
"Split cell": "Split cell",
"Cell padding": "Cell padding",
"Cell spacing": "Cell spacing",
"Row type": "Row type",
"Insert table": "Insert table",
"Body": "Body",
"Caption": "Caption",
"Footer": "Footer",
"Delete row": "Delete row",
"Paste row before": "Paste row before",
"Scope": "Scope",
"Delete table": "Delete table",
"H Align": "H Align",
"Top": "Top",
"Header cell": "Header cell",
"Column": "Column",
"Row group": "Row group",
"Cell": "Cell",
"Middle": "Middle",
"Cell type": "Cell type",
"Copy row": "Copy row",
"Row properties": "Row properties",
"Table properties": "Table properties",
"Bottom": "Bottom",
"V Align": "V Align",
"Header": "Header",
"Right": "Right",
"Insert column after": "Insert column after",
"Cols": "Cols",
"Insert row after": "Insert row after",
"Width": "Width",
"Cell properties": "Cell properties",
"Left": "Left",
"Cut row": "Cut row",
"Delete column": "Delete column",
"Center": "Centre",
"Merge cells": "Merge cells",
"Insert template": "Insert template",
"Templates": "Templates",
"Background color": "Background colour",
"Custom...": "Custom...",
"Custom color": "Custom colour",
"No color": "No colour",
"Text color": "Text colour",
"Table of Contents": "Table of Contents",
"Show blocks": "Show blocks",
"Show invisible characters": "Show invisible characters",
"Words: {0}": "Words: {0}",
"Insert": "Insert",
"File": "File",
"Edit": "Edit",
"Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help",
"Tools": "Tools",
"View": "View",
"Table": "Table",
"Format": "Format"
});
\ No newline at end of file
<template>
<div id='app'>
<app-debug-actions />
<router-view v-if="isRouterAlive"/>
</div>
</template>
......
......@@ -60,6 +60,8 @@ import AppActionBar from './components/app-actionbar/app-actionbar.vue'
import AppOrgSector from './components/app-orgsector/app-orgsector.vue'
import AppBuild from './components/app-build/app-build.vue'
import AppStudioAction from './components/app-studioaction/app-studioaction.vue'
import AppDebugActions from './components/app-debug-actions/app-debug-actions.vue'
import AppHeaderMenus from './components/app-header-menus/app-header-menus.vue'
// 全局挂载UI实体服务注册中心
window['uiServiceRegister'] = uiServiceRegister;
......@@ -129,5 +131,7 @@ export const AppComponents = {
v.component('app-orgsector', AppOrgSector);
v.component('app-build', AppBuild);
v.component('app-studioaction', AppStudioAction);
v.component('app-debug-actions', AppDebugActions);
v.component('app-header-menus', AppHeaderMenus);
},
};
\ No newline at end of file
app_Web/src/assets/img/logo.png

6.7 KB | W: | H:

app_Web/src/assets/img/logo.png

2.0 KB | W: | H:

app_Web/src/assets/img/logo.png
app_Web/src/assets/img/logo.png
app_Web/src/assets/img/logo.png
app_Web/src/assets/img/logo.png
  • 2-up
  • Swipe
  • Onion skin
<template>
<checkbox-group class="app-checkbox-list" v-model="selectArray">
<checkbox v-for="(item,index) in items" :key="index" :label="item.value" :disabled="isDisabled || item.disabled">
<span>{{item.text}}</span>
<span>{{Object.is(codelistType,'STATIC') ? $t('codelist.'+tag+'.'+item.value) : item.text}}</span>
</checkbox>
</checkbox-group >
</template>
......
.app-debug-actions {
position: absolute;
top: 0px;
left: 50%;
z-index: 10000;
text-align: center;
transition: all 0.3s;
margin-top: -32px;
>.actions {
.ivu-btn {
width: 100%;
}
}
>.show-buttons {
width: 100%;
height: 18px;
border-width: 0px 1px 1px 1px;
border-style: solid;
border-color: #8893a7;
text-align: center;
color: #8893a7;
cursor: pointer;
>.button {
margin-top: -5px;
}
}
}
.app-debug-actions:hover {
margin-top: 0px;
}
\ No newline at end of file
<template>
<div class="app-debug-actions">
<div class="actions">
<button-group vertical>
<i-button title="开启配置模式" :type="sdc.isShowTool ? 'warning' : 'info'" ghost @click="() => sdc.showToolChange()" :icon="sdc.isShowTool ? 'ios-bug' : 'ios-bug-outline'" ></i-button>
</button-group>
</div>
<div class="show-buttons">
<div class="button"><i class="ivu-icon ivu-icon-ios-arrow-down" /></div>
</div>
</div>
</template>
<script lang = 'ts'>
import { Vue, Component } from 'vue-property-decorator';
import { StudioActionUtil } from '@/utils';
import { Environment } from '@/environments/environment';
/**
* 开发模式控制行为组
*
* @export
* @class AppDebugActions
* @extends {Vue}
*/
@Component({})
export default class AppDebugActions extends Vue {
/**
* 配置平台操作控制器
*
* @type {StudioActionController}
* @memberof AppDebugActions
*/
public sdc: StudioActionUtil = StudioActionUtil.getInstance();
}
</script>
<style lang = "less">
@import "./app-debug-actions.less";
</style>
\ No newline at end of file
......@@ -2,17 +2,17 @@
<dropdown v-if="itemLevel === 0" :transfer="true" trigger='click'>
<i-button :disabled="item.disabled">
<i class='fa fa-file-excel-o'></i>
<span class='caption'>{{item.caption}}</span>
<span class='caption'>{{caption}}</span>
</i-button>
<dropdown-menu slot='list'>
<dropdown-item>
<p @click="exportExcel($event, 'maxRowCount')">
{{item.caption}}全部(最大{{item.caption}}{{item.MaxRowCount}})
{{caption}}{{$t('info.total')}}({{$t('info.max')}}{{caption}}{{item.MaxRowCount}}{{$t('info.row')}})
</p>
</dropdown-item>
<dropdown-item>
<p @click="exportExcel($event, 'activatedPage')">
{{this.item.caption}}当前页
{{caption}}{{$t('info.currentPage')}}
</p>
</dropdown-item>
</dropdown-menu>
......@@ -29,7 +29,28 @@ import { Vue, Component, Prop, Watch } from 'vue-property-decorator';
* @class AppExportExcel
* @extends {Vue}
*/
@Component({})
@Component({
i18n: {
messages: {
'zh-CN': {
info: {
total: '全部',
max: '最大',
row: '行',
currentPage: '当前页',
}
},
'en-US': {
info: {
total: 'All',
max: 'At Most',
row: 'Lines',
currentPage: 'Current Page',
}
}
}
}
})
export default class AppExportExcel extends Vue {
/**
......@@ -40,6 +61,173 @@ export default class AppExportExcel extends Vue {
*/
@Prop() public item?: any;
/**
* 工具栏项
*
* @type {*}
* @memberof AppExportExcel
*/
@Prop() public caption?: any;
/**
* 工具栏项层级
*
* @type {number}
* @memberof AppExportExcel
*/
@Prop({ default: 0 }) public itemLevel!: number;
/**
* 起始页
*
* @type {(string | null)}
* @memberof AppExportExcel
*/
public startPage: string | null = null;
/**
* 结束页
*
* @type {(string | null)}
* @memberof AppExportExcel
*/
public endPage: string | null = null;
/**
* 是否显示下拉菜单
*
* @type {boolean}
* @memberof AppExportExcel
*/
public visible: boolean = false;
/**
* 点击触发相似
*
* @memberof AppExportExcel
*/
public clickVisible(): void {
this.visible = !this.visible
}
/**
* 导出数据
*
* @param {*} $event
* @param {string} type
* @returns {void}
* @memberof AppExportExcel
*/
public exportExcel($event: any, type: string): void {
const exportparms: any = { type: type };
if (Object.is(type, 'maxRowCount')) {
Object.assign(exportparms, { maxRowCount: this.item.MaxRowCount })
this.visible = false;
} else if (Object.is(type, 'activatedPage')) {
this.visible = false;
} else if (Object.is(type, 'custom')) {
if (!this.startPage || !this.endPage) {
this.$Notice.warning({ title: '警告', desc: '请输入起始页' });
return;
}
const startPage: any = Number.parseInt(this.startPage, 10);
const endPage: any = Number.parseInt(this.endPage, 10);
if (Number.isNaN(startPage) || Number.isNaN(endPage)) {
this.$Notice.warning({ title: '警告', desc: '请输入有效的起始页' });
return;
}
if (startPage < 1 || endPage < 1 || startPage > endPage) {
this.$Notice.warning({ title: '警告', desc: '请输入有效的起始页' });
return;
}
this.startPage = null;
this.endPage = null;
Object.assign(exportparms, { startPage: startPage, endPage: endPage });
this.visible = false;
}
if (!this.visible) {
Object.assign($event, { exportparms: exportparms });
this.$emit('exportexcel', $event);
}
}
}
</script>
<style lang='less'>
@import './app-export-excel.less';
</style><template>
<dropdown v-if="itemLevel === 0" :transfer="true" trigger='click'>
<i-button :disabled="item.disabled">
<i class='fa fa-file-excel-o'></i>
<span class='caption'>{{caption}}</span>
</i-button>
<dropdown-menu slot='list'>
<dropdown-item>
<p @click="exportExcel($event, 'maxRowCount')">
{{caption}}{{$t('info.total')}}({{$t('info.max')}}{{caption}}{{item.MaxRowCount}}{{$t('info.row')}})
</p>
</dropdown-item>
<dropdown-item>
<p @click="exportExcel($event, 'activatedPage')">
{{caption}}{{$t('info.currentPage')}}
</p>
</dropdown-item>
</dropdown-menu>
</dropdown>
</template>
<script lang="ts">
import { Vue, Component, Prop, Watch } from 'vue-property-decorator';
/**
* 数据导出组件
*
* @export
* @class AppExportExcel
* @extends {Vue}
*/
@Component({
i18n: {
messages: {
'zh-CN': {
info: {
total: '全部',
max: '最大',
row: '行',
currentPage: '当前页',
}
},
'en-US': {
info: {
total: 'All',
max: 'At Most',
row: 'Lines',
currentPage: 'Current Page',
}
}
}
}
})
export default class AppExportExcel extends Vue {
/**
* 工具栏项
*
* @type {*}
* @memberof AppExportExcel
*/
@Prop() public item?: any;
/**
* 工具栏项
*
* @type {*}
* @memberof AppExportExcel
*/
@Prop() public caption?: any;
/**
* 工具栏项层级
*
......
.app-header-menus {
display: flex;
align-items: center;
height: 100%;
line-height: 20px;
>.app-header-menu-item{
height: 24px;
display: flex;
align-items: center;
margin-right: 16px;
color: #8893a7;
border: 1px solid rgba(0, 0, 0, 0);
cursor: pointer;
}
>.app-header-menu-item.icon {
>.app-header-menu-item-icon {
font-size: 20px;
}
>.app-header-menu-item-img {
height: 20px;
width: 20px;
>img {
height: 100%;
width: 100%;
}
}
}
>.app-header-menu-item.icon:hover{
color: #68758e;
text-decoration: none;
}
>.app-header-menu-item.text {
border-radius: 4px;
border: 1px solid #8893a7;
text-align: center;
font-size: 12px;
padding: 2px 4px;
>.app-header-menu-item-icon {
width: 20px;
height: 20px;
overflow: hidden;
font-size: 16px;
margin-right: 3px;
margin-top: -3px;
}
>.app-header-menu-item-img {
height: 16px;
width: 16px;
margin-right: 3px;
>img {
height: 100%;
width: 100%;
}
}
}
>.app-header-menu-item.text:hover {
color: #107fff;
border: 1px solid #107fff;
}
}
.app-header-menus:hover {
background: none !important;
}
\ No newline at end of file
<template>
<div class="app-header-menus">
<div v-for="menu in menus" class="app-header-menu-item text" @click="openWindow(menu)">
<div class="app-header-menu-item-icon">
<i :class="menu.iconcls" :aria-hidden="true" />
</div>
<div class="app-header-menu-item-text">{{$t(menu.title)}}</div>
</div>
</div>
</template>
<script lang="ts">
import { Vue, Component, Prop, Model, Emit } from "vue-property-decorator";
import { Subject } from "rxjs";
import { Environment } from '@/environments/environment';
@Component({
i18n: {
messages: {
'zh-CN': {
menus: {
ibizlab:{
title: 'iBiz开放平台',
},
publishProject:{
title: '项目文件',
},
ibizstudio:{
title: '模型设计工具',
},
ibizbbs:{
title: 'iBiz论坛',
},
}
},
'en-US': {
menus: {
ibizlab:{
title: 'iBizLab',
},
publishProject:{
title: 'Publish Project',
},
ibizstudio:{
title: 'Model Design Tools',
},
ibizbbs:{
title: 'iBizBBS',
},
}
}
}
}
})
export default class AppHeaderMenus extends Vue {
/**
* 菜单数据
*
* @type {any}
* @memberof AppHeaderMenus
*/
public menus:any = [
{
name: "ibizlab",
title: "menus.ibizlab.title",
url: Environment.ibizlabtUrl,
iconcls: 'fa fa-home',
},
{
name: "publishProject",
title: "menus.publishProject.title",
url: Environment.PublishProjectUrl,
iconcls: 'fa fa-folder-open-o',
},
{
name: "ibizstudio",
title: "menus.ibizstudio.title",
url: `${Environment.StudioUrl}?#/common_slnindex/srfkeys=${Environment.DCId}/sysdesign_psdevslnsysmodeltreeexpview`,
iconcls: 'fa fa-wrench',
},
{
name: "ibizbbs",
title: "menus.ibizbbs.title",
url: Environment.ibizbbstUrl,
iconcls: 'fa fa-comments-o',
},
];
/**
* 触发界面行为
*
* @memberof AppHeaderMenus
*/
public openWindow(menu:any){
window.open(menu.url, '_blank');
}
}
</script>
<style lang='less'>
@import "./app-header-menus.less";
</style>
\ No newline at end of file
<template>
<dropdown trigger='click' on-click="selectLang">
<dropdown trigger='click' @on-click="selectLang">
<span>
{{title}}
<icon size='18' type='md-arrow-dropdown'></icon>
......
<template>
<radio-group class="app-radio-group" v-model="value" >
<radio v-for="(_item,index) in items" :key = "index" :label="_item.value" :disabled="isDisabled || _item.disabled">
<span>{{_item.text}}</span>
<span>{{Object.is(codelistType,'STATIC') ? $t('codelist.'+tag+'.'+_item.value) : _item.text}}</span>
</radio>
</radio-group>
</template>
......
......@@ -45,6 +45,7 @@ export default class AppRichTextEditor extends Vue {
}
}
/**
* 输入name
*/
......@@ -63,17 +64,38 @@ export default class AppRichTextEditor extends Vue {
/**
* 当前语言,默认中文
*/
@Prop() langu?: string;
public langu: any = localStorage.getItem('local') ? localStorage.getItem('local') : 'zh_CN' ;
/**
* 监听语言变化
*/
@Watch('$i18n.locale')
onLocaleChange(newval: any, val: any) {
console.log("语言变更"+newval)
this.langu = newval;
if(this.editor){
tinymceCode.remove('#' + this.id);
}
this.init('');
}
/**
* 语言映射文件
*/
public languMap:any = {
'zh-CN': 'zh_CN',
'en-US': 'en_US',
};
/**
* 上传文件路径
*/
public uploadUrl = '/' + Environment.BaseUrl + Environment.UploadFile;
public uploadUrl = Environment.BaseUrl + Environment.UploadFile;
/**
* 下载路径
*/
public downloadUrl = '/' + Environment.BaseUrl + Environment.ExportFile;
public downloadUrl = Environment.BaseUrl + Environment.ExportFile;
/**
* 当前富文本
......@@ -154,7 +176,8 @@ export default class AppRichTextEditor extends Vue {
paste_data_images: true,
codesample_content_css: 'assets/tinymce/prism.css',
skin_url: './assets/tinymce/skins/lightgray',
language_url: './assets/tinymce/langs/' + (this.langu ? this.langu : 'zh_CN') + '.js',
language_url: './assets/tinymce/langs/' + this.languMap[this.langu] + '.js',
language:this.languMap[this.langu],
setup: (editor: any) => {
this.editor = editor;
editor.on('blur', () => {
......@@ -166,14 +189,15 @@ export default class AppRichTextEditor extends Vue {
const formData = new FormData();
formData.append('file', bolbinfo.blob(), bolbinfo.filename());
const _url = richtexteditor.uploadUrl;
richtexteditor.uploadFile(_url, formData).subscribe((response: any) => {
if (response.ret === 0 && response.files.length > 0) {
const id: string = response.files[0].id;
const url: string = `${richtexteditor.downloadUrl}?fileid=${id}`
richtexteditor.uploadFile(_url, formData).subscribe((file: any) => {
if (file.filename) {
const id: string = file.fileid;
const url: string = `${richtexteditor.downloadUrl}/${id}`
success(url);
}
}, (error: any) => {
console.log(error);
failure('HTTP Error: ' + error.status);
});
},
init_instance_callback: (editor: any) => {
......
<template>
<span>{{text}}</span>
<span>{{isUseLangres ? $t(text) : text}}</span>
</template>
<script lang="ts">
......@@ -85,6 +85,13 @@ export default class DropDownList extends Vue {
this.load();
}
/**
* 是否使用多语言资源
* @type {boolean}
* @memberof AppSpan
*/
public isUseLangres:boolean = false;
/**
* 加载代码表
*
......@@ -125,13 +132,27 @@ export default class DropDownList extends Vue {
* @memberof AppSpan
*/
public setText(){
this.isUseLangres = false;
if(this.items.length>0){
let currentItem:any = this.items.find((item:any)=>{
return item.value == this.data;
});
if(currentItem){
if(Object.is(this.codelistType,'STATIC')){
this.isUseLangres = true;
this.text = 'codelist.'+this.tag+'.'+this.data;
}else{
this.text = currentItem.label;
}
}else{
// 不匹配显示原值,不存在显示空值
if(this.data){
this.text = this.data;
}else{
this.isUseLangres = true;
this.text = 'codelist.'+this.tag+'.empty';
}
}
}else{
this.text = this.data;
}
......
......@@ -2,7 +2,7 @@
<div class='app-header-user'>
<dropdown @on-click="userSelect" :transfer="true">
<div class='user'>
<span>{{user.name}}</span>
<span>{{user.name ? user.name : $t('user.name')}}</span>
&nbsp;&nbsp;<avatar :src="user.avatar" />
</div>
<dropdown-menu class='menu' slot='list' style='font-size: 15px !important;'>
......@@ -22,14 +22,14 @@ import { Vue, Component } from 'vue-property-decorator';
messages: {
'zh-CN': {
user: {
name: '匿名访问',
name: '系统管理员',
logout: '退出登陆',
surelogout: '确认要退出登陆?',
}
},
'en-US': {
user: {
name: 'Anonymous access',
name: 'System',
logout: 'Logout',
surelogout: 'Are you sure logout?',
}
......@@ -45,7 +45,7 @@ export default class AppUser extends Vue {
* @memberof AppUser
*/
public user = {
name: 'user.name',
name: '',
avatar: './assets/img/avatar.png',
}
......
<template>
<div class="codelist">
<span v-if="ifEmpty">{{emptytext}}</span>
<span v-if="ifEmpty">{{$t('codelist.'+srfkey+'.empty')}}</span>
<template v-if="!ifEmpty">
<template v-if="renderMode == 'string'">
<template v-for="(val, index) in items">
......@@ -8,7 +8,7 @@
<template v-for="(item, index) in val">
{{ index != 0 ? "、" : ''}}
<i v-if="item.iconCls" :class="item.iconCls"></i>
<span :class="item.textCls" :style="{color:item.color}">{{item.text}}</span>
<span :class="item.textCls" :style="{color:item.color}">{{isUseLangres ? $t(item.text) : item.text}}</span>
</template>
</template>
</template>
......@@ -16,7 +16,7 @@
<template v-for="(item, index) in items">
{{ index != 0 ? textSeparator : ''}}
<i v-if="item.iconCls" :class="item.iconCls"></i>
<span :class="item.textCls" :style="{color:item.color}">{{item.text}}</span>
<span :class="item.textCls" :style="{color:item.color}">{{isUseLangres ? $t(item.text) : item.text}}</span>
</template>
</template>
</template>
......@@ -113,6 +113,13 @@ export default class CodeList extends Vue {
this.dataHandle();
}
/**
* 是否使用多语言资源
* @type {boolean}
* @memberof CodeList
*/
public isUseLangres:boolean = false;
/**
* 数据值变化
*
......@@ -133,6 +140,7 @@ export default class CodeList extends Vue {
* @memberof CodeList
*/
private dataHandle(){
this.isUseLangres = false;
let _this = this;
// 空值判断
if(Object.is(this.$util.typeOf(this.value), 'undefined') || Object.is(this.$util.typeOf(this.value), 'null')){
......@@ -150,6 +158,7 @@ export default class CodeList extends Vue {
});
// 静态处理
} else if(Object.is(this.codelistType, "STATIC")){
this.isUseLangres = true;
let items = this.$store.getters.getCodeListItems(this.srfkey);
_this.setItems(items, _this);
}
......@@ -168,6 +177,7 @@ export default class CodeList extends Vue {
if (items) {
let result:any = [];
if(Object.is(this.renderMode,"number")){
this.isUseLangres = false;
items.map((_item: any, index: number)=>{
const nValue = parseInt((_this.value as any), 10);
const codevalue = _item.value;
......@@ -186,6 +196,9 @@ export default class CodeList extends Vue {
result[index].push(item);
}
});
if(result[index].length == 0){
result.splice(index,1);
}
});
} else {
let values: any[] = Object.is(this.$util.typeOf(this.value), 'number') ? [this.value] : [...(this.value as any).split(this.valueSeparator)];
......@@ -200,7 +213,11 @@ export default class CodeList extends Vue {
if(result.length != 0){
_this.items = result;
}else{
_this.items = [{text:"不匹配"}];
if(Object.is(this.renderMode,"string")){
_this.items = [[{text:this.value}]];
} else {
_this.items = [{text:this.value}];
}
}
}
}
......@@ -221,8 +238,16 @@ export default class CodeList extends Vue {
return undefined;
}
result = { ...arr[0] };
if(Object.is(this.codelistType,'STATIC')){
let value = JSON.parse(JSON.stringify(result));
value.text = 'codelist.'+this.srfkey+'.'+value.value;
return value;
}else{
return result;
}
}
}
......
......@@ -11,7 +11,7 @@
:placeholder="placeholder ? this.placeholder : '请选择'">
<i-option v-for="(item, index) in items" :key="index" :value="item.value" :label="item.text">
<Checkbox :value = "(currentVal.indexOf(item.value))==-1?false:true">
{{item.text}}
{{Object.is(codelistType,'STATIC') ? $t('codelist.'+tag+'.'+item.value) : item.text}}
</Checkbox>
</i-option>
</i-select>
......@@ -110,7 +110,6 @@ export default class DropDownList extends Vue {
* @memberof DropDownListMpicker
*/
public created() {
this.currentVal = [];
if(this.tag && Object.is(this.codelistType,"STATIC")){
const codelist = this.$store.getters.getCodeList(this.tag);
if (codelist) {
......
......@@ -8,7 +8,7 @@
:filterable="filterable === true ? true : false"
@on-open-change="onClick"
:placeholder="placeholder ? this.placeholder : '请选择'">
<i-option v-for="(item, index) in items" :key="index" :value="item.value">{{item.text}}</i-option>
<i-option v-for="(item, index) in items" :key="index" :value="item.value">{{Object.is(codelistType,'STATIC') ? $t('codelist.'+tag+'.'+item.value) : item.text}}</i-option>
</i-select>
</template>
......
......@@ -30,5 +30,11 @@ export const Environment = {
// 系统标识
SysId: "B428B5BE-EA90-4101-A493-BA7085D89F0A",
// 前端应用标识
AppId: "6e0b7357169ef4eba84e1347ed94bd84"
AppId: "6e0b7357169ef4eba84e1347ed94bd84",
// 项目发布文件地址
PublishProjectUrl: 'http://oauth2:cTux_e7Aoz1PrasP5dDq@demo.ibizlab.cn/ibizpoc_20003/im.git',
// ibiz开放平台地址
ibizlabtUrl: 'https://www.ibizlab.cn',
// ibiz论坛地址
ibizbbstUrl: 'https://bbs.ibizlab.cn',
};
\ No newline at end of file
......@@ -7,6 +7,8 @@ import org_en_US from '@locale/lanres/org/org_en_US';
import ps_en_US from '@locale/lanres/ps/ps_en_US';
import orgdept_en_US from '@locale/lanres/org-dept/org-dept_en_US';
import fj_en_US from '@locale/lanres/fj/fj_en_US';
import userCustom_en_US from '@locale/lanres/userCustom/userCustom_en_US';
import codelist_en_US from '@locale/lanres/codelist/codelist_en_US';
export default {
app: {
......@@ -36,9 +38,11 @@ export default {
views: {
appindexview: {
caption: '首页',
title: '首页',
},
appredirectview: {
caption: '应用全局数据重定向视图',
title: '应用全局数据重定向视图',
},
},
menus: {
......@@ -47,6 +51,7 @@ export default {
},
},
},
codelist: codelist_en_US,
wfstepdata: wfstepdata_en_US,
orgdeptuser: orgdeptuser_en_US,
orguser: orguser_en_US,
......@@ -56,4 +61,5 @@ export default {
ps: ps_en_US,
orgdept: orgdept_en_US,
fj: fj_en_US,
userCustom: userCustom_en_US,
};
\ No newline at end of file
......@@ -7,6 +7,8 @@ import org_zh_CN from '@locale/lanres/org/org_zh_CN';
import ps_zh_CN from '@locale/lanres/ps/ps_zh_CN';
import orgdept_zh_CN from '@locale/lanres/org-dept/org-dept_zh_CN';
import fj_zh_CN from '@locale/lanres/fj/fj_zh_CN';
import userCustom_zh_CN from '@locale/lanres/userCustom/userCustom_zh_CN';
import codelist_zh_CN from '@locale/lanres/codelist/codelist_zh_CN';
export default {
app: {
......@@ -36,9 +38,11 @@ export default {
views: {
appindexview: {
caption: '首页',
title: '首页',
},
appredirectview: {
caption: '应用全局数据重定向视图',
title: '应用全局数据重定向视图',
},
},
menus: {
......@@ -47,6 +51,7 @@ export default {
},
},
},
codelist: codelist_zh_CN,
wfstepdata: wfstepdata_zh_CN,
orgdeptuser: orgdeptuser_zh_CN,
orguser: orguser_zh_CN,
......@@ -56,4 +61,5 @@ export default {
ps: ps_zh_CN,
orgdept: orgdept_zh_CN,
fj: fj_zh_CN,
userCustom: userCustom_zh_CN,
};
\ No newline at end of file
......@@ -3,21 +3,27 @@ export default {
views: {
ms_20editview3: {
caption: "业务协作",
title: '业务协作',
},
ms_10editview3: {
caption: "业务协作",
title: '业务协作',
},
ms_40editview3: {
caption: "业务协作",
title: '业务协作',
},
editview: {
caption: "业务协作",
title: '业务协作',
},
ms_30editview3: {
caption: "业务协作",
title: '业务协作',
},
gridview9: {
caption: "业务协作",
title: '业务协作',
},
},
main_form: {
......@@ -60,15 +66,15 @@ export default {
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "tbitem3",
tip: "Save",
},
tbitem8: {
caption: "-",
tip: "tbitem8",
tip: "",
},
tbitem9: {
caption: "Start workflow",
tip: "tbitem9",
tip: "Start workflow",
},
},
ms_30editview3toolbar_toolbar: {
......
......@@ -2,21 +2,27 @@ export default {
views: {
ms_20editview3: {
caption: '业务协作',
title: '业务协作',
},
ms_10editview3: {
caption: '业务协作',
title: '业务协作',
},
ms_40editview3: {
caption: '业务协作',
title: '业务协作',
},
editview: {
caption: '业务协作',
title: '业务协作',
},
ms_30editview3: {
caption: '业务协作',
title: '业务协作',
},
gridview9: {
caption: '业务协作',
title: '业务协作',
},
},
main_form: {
......
export default {
SysOperator: {
empty: '',
},
BCWFSTATE: {
10: '拟稿',
20: '审批中',
30: '已完成',
40: '已取消',
empty: '',
},
SBLX: {
10: '类型一',
20: '类型二',
30: '类型三',
empty: '',
},
SBLB: {
10: '类别一',
20: '类别二',
30: '类别三',
empty: '',
},
YesNo1: {
1: '是',
0: '否',
empty: '',
},
HJCD: {
10: '一般',
20: '紧急',
30: '特急',
empty: '',
},
IMWFSTATE: {
10: '拟稿',
20: '审批中',
30: '已完成',
40: '已取消',
empty: '',
},
SHFS: {
10: '依次审核',
20: '并发审核',
empty: '',
},
CertType: {
IDCARD: '身份证',
empty: '',
},
SDFS: {
10: '顺序送达',
20: '并发送达',
empty: '',
},
};
\ No newline at end of file
export default {
SysOperator: {
empty: '',
},
BCWFSTATE: {
10: '拟稿',
20: '审批中',
30: '已完成',
40: '已取消',
empty: '',
},
SBLX: {
10: '类型一',
20: '类型二',
30: '类型三',
empty: '',
},
SBLB: {
10: '类别一',
20: '类别二',
30: '类别三',
empty: '',
},
YesNo1: {
1: '是',
0: '否',
empty: '',
},
HJCD: {
10: '一般',
20: '紧急',
30: '特急',
empty: '',
},
IMWFSTATE: {
10: '拟稿',
20: '审批中',
30: '已完成',
40: '已取消',
empty: '',
},
SHFS: {
10: '依次审核',
20: '并发审核',
empty: '',
},
CertType: {
IDCARD: '身份证',
empty: '',
},
SDFS: {
10: '顺序送达',
20: '并发送达',
empty: '',
},
};
\ No newline at end of file
......@@ -3,12 +3,15 @@ export default {
views: {
gridview: {
caption: "附件",
title: '附件',
},
gridview9: {
caption: "附件",
title: '附件',
},
editview: {
caption: "附件",
title: '附件',
},
},
main_form: {
......@@ -55,55 +58,55 @@ export default {
gridview9toolbar_toolbar: {
tbitem1: {
caption: "新建行",
tip: "tbitem1",
tip: "新建行",
},
tbitem5: {
caption: "Remove",
tip: "tbitem5",
tip: "Remove",
},
tbitem7: {
caption: "刷新",
tip: "tbitem7",
tip: "刷新",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "tbitem3",
tip: "Save",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "tbitem3",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "tbitem4",
tip: "Edit",
},
tbitem7: {
caption: "-",
tip: "tbitem7",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "tbitem8",
tip: "Remove",
},
tbitem9: {
caption: "-",
tip: "tbitem9",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "tbitem13",
tip: "Export",
},
tbitem10: {
caption: "-",
tip: "tbitem10",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "tbitem19",
tip: "Filter",
},
},
};
\ No newline at end of file
......@@ -2,12 +2,15 @@ export default {
views: {
gridview: {
caption: '附件',
title: '附件',
},
gridview9: {
caption: '附件',
title: '附件',
},
editview: {
caption: '附件',
title: '附件',
},
},
main_form: {
......
......@@ -3,54 +3,71 @@ export default {
views: {
ms_10editview: {
caption: "重要事项",
title: '重要事项',
},
ms_30editview: {
caption: "重要事项",
title: '重要事项',
},
printeditview: {
caption: "重要事项",
title: '重要事项',
},
ms_20editview: {
caption: "重要事项",
title: '重要事项',
},
editview: {
caption: "重要事项",
title: '重要事项',
},
ms_20_40editview: {
caption: "重要事项",
title: '重要事项',
},
gridview: {
caption: "重要事项",
title: '重要事项',
},
ms_20_80editview: {
caption: "重要事项",
title: '重要事项',
},
redirectview: {
caption: "重要事项",
title: '重要事项',
},
ms_20_50editview: {
caption: "重要事项",
title: '重要事项',
},
ms_20_60editview: {
caption: "重要事项",
title: '重要事项',
},
wfproxystartview: {
caption: "重要事项",
title: '重要事项',
},
ms_20_20editview: {
caption: "重要事项",
title: '重要事项',
},
ms_20_30editview: {
caption: "重要事项",
title: '重要事项',
},
ms_20_10editview: {
caption: "重要事项",
title: '重要事项',
},
ms_20_90editview: {
caption: "重要事项",
title: '重要事项',
},
ms_20_70editview: {
caption: "重要事项",
title: '重要事项',
},
},
main_form: {
......@@ -314,91 +331,91 @@ export default {
ms_10editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "tbitem3",
tip: "Save",
},
tbitem8: {
caption: "-",
tip: "tbitem8",
tip: "",
},
tbitem9: {
caption: "开始流程",
tip: "tbitem9",
tip: "开始流程",
},
},
printeditviewtoolbar_toolbar: {
tbitem15: {
caption: "Print",
tip: "tbitem15",
tip: "Print",
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: "New",
tip: "tbitem3",
tip: "New",
},
tbitem4: {
caption: "Edit",
tip: "tbitem4",
tip: "Edit",
},
tbitem7: {
caption: "-",
tip: "tbitem7",
tip: "",
},
tbitem8: {
caption: "Remove",
tip: "tbitem8",
tip: "Remove",
},
tbitem9: {
caption: "-",
tip: "tbitem9",
tip: "",
},
tbitem13: {
caption: "Export",
tip: "tbitem13",
tip: "Export",
},
tbitem10: {
caption: "-",
tip: "tbitem10",
tip: "",
},
tbitem14_printpreview: {
caption: "打印预览",
tip: "tbitem14_printpreview",
tip: "打印预览",
},
tbitem15: {
caption: "-",
tip: "tbitem15",
tip: "",
},
tbitem19: {
caption: "Filter",
tip: "tbitem19",
tip: "Filter",
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "tbitem3",
tip: "Save",
},
tbitem8: {
caption: "-",
tip: "tbitem8",
tip: "",
},
tbitem9: {
caption: "开始流程",
tip: "tbitem9",
tip: "开始流程",
},
},
ms_20_30editviewtoolbar_toolbar: {
tbitem3: {
caption: "Save",
tip: "tbitem3",
tip: "Save",
},
tbitem8: {
caption: "-",
tip: "tbitem8",
tip: "",
},
tbitem15: {
caption: "Print",
tip: "tbitem15",
tip: "Print",
},
},
};
\ No newline at end of file
......@@ -2,54 +2,71 @@ export default {
views: {
ms_10editview: {
caption: '重要事项',
title: '重要事项',
},
ms_30editview: {
caption: '重要事项',
title: '重要事项',
},
printeditview: {
caption: '重要事项',
title: '重要事项',
},
ms_20editview: {
caption: '重要事项',
title: '重要事项',
},
editview: {
caption: '重要事项',
title: '重要事项',
},
ms_20_40editview: {
caption: '重要事项',
title: '重要事项',
},
gridview: {
caption: '重要事项',
title: '重要事项',
},
ms_20_80editview: {
caption: '重要事项',
title: '重要事项',
},
redirectview: {
caption: '重要事项',
title: '重要事项',
},
ms_20_50editview: {
caption: '重要事项',
title: '重要事项',
},
ms_20_60editview: {
caption: '重要事项',
title: '重要事项',
},
wfproxystartview: {
caption: '重要事项',
title: '重要事项',
},
ms_20_20editview: {
caption: '重要事项',
title: '重要事项',
},
ms_20_30editview: {
caption: '重要事项',
title: '重要事项',
},
ms_20_10editview: {
caption: '重要事项',
title: '重要事项',
},
ms_20_90editview: {
caption: '重要事项',
title: '重要事项',
},
ms_20_70editview: {
caption: '重要事项',
title: '重要事项',
},
},
main_form: {
......
......@@ -3,12 +3,15 @@ export default {
views: {
pickupgridview: {
caption: "Just now",
title: 'the workflow instance processing has exceeded [{0}] times, system interruption',
},
mpickupview: {
caption: "Just now",
title: 'Workflow Steps',
},
pickupview: {
caption: "Just now",
title: 'Please select the datagird row',
},
},
main_grid: {
......
......@@ -2,12 +2,15 @@ export default {
views: {
pickupgridview: {
caption: '部门',
title: '部门',
},
mpickupview: {
caption: '部门',
title: '部门',
},
pickupview: {
caption: '部门',
title: '部门',
},
},
main_grid: {
......
......@@ -3,12 +3,15 @@ export default {
views: {
pickupgridview: {
caption: "{0} minutes ago",
title: '组织用户',
},
mpickupview: {
caption: "{0} minutes ago",
title: 'Add',
},
pickupview: {
caption: "{0} minutes ago",
title: 'Advance',
},
},
main_grid: {
......
......@@ -2,12 +2,15 @@ export default {
views: {
pickupgridview: {
caption: '组织用户',
title: '组织用户',
},
mpickupview: {
caption: '组织用户',
title: '组织用户',
},
pickupview: {
caption: '组织用户',
title: '组织用户',
},
},
main_grid: {
......
// 用户自定义语言资源 英文
export default {
};
\ No newline at end of file
// 用户自定义语言资源 中文
export default {
};
\ No newline at end of file
......@@ -3,9 +3,11 @@ export default {
views: {
editview: {
caption: "流程步骤信息",
title: '流程步骤信息',
},
datagridview9: {
caption: "流程步骤信息",
title: '流程步骤信息',
},
},
main_form: {
......
......@@ -2,9 +2,11 @@ export default {
views: {
editview: {
caption: '流程步骤信息',
title: '流程步骤信息',
},
datagridview9: {
caption: '流程步骤信息',
title: '流程步骤信息',
},
},
main_form: {
......
......@@ -207,7 +207,7 @@ mock.onGet(new RegExp(/^\/bcs\/fetchdefault$/)).reply((config: any) => {
});
// FetchDefault
mock.onGet(new RegExp(/^\/bcs\/fetchdefault(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/bcs\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:bc 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......
......@@ -207,7 +207,7 @@ mock.onGet(new RegExp(/^\/fjs\/fetchcurfj$/)).reply((config: any) => {
});
// FetchCurFJ
mock.onGet(new RegExp(/^\/fjs\/fetchcurfj(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/fjs\/fetchcurfj(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:fj 方法: FetchCurFJ");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......@@ -251,7 +251,7 @@ mock.onGet(new RegExp(/^\/fjs\/fetchdefault$/)).reply((config: any) => {
});
// FetchDefault
mock.onGet(new RegExp(/^\/fjs\/fetchdefault(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/fjs\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:fj 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......
......@@ -283,7 +283,7 @@ mock.onGet(new RegExp(/^\/ims\/fetchdefault$/)).reply((config: any) => {
});
// FetchDefault
mock.onGet(new RegExp(/^\/ims\/fetchdefault(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/ims\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:im 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......
......@@ -179,7 +179,7 @@ mock.onGet(new RegExp(/^\/orgdeptusers\/fetchgetorgdeptuser$/)).reply((config: a
});
// FetchGetorgdeptuser
mock.onGet(new RegExp(/^\/orgdeptusers\/fetchgetorgdeptuser(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/orgdeptusers\/fetchgetorgdeptuser(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:orgdeptuser 方法: FetchGetorgdeptuser");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......@@ -223,7 +223,7 @@ mock.onGet(new RegExp(/^\/orgdeptusers\/fetchdefault$/)).reply((config: any) =>
});
// FetchDefault
mock.onGet(new RegExp(/^\/orgdeptusers\/fetchdefault(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/orgdeptusers\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:orgdeptuser 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......
......@@ -217,7 +217,7 @@ mock.onGet(new RegExp(/^\/orgdepts\/fetchdefault$/)).reply((config: any) => {
});
// FetchDefault
mock.onGet(new RegExp(/^\/orgdepts\/fetchdefault(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/orgdepts\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:orgdept 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......@@ -261,7 +261,7 @@ mock.onGet(new RegExp(/^\/orgdepts\/fetchcur_org$/)).reply((config: any) => {
});
// FetchCUR_ORG
mock.onGet(new RegExp(/^\/orgdepts\/fetchcur_org(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/orgdepts\/fetchcur_org(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:orgdept 方法: FetchCUR_ORG");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......
......@@ -179,7 +179,7 @@ mock.onGet(new RegExp(/^\/orgusers\/fetchdefault$/)).reply((config: any) => {
});
// FetchDefault
mock.onGet(new RegExp(/^\/orgusers\/fetchdefault(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/orgusers\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:orguser 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......
......@@ -217,7 +217,7 @@ mock.onGet(new RegExp(/^\/orgs\/fetchdefault$/)).reply((config: any) => {
});
// FetchDefault
mock.onGet(new RegExp(/^\/orgs\/fetchdefault(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/orgs\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:org 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......
......@@ -207,7 +207,7 @@ mock.onGet(new RegExp(/^\/ps\/fetchdefault$/)).reply((config: any) => {
});
// FetchDefault
mock.onGet(new RegExp(/^\/ps\/fetchdefault(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/ps\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:ps 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......
......@@ -207,7 +207,7 @@ mock.onGet(new RegExp(/^\/wfstepdata\/fetchbybswfdata$/)).reply((config: any) =>
});
// FetchByBswfdata
mock.onGet(new RegExp(/^\/wfstepdata\/fetchbybswfdata(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/wfstepdata\/fetchbybswfdata(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:wfstepdata 方法: FetchByBswfdata");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......@@ -251,7 +251,7 @@ mock.onGet(new RegExp(/^\/wfstepdata\/fetchbybsdata$/)).reply((config: any) => {
});
// FetchByBsdata
mock.onGet(new RegExp(/^\/wfstepdata\/fetchbybsdata(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/wfstepdata\/fetchbybsdata(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:wfstepdata 方法: FetchByBsdata");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......@@ -295,7 +295,7 @@ mock.onGet(new RegExp(/^\/wfstepdata\/fetchdefault$/)).reply((config: any) => {
});
// FetchDefault
mock.onGet(new RegExp(/^\/wfstepdata\/fetchdefault(\?[\w-./?%&=]*)*$/)).reply((config: any) => {
mock.onGet(new RegExp(/^\/wfstepdata\/fetchdefault(\?[\w-./?%&=,]*)*$/)).reply((config: any) => {
console.groupCollapsed("实体:wfstepdata 方法: FetchDefault");
console.table({url:config.url, method: config.method, data:config.data});
if(config.url.includes('page')){
......
import Mock from 'mockjs'
import { MockAdapter } from '@/mock/mock-adapter';
const mock = MockAdapter.getInstance();
const Random = Mock.Random;
// 上传
// ajax上传
Mock.mock(RegExp(new RegExp(/^\.\.\/ibizutil\/upload.*$/)),"post",(ops:any) => { // 拦截ajax请求,调用函数
console.log(ops) // 先看一下这个ops是什么
console.log(ops.body)
......@@ -10,3 +12,11 @@ Mock.mock(RegExp(new RegExp(/^\.\.\/ibizutil\/upload.*$/)),"post",(ops:any) => {
"fileid": Random.string("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",32)
};
});
// axios上传
mock.onPost(new RegExp(/^\.\.\/ibizutil\/upload.*$/)).reply((config: any) => {
return [200, {
"filename": "xxx.png",
"fileid": Random.string("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789",32)
}];
});
\ No newline at end of file
import { ChartSeries } from './chart-series';
/**
* 柱状图序列模型
*
* @export
* @class ChartBarSeries
*/
export class ChartBarSeries extends ChartSeries{
/**
* 分类属性
*
* @type {string}
* @memberof ChartBarSeries
*/
public categorField: string = '';
/**
* 值属性
*
* @type {string}
* @memberof ChartBarSeries
*/
public valueField: string = '';
/**
* 分类代码表
*
* @type {string}
* @memberof ChartBarSeries
*/
public categorCodeList: any = null;
/**
* 维度定义
*
* @type {string}
* @memberof ChartBarSeries
*/
public dimensions:Array<string> = [];
/**
* 维度编码
*
* @type {*}
* @memberof ChartBarSeries
*/
public encode:any = null;
/**
* 序列模板
*
* @type {*}
* @memberof ChartBarSeries
*/
public seriesTemp:any = null;
/**
* Creates an instance of ChartBarSeries.
* ChartBarSeries 实例
*
* @param {*} [opts={}]
* @memberof ChartBarSeries
*/
constructor(opts: any = {}) {
super(opts);
this.categorField = !Object.is(opts.categorField, '') ? opts.categorField : '';
this.categorCodeList = opts.categorCodeList ? opts.categorCodeList : null;
this.valueField = !Object.is(opts.valueField, '') ? opts.valueField : '';
this.dimensions = opts.dimensions ? opts.dimensions :'';
this.encode = opts.encode ? opts.encode : null;
this.seriesTemp = opts.seriesTemp ? opts.seriesTemp:null;
}
/**
* 设置分类属性
*
* @param {string} state
* @memberof ChartBarSeries
*/
public setCategorField(state: string): void {
this.categorField = state;
}
/**
* 设置序列名称
*
* @param {string} state
* @memberof ChartBarSeries
*/
public setValueField(state: string): void {
this.valueField = state;
}
/**
* 分类代码表
*
* @param {*} state
* @memberof ChartBarSeries
*/
public setCategorCodeList(state: any): void {
this.categorCodeList = state;
}
/**
* 维度定义
*
* @param {*} state
* @memberof ChartBarSeries
*/
public setDimensions(state: any): void {
this.dimensions = state;
}
/**
* 设置编码
*
* @param {*} state
* @memberof ChartBarSeries
*/
public setEncode(state: any): void {
this.encode = state;
}
/**
* 设置序列模板
*
* @param {*} state
* @memberof ChartBarSeries
*/
public setSeriesTemp(state: any): void {
this.seriesTemp = state;
}
}
\ No newline at end of file
/**
* 图表数据集属性模型
*
* @export
* @class ChartDataSetField
*/
export class ChartDataSetField {
/**
* 图表属性名称
*
* @type {string}
* @memberof ChartDataSetField
*/
public name: string = '';
/**
* 图表属性代码表
*
* @type {*}
* @memberof ChartDataSetField
*/
public codelist: any = null;
/**
* 是否分组属性
*
* @type {boolean}
* @memberof ChartDataSetField
*/
public isGroupField: boolean = false;
/**
* 分组模式
*
* @type {string}
* @memberof ChartDataSetField
*/
public groupMode:string ="";
/**
* Creates an instance of ChartDataSetField.
* ChartDataSetField 实例
*
* @param {*} [opts={}]
* @memberof ChartDataSetField
*/
constructor(opts: any = {}) {
this.name = !Object.is(opts.name, '') ? opts.name : '';
this.codelist = opts.codelist?opts.codelist:null;
this.isGroupField = opts.isGroupField?opts.isGroupField:false;
this.groupMode = !Object.is(opts.groupMode, '') ? opts.groupMode : '';
}
/**
* 设置图表属性名称
*
* @param {string} state
* @memberof ChartDataSetField
*/
public setName(state: string): void {
this.name = state;
}
/**
* 设置图表属性代码表
*
* @param {*} state
* @memberof ChartDataSetField
*/
public setCodeList(state: any): void {
this.codelist = state;
}
/**
* 设置分组属性
*
* @param {boolean} state
* @memberof ChartDataSetField
*/
public setisGroupField(state: boolean): void {
this.isGroupField = state;
}
/**
* 设置属性分组模式
*
* @param {string} state
* @memberof ChartDataSetField
*/
public setGroupMode(state: string): void {
this.groupMode = state;
}
}
\ No newline at end of file
......@@ -48,6 +48,14 @@ export class ChartLineSeries extends ChartSeries{
*/
public encode:any = null;
/**
* 序列模板
*
* @type {*}
* @memberof ChartLineSeries
*/
public seriesTemp:any = null;
/**
* Creates an instance of ChartLineSeries.
......@@ -63,6 +71,7 @@ export class ChartLineSeries extends ChartSeries{
this.valueField = !Object.is(opts.valueField, '') ? opts.valueField : '';
this.dimensions = opts.dimensions ? opts.dimensions :'';
this.encode = opts.encode ? opts.encode : null;
this.seriesTemp = opts.seriesTemp ? opts.seriesTemp:null;
}
/**
......@@ -115,4 +124,14 @@ export class ChartLineSeries extends ChartSeries{
this.encode = state;
}
/**
* 设置序列模板
*
* @param {*} state
* @memberof ChartLineSeries
*/
public setSeriesTemp(state: any): void {
this.seriesTemp = state;
}
}
\ No newline at end of file
import { ChartSeries } from './chart-series';
/**
* 饼图序列模型
*
* @export
* @class ChartPieSeries
*/
export class ChartPieSeries extends ChartSeries{
/**
* 分类属性
*
* @type {string}
* @memberof ChartPieSeries
*/
public categorField: string = '';
/**
* 值属性
*
* @type {string}
* @memberof ChartPieSeries
*/
public valueField: string = '';
/**
* 分类代码表
*
* @type {string}
* @memberof ChartPieSeries
*/
public categorCodeList: any = null;
/**
* 维度定义
*
* @type {string}
* @memberof ChartPieSeries
*/
public dimensions:Array<string> = [];
/**
* 维度编码
*
* @type {*}
* @memberof ChartPieSeries
*/
public encode:any = null;
/**
* Creates an instance of ChartPieSeries.
* ChartPieSeries 实例
*
* @param {*} [opts={}]
* @memberof ChartPieSeries
*/
constructor(opts: any = {}) {
super(opts);
this.categorField = !Object.is(opts.categorField, '') ? opts.categorField : '';
this.categorCodeList = opts.categorCodeList ? opts.categorCodeList : null;
this.valueField = !Object.is(opts.valueField, '') ? opts.valueField : '';
this.dimensions = opts.dimensions ? opts.dimensions :'';
this.encode = opts.encode ? opts.encode : null;
}
/**
* 设置分类属性
*
* @param {string} state
* @memberof ChartPieSeries
*/
public setCategorField(state: string): void {
this.categorField = state;
}
/**
* 设置序列名称
*
* @param {string} state
* @memberof ChartPieSeries
*/
public setValueField(state: string): void {
this.valueField = state;
}
/**
* 分类代码表
*
* @param {*} state
* @memberof ChartPieSeries
*/
public setCategorCodeList(state: any): void {
this.categorCodeList = state;
}
/**
* 维度定义
*
* @param {*} state
* @memberof ChartPieSeries
*/
public setDimensions(state: any): void {
this.dimensions = state;
}
/**
* 设置编码
*
* @param {*} state
* @memberof ChartPieSeries
*/
public setEncode(state: any): void {
this.encode = state;
}
}
\ No newline at end of file
import { ChartDataSetField } from './chart-dataset-field';
/**
* 图表序列模型
*
......@@ -38,13 +40,29 @@ export class ChartSeries {
*/
public caption: string = '';
/**
* 序列标识属性
*
* @type {string}
* @memberof ChartSeries
*/
public seriesIdField: string = '';
/**
* 序列名称属性
*
* @type {string}
* @memberof ChartSeries
*/
public seriesField: string = '';
public seriesNameField: string = '';
/**
* 序列标识名称键值对
*
* @type {any}
* @memberof ChartSeries
*/
public seriesMap:any = null;
/**
* 对象索引
......@@ -78,6 +96,22 @@ export class ChartSeries {
*/
public ecObject:any;
/**
* 序列索引
*
* @type {number}
* @memberof ChartSeries
*/
public seriesIndex:number = 0;
/**
* 数据集属性集合
*
* @type {Array<ChartDataSetField>}
* @memberof ChartSeries
*/
public dataSetFields:Array<ChartDataSetField> = [];
/**
* 取值方式
* 'column':默认,dataset 的列对应于系列,从而 dataset 中每一列是一个维度(dimension)
......@@ -99,13 +133,17 @@ export class ChartSeries {
this.type = !Object.is(opts.type, '') ? opts.type : '';
this.name = !Object.is(opts.name, '') ? opts.name : '';
this.caption = !Object.is(opts.caption, '') ? opts.caption : '';
this.seriesField = !Object.is(opts.seriesField, '') ? opts.seriesField : '';
this.seriesIdField = !Object.is(opts.seriesIdField, '') ? opts.seriesIdField : '';
this.seriesNameField = !Object.is(opts.seriesNameField, '') ? opts.seriesNameField : '';
this.index = this.index ? this.index : 0;
this.chart = opts.chart ? opts.chart : null;
this.dataSet = opts.dataSet ? opts.dataSet : [];
this.ecxObject = opts.ecxObject ? opts.ecxObject : null;
this.ecObject = opts.ecObject ? opts.ecObject : null;
this.seriesLayoutBy = opts.seriesLayoutBy ? opts.seriesLayoutBy:"column";
this.dataSetFields = opts.dataSetFields ? opts.dataSetFields:[];
this.seriesMap = opts.seriesMap ? opts.seriesMap:null;
this.seriesIndex = opts.seriesIndex? opts.seriesIndex:0;
}
/**
......@@ -148,6 +186,16 @@ export class ChartSeries {
this.dataSet = state;
}
/**
* 设置序列标识名称键值对
*
* @param {*} state
* @memberof ChartSeries
*/
public setSeriesMap(state: any): void {
this.seriesMap = state;
}
/**
* 设置序列映射的图表
*
......@@ -158,14 +206,24 @@ export class ChartSeries {
this.chart = state;
}
/**
* 设置序列标识属性
*
* @param {*} state
* @memberof ChartSeries
*/
public setSeriesIdField(state: any): void {
this.seriesIdField = state;
}
/**
* 设置序列名称属性
*
* @param {*} state
* @memberof ChartSeries
*/
public setSeriesField(state: any): void {
this.seriesField = state;
public setSeriesNameField(state: any): void {
this.seriesNameField = state;
}
/**
......@@ -177,4 +235,54 @@ export class ChartSeries {
public setIndex(state: number): void {
this.index = state;
}
/**
* 设置预置配置
*
* @param {*} state
* @memberof ChartSeries
*/
public setECXObject(state: any): void {
this.ecxObject = state;
}
/**
* 设置用户自定义参数
*
* @param {*} state
* @memberof ChartSeries
*/
public setECObject(state: any): void {
this.ecObject = state;
}
/**
* 设置取值方式
*
* @param {string} state
* @memberof ChartSeries
*/
public setSeriesLayoutBy(state: string): void {
this.seriesLayoutBy = state;
}
/**
* 设置数据集属性集合
*
* @param {Array<ChartDataSetField>} state
* @memberof ChartSeries
*/
public setDataSetFields(state: Array<ChartDataSetField>): void {
this.dataSetFields = state;
}
/**
* 设置序列索引
*
* @param {number} state
* @memberof ChartSeries
*/
public setSeriesIndex(state: number): void {
this.seriesIndex = state;
}
}
\ No newline at end of file
export { ChartDataSetField } from './chart-dataset-field';
export { ChartLineSeries } from './chart-line-series';
export { ChartFunnelSeries } from './chart-funnel-series';
export { ChartPieSeries } from './chart-pie-series';
export { ChartBarSeries } from './chart-bar-series';
\ No newline at end of file
<template>
<div class="view-container bcedit-view">
<app-studioaction viewTitle="业务协作编辑视图" viewName="bceditview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="bceditview"></app-studioaction>
<card class='view-card view-no-caption ' :disHover="true" :bordered="false">
<p slot='title'>
......@@ -134,6 +134,24 @@ export default class BCEditViewBase extends Vue {
*/
protected viewtag: string = 'f429ced3946be22590dd769b31c00a47';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof BCEditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof BCEditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -141,9 +159,9 @@ export default class BCEditViewBase extends Vue {
* @memberof BCEditViewBase
*/
protected model: any = {
srfTitle: '业务协作编辑视图',
srfCaption: 'bc.views.editview.caption',
srfSubCaption: '',
srfTitle: 'bc.views.editview.title',
srfSubTitle: 'bc.views.editview.subtitle',
dataInfo: ''
}
......@@ -290,6 +308,7 @@ export default class BCEditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -309,8 +328,77 @@ export default class BCEditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof BCEditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof BCEditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class='view-container bcgrid-view9'>
<app-studioaction viewTitle="业务协作表格视图" viewName="bcgridview9"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="bcgridview9"></app-studioaction>
<card class='view-card view-no-caption' :dis-hover="true" :bordered="false">
<div class='content-container'>
<div class='view-top-messages'>
......@@ -115,6 +115,24 @@ export default class BCGridView9Base extends Vue {
*/
protected viewtag: string = 'feab63fc88433b0979149bde025d7b0f';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof BCGridView9Base
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof BCGridView9Base
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -122,9 +140,9 @@ export default class BCGridView9Base extends Vue {
* @memberof BCGridView9Base
*/
protected model: any = {
srfTitle: '业务协作表格视图',
srfCaption: 'bc.views.gridview9.caption',
srfSubCaption: '',
srfTitle: 'bc.views.gridview9.title',
srfSubTitle: 'bc.views.gridview9.subtitle',
dataInfo: ''
}
......@@ -260,6 +278,7 @@ export default class BCGridView9Base extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -279,8 +298,77 @@ export default class BCGridView9Base extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof BCGridView9Base
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof BCGridView9Base
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......@@ -408,7 +496,6 @@ export default class BCGridView9Base extends Vue {
/**
* 打开新建数据视图
*
......
<template>
<div class="view-container bcms-10-edit-view3">
<app-studioaction viewTitle="业务协作编辑视图(拟稿)" viewName="bcms_10editview3"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="bcms_10editview3"></app-studioaction>
<card class='view-card' :dis-hover="true" :bordered="false">
<p slot='title'>
</p>
<p slot="extra" v-show="Object.is(this.selection.id, 'form')">
<row style='margin-bottom: 6px;'>
<div class='pull-right'>
......@@ -131,6 +132,24 @@ export default class BCMS_10EditView3Base extends Vue {
*/
protected viewtag: string = '77c2655022f7d2e4861a2014bc66533f';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof BCMS_10EditView3Base
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof BCMS_10EditView3Base
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -138,9 +157,9 @@ export default class BCMS_10EditView3Base extends Vue {
* @memberof BCMS_10EditView3Base
*/
protected model: any = {
srfTitle: '业务协作编辑视图(拟稿)',
srfCaption: 'bc.views.ms_10editview3.caption',
srfSubCaption: '',
srfTitle: 'bc.views.ms_10editview3.title',
srfSubTitle: 'bc.views.ms_10editview3.subtitle',
dataInfo: ''
}
......@@ -283,6 +302,7 @@ export default class BCMS_10EditView3Base extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -302,8 +322,77 @@ export default class BCMS_10EditView3Base extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof BCMS_10EditView3Base
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof BCMS_10EditView3Base
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container bcms-20-edit-view3">
<app-studioaction viewTitle="业务协作编辑视图(审批中)" viewName="bcms_20editview3"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="bcms_20editview3"></app-studioaction>
<card class='view-card' :dis-hover="true" :bordered="false">
<p slot='title'>
</p>
<p slot="extra" v-show="Object.is(this.selection.id, 'form')">
<row style='margin-bottom: 6px;'>
<div class='pull-right'>
......@@ -131,6 +132,24 @@ export default class BCMS_20EditView3Base extends Vue {
*/
protected viewtag: string = '41e951780a5a6835c7693151faa5eae5';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof BCMS_20EditView3Base
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof BCMS_20EditView3Base
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -138,9 +157,9 @@ export default class BCMS_20EditView3Base extends Vue {
* @memberof BCMS_20EditView3Base
*/
protected model: any = {
srfTitle: '业务协作编辑视图(审批中)',
srfCaption: 'bc.views.ms_20editview3.caption',
srfSubCaption: '',
srfTitle: 'bc.views.ms_20editview3.title',
srfSubTitle: 'bc.views.ms_20editview3.subtitle',
dataInfo: ''
}
......@@ -283,6 +302,7 @@ export default class BCMS_20EditView3Base extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -302,8 +322,77 @@ export default class BCMS_20EditView3Base extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof BCMS_20EditView3Base
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof BCMS_20EditView3Base
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container bcms-30-edit-view3">
<app-studioaction viewTitle="业务协作编辑视图(已完成)" viewName="bcms_30editview3"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="bcms_30editview3"></app-studioaction>
<card class='view-card' :dis-hover="true" :bordered="false">
<p slot='title'>
</p>
<p slot="extra" v-show="Object.is(this.selection.id, 'form')">
<row style='margin-bottom: 6px;'>
<div class='pull-right'>
......@@ -131,6 +132,24 @@ export default class BCMS_30EditView3Base extends Vue {
*/
protected viewtag: string = 'fdb3379c6a8e4d6c612136ba8c865ea0';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof BCMS_30EditView3Base
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof BCMS_30EditView3Base
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -138,9 +157,9 @@ export default class BCMS_30EditView3Base extends Vue {
* @memberof BCMS_30EditView3Base
*/
protected model: any = {
srfTitle: '业务协作编辑视图(已完成)',
srfCaption: 'bc.views.ms_30editview3.caption',
srfSubCaption: '',
srfTitle: 'bc.views.ms_30editview3.title',
srfSubTitle: 'bc.views.ms_30editview3.subtitle',
dataInfo: ''
}
......@@ -283,6 +302,7 @@ export default class BCMS_30EditView3Base extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -302,8 +322,77 @@ export default class BCMS_30EditView3Base extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof BCMS_30EditView3Base
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof BCMS_30EditView3Base
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container bcms-40-edit-view3">
<app-studioaction viewTitle="业务协作编辑视图(已取消)" viewName="bcms_40editview3"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="bcms_40editview3"></app-studioaction>
<card class='view-card' :dis-hover="true" :bordered="false">
<p slot='title'>
</p>
<p slot="extra" v-show="Object.is(this.selection.id, 'form')">
<row style='margin-bottom: 6px;'>
<div class='pull-right'>
......@@ -131,6 +132,24 @@ export default class BCMS_40EditView3Base extends Vue {
*/
protected viewtag: string = 'c7f5be84e55a94937dbbcc02329cd96f';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof BCMS_40EditView3Base
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof BCMS_40EditView3Base
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -138,9 +157,9 @@ export default class BCMS_40EditView3Base extends Vue {
* @memberof BCMS_40EditView3Base
*/
protected model: any = {
srfTitle: '业务协作编辑视图(已取消)',
srfCaption: 'bc.views.ms_40editview3.caption',
srfSubCaption: '',
srfTitle: 'bc.views.ms_40editview3.title',
srfSubTitle: 'bc.views.ms_40editview3.subtitle',
dataInfo: ''
}
......@@ -283,6 +302,7 @@ export default class BCMS_40EditView3Base extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -302,8 +322,77 @@ export default class BCMS_40EditView3Base extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof BCMS_40EditView3Base
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof BCMS_40EditView3Base
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container fjedit-view">
<app-studioaction viewTitle="附件编辑视图" viewName="fjeditview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="fjeditview"></app-studioaction>
<card class='view-card ' :disHover="true" :bordered="false">
<p slot='title'>
<span class='caption-info'>{{$t(model.srfCaption)}}</span>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
<div slot="extra">
......@@ -128,6 +128,24 @@ export default class FJEditViewBase extends Vue {
*/
protected viewtag: string = 'eee05806e7847093bb65b0d7f08601e7';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof FJEditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof FJEditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -135,9 +153,9 @@ export default class FJEditViewBase extends Vue {
* @memberof FJEditViewBase
*/
protected model: any = {
srfTitle: '附件编辑视图',
srfCaption: 'fj.views.editview.caption',
srfSubCaption: '',
srfTitle: 'fj.views.editview.title',
srfSubTitle: 'fj.views.editview.subtitle',
dataInfo: ''
}
......@@ -280,6 +298,7 @@ export default class FJEditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -299,8 +318,77 @@ export default class FJEditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof FJEditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof FJEditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class='view-container fjgrid-view9'>
<app-studioaction viewTitle="附件表格视图" viewName="fjgridview9"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="fjgridview9"></app-studioaction>
<card class='view-card' :dis-hover="true" :bordered="false">
<p slot='title'>
<span class='caption-info'>{{$t(model.srfCaption)}}</span>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
<div class='content-container'>
<div class='view-top-messages'>
......@@ -145,6 +145,24 @@ export default class FJGridView9Base extends Vue {
*/
protected viewtag: string = 'ad299142501a32d88013bf9b7551187c';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof FJGridView9Base
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof FJGridView9Base
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -152,9 +170,9 @@ export default class FJGridView9Base extends Vue {
* @memberof FJGridView9Base
*/
protected model: any = {
srfTitle: '附件表格视图',
srfCaption: 'fj.views.gridview9.caption',
srfSubCaption: '',
srfTitle: 'fj.views.gridview9.title',
srfSubTitle: 'fj.views.gridview9.subtitle',
dataInfo: ''
}
......@@ -306,6 +324,7 @@ export default class FJGridView9Base extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -325,8 +344,77 @@ export default class FJGridView9Base extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof FJGridView9Base
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof FJGridView9Base
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......@@ -552,7 +640,6 @@ export default class FJGridView9Base extends Vue {
this.Refresh(datas, contextJO,paramJO, $event, xData,this,"FJ");
}
/**
* 打开新建数据视图
*
......
<template>
<div class="view-container imedit-view">
<app-studioaction viewTitle="重要事项编辑视图" viewName="imeditview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imeditview"></app-studioaction>
<card class='view-card view-no-caption ' :disHover="true" :bordered="false">
<p slot='title'>
......@@ -135,6 +135,24 @@ export default class IMEditViewBase extends Vue {
*/
protected viewtag: string = '5d7a639edfd5985268c84d54f68ab923';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMEditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMEditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -142,9 +160,9 @@ export default class IMEditViewBase extends Vue {
* @memberof IMEditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图',
srfCaption: 'im.views.editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.editview.title',
srfSubTitle: 'im.views.editview.subtitle',
dataInfo: ''
}
......@@ -291,6 +309,7 @@ export default class IMEditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -310,8 +329,77 @@ export default class IMEditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMEditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMEditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class='view-container imgrid-view'>
<app-studioaction viewTitle="重要事项表格视图" viewName="imgridview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imgridview"></app-studioaction>
<card class='view-card' :dis-hover="true" :bordered="false">
<p slot='title'>
<span class='caption-info'>{{$t(model.srfCaption)}}</span>
<span class='caption-info'>{{$t(model.srfTitle)}}</span>
</p>
<div class='content-container'>
<div class='view-top-messages'>
......@@ -34,7 +34,7 @@
<div slot='content'>{{$t('im.gridviewtoolbar_toolbar.tbitem8.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
<app-export-excel :item="toolBarModels.tbitem13" @exportexcel="toolbar_click({ tag: 'tbitem13' }, $event)"></app-export-excel>
<app-export-excel :item="toolBarModels.tbitem13" :caption="$t('im.gridviewtoolbar_toolbar.tbitem13.caption')" @exportexcel="toolbar_click({ tag: 'tbitem13' }, $event)"></app-export-excel>
<div slot='content'>{{$t('im.gridviewtoolbar_toolbar.tbitem13.tip')}}</div>
</tooltip>
<span class='seperator'>|</span> <tooltip :transfer="true" :max-width="600">
......@@ -180,6 +180,24 @@ export default class IMGridViewBase extends Vue {
*/
protected viewtag: string = '66e7c3bac4ef4acabffcb9f916eb2710';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMGridViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMGridViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -187,9 +205,9 @@ export default class IMGridViewBase extends Vue {
* @memberof IMGridViewBase
*/
protected model: any = {
srfTitle: '重要事项表格视图',
srfCaption: 'im.views.gridview.caption',
srfSubCaption: '',
srfTitle: 'im.views.gridview.title',
srfSubTitle: 'im.views.gridview.subtitle',
dataInfo: ''
}
......@@ -354,6 +372,7 @@ export default class IMGridViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -373,8 +392,77 @@ export default class IMGridViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMGridViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMGridViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......@@ -811,7 +899,6 @@ export default class IMGridViewBase extends Vue {
this.ToggleFilter(datas, contextJO,paramJO, $event, xData,this,"IM");
}
/**
* 打开新建数据视图
*
......
<template>
<div class="view-container imms-10-edit-view">
<app-studioaction viewTitle="重要事项编辑视图(拟稿)" viewName="imms_10editview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imms_10editview"></app-studioaction>
<card class='view-card view-no-caption ' :disHover="true" :bordered="false">
<p slot='title'>
......@@ -135,6 +135,24 @@ export default class IMMS_10EditViewBase extends Vue {
*/
protected viewtag: string = '07cb2f4c4b05ff1a31b97d2e13ea4f2d';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMMS_10EditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMMS_10EditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -142,9 +160,9 @@ export default class IMMS_10EditViewBase extends Vue {
* @memberof IMMS_10EditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图(拟稿)',
srfCaption: 'im.views.ms_10editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.ms_10editview.title',
srfSubTitle: 'im.views.ms_10editview.subtitle',
dataInfo: ''
}
......@@ -291,6 +309,7 @@ export default class IMMS_10EditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -310,8 +329,77 @@ export default class IMMS_10EditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMMS_10EditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMMS_10EditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container imms-20-10-edit-view">
<app-studioaction viewTitle="重要事项编辑视图(审核中_部门内审批)" viewName="imms_20_10editview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imms_20_10editview"></app-studioaction>
<card class='view-card view-no-caption view-no-toolbar' :disHover="true" :bordered="false">
......@@ -113,6 +113,24 @@ export default class IMMS_20_10EditViewBase extends Vue {
*/
protected viewtag: string = 'dbedebc1134b9d3bf831376e1b6e209a';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMMS_20_10EditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMMS_20_10EditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -120,9 +138,9 @@ export default class IMMS_20_10EditViewBase extends Vue {
* @memberof IMMS_20_10EditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图(审核中_部门内审批)',
srfCaption: 'im.views.ms_20_10editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.ms_20_10editview.title',
srfSubTitle: 'im.views.ms_20_10editview.subtitle',
dataInfo: ''
}
......@@ -253,6 +271,7 @@ export default class IMMS_20_10EditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -272,8 +291,77 @@ export default class IMMS_20_10EditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMMS_20_10EditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMMS_20_10EditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container imms-20-20-edit-view">
<app-studioaction viewTitle="重要事项编辑视图(审批中_上级部门审批)" viewName="imms_20_20editview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imms_20_20editview"></app-studioaction>
<card class='view-card view-no-caption view-no-toolbar' :disHover="true" :bordered="false">
......@@ -113,6 +113,24 @@ export default class IMMS_20_20EditViewBase extends Vue {
*/
protected viewtag: string = 'c8f8dcebfaf706c250c15db2af84f826';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMMS_20_20EditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMMS_20_20EditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -120,9 +138,9 @@ export default class IMMS_20_20EditViewBase extends Vue {
* @memberof IMMS_20_20EditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图(审批中_上级部门审批)',
srfCaption: 'im.views.ms_20_20editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.ms_20_20editview.title',
srfSubTitle: 'im.views.ms_20_20editview.subtitle',
dataInfo: ''
}
......@@ -253,6 +271,7 @@ export default class IMMS_20_20EditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -272,8 +291,77 @@ export default class IMMS_20_20EditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMMS_20_20EditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMMS_20_20EditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container imms-20-30-edit-view">
<app-studioaction viewTitle="重要事项编辑视图(审批中_分送)" viewName="imms_20_30editview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imms_20_30editview"></app-studioaction>
<card class='view-card view-no-caption ' :disHover="true" :bordered="false">
<p slot='title'>
......@@ -134,6 +134,24 @@ export default class IMMS_20_30EditViewBase extends Vue {
*/
protected viewtag: string = 'd319a68735ca99972383870b5bf1f860';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMMS_20_30EditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMMS_20_30EditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -141,9 +159,9 @@ export default class IMMS_20_30EditViewBase extends Vue {
* @memberof IMMS_20_30EditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图(审批中_分送)',
srfCaption: 'im.views.ms_20_30editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.ms_20_30editview.title',
srfSubTitle: 'im.views.ms_20_30editview.subtitle',
dataInfo: ''
}
......@@ -290,6 +308,7 @@ export default class IMMS_20_30EditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -309,8 +328,77 @@ export default class IMMS_20_30EditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMMS_20_30EditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMMS_20_30EditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container imms-20-40-edit-view">
<app-studioaction viewTitle="重要事项编辑视图(审批中_部门会签)" viewName="imms_20_40editview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imms_20_40editview"></app-studioaction>
<card class='view-card view-no-caption view-no-toolbar' :disHover="true" :bordered="false">
......@@ -113,6 +113,24 @@ export default class IMMS_20_40EditViewBase extends Vue {
*/
protected viewtag: string = '63ec73e6599bdcbf1361e28ff3cece94';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMMS_20_40EditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMMS_20_40EditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -120,9 +138,9 @@ export default class IMMS_20_40EditViewBase extends Vue {
* @memberof IMMS_20_40EditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图(审批中_部门会签)',
srfCaption: 'im.views.ms_20_40editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.ms_20_40editview.title',
srfSubTitle: 'im.views.ms_20_40editview.subtitle',
dataInfo: ''
}
......@@ -253,6 +271,7 @@ export default class IMMS_20_40EditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -272,8 +291,77 @@ export default class IMMS_20_40EditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMMS_20_40EditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMMS_20_40EditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container imms-20-50-edit-view">
<app-studioaction viewTitle="重要事项编辑视图(审批中_跨公司会签)" viewName="imms_20_50editview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imms_20_50editview"></app-studioaction>
<card class='view-card view-no-caption view-no-toolbar' :disHover="true" :bordered="false">
......@@ -113,6 +113,24 @@ export default class IMMS_20_50EditViewBase extends Vue {
*/
protected viewtag: string = 'a6052cd14d64698a06fa01a6418d0d71';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMMS_20_50EditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMMS_20_50EditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -120,9 +138,9 @@ export default class IMMS_20_50EditViewBase extends Vue {
* @memberof IMMS_20_50EditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图(审批中_跨公司会签)',
srfCaption: 'im.views.ms_20_50editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.ms_20_50editview.title',
srfSubTitle: 'im.views.ms_20_50editview.subtitle',
dataInfo: ''
}
......@@ -253,6 +271,7 @@ export default class IMMS_20_50EditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -272,8 +291,77 @@ export default class IMMS_20_50EditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMMS_20_50EditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMMS_20_50EditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container imms-20-60-edit-view">
<app-studioaction viewTitle="重要事项编辑视图(审批中_公司领导审批)" viewName="imms_20_60editview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imms_20_60editview"></app-studioaction>
<card class='view-card view-no-caption view-no-toolbar' :disHover="true" :bordered="false">
......@@ -113,6 +113,24 @@ export default class IMMS_20_60EditViewBase extends Vue {
*/
protected viewtag: string = 'b988aed45d0338732fdcf29d49ea2878';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMMS_20_60EditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMMS_20_60EditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -120,9 +138,9 @@ export default class IMMS_20_60EditViewBase extends Vue {
* @memberof IMMS_20_60EditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图(审批中_公司领导审批)',
srfCaption: 'im.views.ms_20_60editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.ms_20_60editview.title',
srfSubTitle: 'im.views.ms_20_60editview.subtitle',
dataInfo: ''
}
......@@ -253,6 +271,7 @@ export default class IMMS_20_60EditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -272,8 +291,77 @@ export default class IMMS_20_60EditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMMS_20_60EditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMMS_20_60EditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container imms-20-70-edit-view">
<app-studioaction viewTitle="重要事项编辑视图(审批中_业务协作)" viewName="imms_20_70editview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imms_20_70editview"></app-studioaction>
<card class='view-card view-no-caption view-no-toolbar' :disHover="true" :bordered="false">
......@@ -113,6 +113,24 @@ export default class IMMS_20_70EditViewBase extends Vue {
*/
protected viewtag: string = 'f61ac5d88edad94de95647f2228768e7';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMMS_20_70EditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMMS_20_70EditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -120,9 +138,9 @@ export default class IMMS_20_70EditViewBase extends Vue {
* @memberof IMMS_20_70EditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图(审批中_业务协作)',
srfCaption: 'im.views.ms_20_70editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.ms_20_70editview.title',
srfSubTitle: 'im.views.ms_20_70editview.subtitle',
dataInfo: ''
}
......@@ -253,6 +271,7 @@ export default class IMMS_20_70EditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -272,8 +291,77 @@ export default class IMMS_20_70EditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMMS_20_70EditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMMS_20_70EditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
<template>
<div class="view-container imms-20-80-edit-view">
<app-studioaction viewTitle="重要事项编辑视图(审批中_首席风险官审批)" viewName="imms_20_80editview"></app-studioaction>
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="imms_20_80editview"></app-studioaction>
<card class='view-card view-no-caption view-no-toolbar' :disHover="true" :bordered="false">
......@@ -113,6 +113,24 @@ export default class IMMS_20_80EditViewBase extends Vue {
*/
protected viewtag: string = '837ce21d01f7523c7f8ae33a19cef4a8';
/**
* 自定义视图导航上下文集合
*
* @type {*}
* @memberof IMMS_20_80EditViewBase
*/
protected customViewNavContexts:any ={
};
/**
* 自定义视图导航参数集合
*
* @type {*}
* @memberof IMMS_20_80EditViewBase
*/
protected customViewParams:any ={
};
/**
* 视图模型数据
*
......@@ -120,9 +138,9 @@ export default class IMMS_20_80EditViewBase extends Vue {
* @memberof IMMS_20_80EditViewBase
*/
protected model: any = {
srfTitle: '重要事项编辑视图(审批中_首席风险官审批)',
srfCaption: 'im.views.ms_20_80editview.caption',
srfSubCaption: '',
srfTitle: 'im.views.ms_20_80editview.title',
srfSubTitle: 'im.views.ms_20_80editview.subtitle',
dataInfo: ''
}
......@@ -253,6 +271,7 @@ export default class IMMS_20_80EditViewBase extends Vue {
if(this.context && this.context.srfparentkey){
Object.assign(this.viewparams,{srfparentkey:this.context.srfparentkey});
}
this.handleCustomViewData();
return;
}
const path = (this.$route.matched[this.$route.matched.length - 1]).path;
......@@ -272,8 +291,77 @@ export default class IMMS_20_80EditViewBase extends Vue {
}
//初始化视图唯一标识
Object.assign(this.context,{srfsessionid:this.$util.createUUID()});
this.handleCustomViewData();
}
/**
* 处理自定义视图数据
*
* @memberof IMMS_20_80EditViewBase
*/
public handleCustomViewData(){
if(Object.keys(this.customViewNavContexts).length > 0){
Object.keys(this.customViewNavContexts).forEach((item:any) =>{
let tempContext:any = {};
let curNavContext:any = this.customViewNavContexts[item];
this.handleCustomDataLogic(curNavContext,tempContext,item);
Object.assign(this.context,tempContext);
})
}
if(Object.keys(this.customViewParams).length > 0){
Object.keys(this.customViewParams).forEach((item:any) =>{
let tempParam:any = {};
let curNavParam:any = this.customViewParams[item];
this.handleCustomDataLogic(curNavParam,tempParam,item);
Object.assign(this.viewparams,tempParam);
})
}
}
/**
* 处理自定义视图数据逻辑
*
* @memberof IMMS_20_80EditViewBase
*/
public handleCustomDataLogic(curNavData:any,tempData:any,item:string){
// 直接值直接赋值
if(curNavData.isRawValue){
Object.defineProperty(tempData, item, {
value: curNavData.value,
writable : true,
enumerable : true,
configurable : true
});
}else{
// 先从导航上下文取数,没有再从导航参数(URL)取数,如果导航上下文和导航参数都没有则为null
if(this.context[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.context[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
if(this.viewparams[curNavData.value]){
Object.defineProperty(tempData, item, {
value: this.viewparams[curNavData.value],
writable : true,
enumerable : true,
configurable : true
});
}else{
Object.defineProperty(tempData, item, {
value: null,
writable : true,
enumerable : true,
configurable : true
});
}
}
}
}
/**
* Vue声明周期
*
......
......@@ -8,7 +8,7 @@
>.translate-contant {
flex-grow: 1;
display: flex;
justify-content: end;
justify-content: flex-end;
height: calc(100% - 64px);
.translate-buttons {
width: 80px;
......
......@@ -8,7 +8,7 @@
>.pickupviewpanel {
flex-grow: 1;
display: flex;
justify-content: end;
justify-content: flex-end;
height: calc(100% - 64px);
}
>.footer {
......
......@@ -8,7 +8,7 @@
>.translate-contant {
flex-grow: 1;
display: flex;
justify-content: end;
justify-content: flex-end;
height: calc(100% - 64px);
.translate-buttons {
width: 80px;
......
......@@ -8,7 +8,7 @@
>.pickupviewpanel {
flex-grow: 1;
display: flex;
justify-content: end;
justify-content: flex-end;
height: calc(100% - 64px);
}
>.footer {
......
......@@ -15,6 +15,10 @@
display: flex;
align-items: center;
justify-content: space-between;
.page-logo{
display: flex;
align-items: center;
}
.header-left{
display: flex;
align-items: center;
......
......@@ -51,9 +51,25 @@ export default class CodeListService {
*/
public getItems(tag: string,context:any = {}, data?: any, isloading?: boolean,): Promise<any[]> {
let _this: any = this;
return new Promise((resolve:any,reject:any) =>{
if(this.$store && _this.$store.getters){
let items:any = _this.$store.getters.getCodeListItems(tag);
if(items.length >0){
return resolve(items);
}
}
if (_this[tag]) {
return _this[tag].getItems(context,data,isloading);
_this[tag].getItems(context,data,isloading).then((result:any) =>{
if(result.length > 0){
_this.$store.commit('updateCodeList',{srfkey:tag,items:result});
return resolve(result);
}else{
return resolve([]);
}
}).catch((result:any) =>{
return reject(result);
})
}
return Promise.reject([]);
})
}
}
\ No newline at end of file
......@@ -10,9 +10,6 @@
color: #fff;
}
.header-right {
.app-header-user {
background: #28547c;
}
> div:hover {
background: #3774aa;
}
......
......@@ -10,9 +10,6 @@
color: #fff;
}
.header-right {
.app-header-user {
background: #232c37;
}
> div:hover {
background: #3b4a5c;
}
......
......@@ -10,9 +10,6 @@
color: #535c70;
}
.header-right {
.app-header-user {
background: #d9d9d9;
}
> div:hover {
background: #d4d4d4;
}
......
......@@ -3,6 +3,10 @@
overflow-y: auto;
overflow-x: hidden;
height: calc(100% - 58px);
.ivu-divider{
background-color: #b3b3b3;
height: 2px;
}
> .el-menu {
border-right: 0;
.el-menu-item {
......
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册