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

ibiz4j 发布系统代码 [ibiz-notify,通知消息]

上级 e931b307
...@@ -25,6 +25,7 @@ import AppForm from './components/app-form/app-form.vue' ...@@ -25,6 +25,7 @@ import AppForm from './components/app-form/app-form.vue'
import APPAutocomplete from './components/app-autocomplete/app-autocomplete.vue' import APPAutocomplete from './components/app-autocomplete/app-autocomplete.vue'
import AppFormDruipart from './components/app-form-druipart/app-form-druipart.vue' import AppFormDruipart from './components/app-form-druipart/app-form-druipart.vue'
import DropdownList from './components/dropdown-list/dropdown-list.vue' import DropdownList from './components/dropdown-list/dropdown-list.vue'
import DropdownListHidden from './components/dropdown-list-hidden/dropdown-list-hidden.vue'
import UploadFile from './components/upload-file/upload-file.vue' import UploadFile from './components/upload-file/upload-file.vue'
import ContextMenuContainer from './components/context-menu-container/context-menu-container.vue' import ContextMenuContainer from './components/context-menu-container/context-menu-container.vue'
import AppCheckboxList from './components/app-checkbox-list/app-checkbox-list.vue' import AppCheckboxList from './components/app-checkbox-list/app-checkbox-list.vue'
...@@ -45,6 +46,7 @@ import AppFormGroup2 from './components/app-form-group2/app-form-group2.vue' ...@@ -45,6 +46,7 @@ import AppFormGroup2 from './components/app-form-group2/app-form-group2.vue'
import AppFormItem2 from './components/app-form-item2/app-form-item2.vue' import AppFormItem2 from './components/app-form-item2/app-form-item2.vue'
import CodeList from './components/codelist/codelist.vue' import CodeList from './components/codelist/codelist.vue'
import AppQuickMenus from './components/app-quick-menus/app-quick-menus.vue' import AppQuickMenus from './components/app-quick-menus/app-quick-menus.vue'
import AppIconMenus from './components/app-icon-menus/app-icon-menus.vue'
import AppCheckbox from './components/app-checkbox/app-checkbox.vue' import AppCheckbox from './components/app-checkbox/app-checkbox.vue'
import AppColumnRender from './components/app-column-render/app-column-render.vue' import AppColumnRender from './components/app-column-render/app-column-render.vue'
import AppPickerSelectView from './components/app-picker-select-view/app-picker-select-view.vue' import AppPickerSelectView from './components/app-picker-select-view/app-picker-select-view.vue'
...@@ -150,6 +152,7 @@ export const AppComponents = { ...@@ -150,6 +152,7 @@ export const AppComponents = {
v.component('app-autocomplete', APPAutocomplete); v.component('app-autocomplete', APPAutocomplete);
v.component('app-form-druipart', AppFormDruipart); v.component('app-form-druipart', AppFormDruipart);
v.component('dropdown-list', DropdownList); v.component('dropdown-list', DropdownList);
v.component('dropdown-list-hidden', DropdownListHidden);
v.component('upload-file', UploadFile); v.component('upload-file', UploadFile);
v.component('context-menu-container', ContextMenuContainer); v.component('context-menu-container', ContextMenuContainer);
v.component('app-checkbox-list',AppCheckboxList); v.component('app-checkbox-list',AppCheckboxList);
...@@ -171,6 +174,7 @@ export const AppComponents = { ...@@ -171,6 +174,7 @@ export const AppComponents = {
v.component('app-form-item2', AppFormItem2); v.component('app-form-item2', AppFormItem2);
v.component('codelist', CodeList); v.component('codelist', CodeList);
v.component('app-quick-menus', AppQuickMenus); v.component('app-quick-menus', AppQuickMenus);
v.component('app-icon-menus', AppIconMenus);
v.component('app-checkbox',AppCheckbox); v.component('app-checkbox',AppCheckbox);
v.component('app-column-render',AppColumnRender); v.component('app-column-render',AppColumnRender);
v.component('app-picker-select-view',AppPickerSelectView); v.component('app-picker-select-view',AppPickerSelectView);
......
...@@ -482,7 +482,7 @@ export default class AppFormDRUIPart extends Vue { ...@@ -482,7 +482,7 @@ export default class AppFormDRUIPart extends Vue {
* @public * @public
* @memberof AppFormDRUIPart * @memberof AppFormDRUIPart
*/ */
public viewdataschange(){ public viewdataschange($event:any){
console.log((this.$t('components.appFormDRUIPart.change1') as string)); console.log((this.$t('components.appFormDRUIPart.change1') as string));
} }
......
.app-icon-menus{
display: flex;
flex-wrap: wrap;
.el-card{
margin: 6px 8px;
.el-card__body{
padding: 0;
width: 200px;
height: 122px;
margin: 0;
.menuIcon{
width: 100%;
height: 100%;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
border: 1px rgb(210,238,255) solid;
background-color: rgb(240,249,255);
border-radius: 3px;
cursor: pointer;
&:hover{
border-color: rgb(53,152,220) ;
}
span{
font-size: 40px;
color: rgb(55,155,222);
}
img{
width: 46px;
height: 46px;
// margin-top: 12px;
}
h4{
font-weight: 500;
font-size: 16px;
}
}
}
}
}
<template>
<div class="app-icon-menus">
<template v-for="(item,index) in menus">
<div :bordered="false" v-if="item.items && Array.isArray(item.items)" :key="index" :class="item.textcls">
<p @click="$emit('menuClick',item.name, [item.name])">
<span>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</span>
<span class="line"></span>
</p>
<p style=" display: 'flex' ">
<app-icon-menus :menus="item.items" :ctrlName = "ctrlName" @menuClick="menuClick"></app-icon-menus>
</p>
</div>
<el-card
:key="index"
shadow="never"
:class="item.textcls"
v-else
>
<div @click="menuClick(item.name,[item.name])" class="menuIcon" >
<span v-if="isIcon(item.icon,item.iconcls)">
<i :class="item.icon" v-if="!Object.is(item.icon, '')" />
<i :class="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<span v-else>
<img :src="item.icon" v-if="!Object.is(item.icon, '')" />
<img :src="item.iconcls" v-else-if="!Object.is(item.iconcls, '')" />
<i class="fa fa-cogs" v-else></i>
</span>
<h4>{{$t('app.menus.' + ctrlName + '.' + item.name)}}</h4>
</div>
</el-card>
</template>
</div>
</template>
<script lang='ts'>
import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator";
@Component({})
export default class AppQuickMenus extends Vue {
public isIcon( icon: string,iconcls: string) {
if (icon.indexOf("fa") == 0 || iconcls.indexOf("fa") == 0) {
return true;
}else {
return false;
}
}
public menuClick(index: any,indexs: any[]) {
this.$emit("menuClick",index,indexs);
}
/**
* 菜单数据
*
* @type {*}
* @memberof AppQuickMenus
*/
@Prop({ default: [] }) public menus!: any;
/**
* 部件名称
*
* @type {String}
* @memberof AppQuickMenus
*/
@Prop() public ctrlName!:String;
}
</script>
<style lang='less'>
@import "./app-icon-menus.less";
</style>
\ No newline at end of file
...@@ -10,13 +10,20 @@ ...@@ -10,13 +10,20 @@
</dropdown> </dropdown>
</template> </template>
<script lang = 'ts'> <script lang = 'ts'>
import { Component, Vue } from 'vue-property-decorator'; import { Component, Vue, Inject } from 'vue-property-decorator';
import { localList } from '@locale/local-list'; import { localList } from '@locale/local-list';
@Component({}) @Component({})
export default class AppLang extends Vue { export default class AppLang extends Vue {
/**
* 注入刷新行为
*
* @memberof AppLang
*/
@Inject() reload: any;
/** /**
* 本地语言资源 * 本地语言资源
* *
...@@ -55,6 +62,7 @@ export default class AppLang extends Vue { ...@@ -55,6 +62,7 @@ export default class AppLang extends Vue {
const local: any = this.localList.find((_local: any) => Object.is(_local.type, $evnet)); const local: any = this.localList.find((_local: any) => Object.is(_local.type, $evnet));
this.title = local.name; this.title = local.name;
localStorage.setItem('local', $evnet); localStorage.setItem('local', $evnet);
this.reload();
} }
} }
......
...@@ -312,7 +312,9 @@ export default class AppPicker extends Vue { ...@@ -312,7 +312,9 @@ export default class AppPicker extends Vue {
if (value) { if (value) {
this.items.push({text: newVal, value: value}); this.items.push({text: newVal, value: value});
} }
this.onSearch(newVal, null, false); if(newVal && value){
this.onSearch(newVal, null, false);
}
} }
} }
......
<template> <template>
<div class="app-menus"> <div class="app-menus">
<template v-for="(item,index) in menus"> <template v-for="(item,index) in menus">
<card :bordered="false" dis-hover v-if="item.items && Array.isArray(item.items)" :key="index"> <card :bordered="false" dis-hover v-if="item.items && Array.isArray(item.items)" :key="index">
...@@ -12,8 +12,8 @@ ...@@ -12,8 +12,8 @@
<span class="line"></span> <span class="line"></span>
</p> </p>
<p style=" display: 'flex' "> <p style=" display: 'flex' ">
<app-quick-menus :menus="item.items" :ctrlName = "ctrlName"></app-quick-menus> <app-quick-menus :menus="item.items" :ctrlName="ctrlName"></app-quick-menus>
</p> </p>
</card> </card>
<card <card
:key="index" :key="index"
...@@ -43,12 +43,12 @@ ...@@ -43,12 +43,12 @@
</template> </template>
</div> </div>
</template> </template>
<script lang='ts'> <script lang='ts'>
import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator"; import { Component, Vue, Prop, Model, Watch } from "vue-property-decorator";
@Component({}) @Component({})
export default class AppQuickMenus extends Vue { export default class AppQuickMenus extends Vue {
/** /**
* 菜单数据 * 菜单数据
* *
...@@ -58,7 +58,7 @@ export default class AppQuickMenus extends Vue { ...@@ -58,7 +58,7 @@ export default class AppQuickMenus extends Vue {
@Prop({ default: [] }) public menus!: any; @Prop({ default: [] }) public menus!: any;
/** /**
* 部件名称 * 部件名称
* *
* @type {String} * @type {String}
* @memberof AppQuickMenus * @memberof AppQuickMenus
......
...@@ -349,7 +349,7 @@ export default class CodeList extends Vue { ...@@ -349,7 +349,7 @@ export default class CodeList extends Vue {
max-height: 32px; max-height: 32px;
padding: 0px 3px; padding: 0px 3px;
> img{ > img{
max-height: 32px; max-height: 24px;
width: auto; width: auto;
margin-right: 6px; margin-right: 6px;
border-radius: 50%; border-radius: 50%;
......
...@@ -33,7 +33,7 @@ ...@@ -33,7 +33,7 @@
:file-list="uploadFileList" :file-list="uploadFileList"
:show-file-list="false" :show-file-list="false"
:http-request="customUploadFile"> :http-request="customUploadFile">
<el-button type="primary" size="small" icon="el-icon-upload"> <el-button type="primary" size="small" icon="el-icon-upload" :disabled="disabled">
{{$t('components.diskFileUpload.clickUpload')}} {{$t('components.diskFileUpload.clickUpload')}}
</el-button> </el-button>
</el-upload> </el-upload>
......
.dropdown-list-hidden-container{
.dropdown-list-hidden{
display: inline-block;
}
.tree-dropdown-list{
width: 100%;
.el-input__inner{
height: 32px !important;
line-height: 32px !important;
}
.el-input__icon{
line-height: 32px;
}
}
}
\ No newline at end of file
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
:filterable="filterable" :filterable="filterable"
@on-open-change="onClick" @on-open-change="onClick"
:placeholder="placeholder?placeholder:$t('components.dropDownList.placeholder')"> :placeholder="placeholder?placeholder:$t('components.dropDownList.placeholder')">
<i-option v-for="(item, index) in items" :key="index" :class="item.class" :value="item.value">{{($t('codelist.'+tag+'.'+item.value)!== ('codelist.'+tag+'.'+item.value))?$t('codelist.'+tag+'.'+item.value) : item.text}}</i-option> <i-option v-for="(item, index) in items" :key="index" :disabled="item.disabled" :class="item.class" :value="item.value">{{($t('codelist.'+tag+'.'+item.value)!== ('codelist.'+tag+'.'+item.value))?$t('codelist.'+tag+'.'+item.value) : item.text}}</i-option>
</i-select> </i-select>
<ibiz-select-tree v-if="hasChildren" class="tree-dropdown-list" :disabled="disabled" :NodesData="items" v-model="currentVal" :multiple="false"></ibiz-select-tree> <ibiz-select-tree v-if="hasChildren" class="tree-dropdown-list" :disabled="disabled" :NodesData="items" v-model="currentVal" :multiple="false"></ibiz-select-tree>
</div> </div>
...@@ -61,6 +61,24 @@ export default class DropDownList extends Vue { ...@@ -61,6 +61,24 @@ export default class DropDownList extends Vue {
*/ */
@Model('change') readonly itemValue!: any; @Model('change') readonly itemValue!: any;
/**
* 监控值变化,根据属性类型强制转换
*
* @memberof DropDownList
*/
@Watch('itemValue')
public valueWatch() {
try {
this.readyValue();
// 代码表集合中不存在改选项,重新准备集合
if (this.value && !this.items.find((item: any) => Object.is(this.value, item.value))) {
this.loadData();
}
} catch (error) {
console.log('下拉列表,值转换失败');
}
}
/** /**
* 代码表标识 * 代码表标识
* *
...@@ -102,7 +120,7 @@ export default class DropDownList extends Vue { ...@@ -102,7 +120,7 @@ export default class DropDownList extends Vue {
*/ */
protected formStateEvent: Subscription | undefined; protected formStateEvent: Subscription | undefined;
/** /**
* 监听表单数据 * 监听表单数据
* *
* @memberof DropDownList * @memberof DropDownList
......
...@@ -68,7 +68,7 @@ export default class TabPageExp extends Vue { ...@@ -68,7 +68,7 @@ export default class TabPageExp extends Vue {
public getCaption(caption: any, info: any): any { public getCaption(caption: any, info: any): any {
return info && !Object.is(info, "") return info && !Object.is(info, "")
? `${this.$t(caption)} - ${info}` ? `${this.$t(caption)} - ${this.$t(info)}`
: this.$t(caption); : this.$t(caption);
} }
......
...@@ -101,7 +101,7 @@ export default class EditViewEngine extends ViewEngine { ...@@ -101,7 +101,7 @@ export default class EditViewEngine extends ViewEngine {
* @memberof EditViewEngine * @memberof EditViewEngine
*/ */
public onFormLoad(arg: any): void { public onFormLoad(arg: any): void {
this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : this.view.$t('app.local.new'); this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : 'app.local.new';
this.setTabCaption(this.view.model.dataInfo,Object.is(arg.srfuf, '0')); this.setTabCaption(this.view.model.dataInfo,Object.is(arg.srfuf, '0'));
const newdata: boolean = !Object.is(arg.srfuf, '1'); const newdata: boolean = !Object.is(arg.srfuf, '1');
...@@ -116,7 +116,7 @@ export default class EditViewEngine extends ViewEngine { ...@@ -116,7 +116,7 @@ export default class EditViewEngine extends ViewEngine {
* @memberof EditViewEngine * @memberof EditViewEngine
*/ */
public onFormSave(arg: any): void { public onFormSave(arg: any): void {
this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : this.view.$t('app.local.new'); this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : 'app.local.new';
this.setTabCaption(this.view.model.dataInfo,Object.is(arg.srfuf, '0')); this.setTabCaption(this.view.model.dataInfo,Object.is(arg.srfuf, '0'));
const newdata: boolean = !Object.is(arg.srfuf, '1'); const newdata: boolean = !Object.is(arg.srfuf, '1');
...@@ -200,12 +200,12 @@ export default class EditViewEngine extends ViewEngine { ...@@ -200,12 +200,12 @@ export default class EditViewEngine extends ViewEngine {
} }
// 解决表格视图标题问题 // 解决表格视图标题问题
if(this.view.$tabPageExp && this.view.viewDefaultUsage){ if(this.view.$tabPageExp && this.view.viewDefaultUsage){
this.view.$tabPageExp.setCurPageCaption(this.view.$t(viewdata.srfCaption), this.view.$t(viewdata.srfCaption), info); this.view.$tabPageExp.setCurPageCaption(this.view.$t(viewdata.srfCaption), viewdata.srfCaption, info);
} }
if(this.view.$route){ if(this.view.$route){
this.view.$route.meta.info = info; this.view.$route.meta.info = info;
} }
this.view.model.srfCaption = `${this.view.$t(viewdata.srfCaption)}-${viewdata.dataInfo}`; this.view.model.srfCaption = `${this.view.$t(viewdata.srfCaption)}-${this.view.$t(viewdata.dataInfo)}`;
this.view.initNavDataWithRoute(null,isNew); this.view.initNavDataWithRoute(null,isNew);
} }
} }
......
...@@ -16,7 +16,7 @@ const messages = { ...@@ -16,7 +16,7 @@ const messages = {
// 自动根据浏览器系统语言设置语言 // 自动根据浏览器系统语言设置语言
const navLang = localStorage.getItem('local') || navigator.language; const navLang = localStorage.getItem('local') || navigator.language;
const localLang = (navLang === 'zh-CN' || (navLang === 'en-US' && messages.hasOwnProperty('en-US'))) ? navLang : false; const localLang = (navLang === 'zh-CN' || (navLang === 'en-US' && messages.hasOwnProperty('en-US')) || (navLang === 'ti-US' && messages.hasOwnProperty('ti-US'))) ? navLang : false;
let lang: string = localLang || 'zh-CN'; let lang: string = localLang || 'zh-CN';
vueApp.config.lang = lang vueApp.config.lang = lang
......
此差异已折叠。
import app_BO_CN_Base from './BO-CN-base';
function getLocaleResource(){
const app_BO_CN_OwnData = {};
const targetData = Object.assign(app_BO_CN_Base(), app_BO_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
import codelist_BO_CN_Base from './codelist_BO_CN_base';
function getLocaleResource(){
const codelist_BO_CN_OwnData = {};
const targetData = Object.assign(codelist_BO_CN_Base(), codelist_BO_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
import commonLogic from '@/locale/logic/common/common-logic';
function getLocaleResourceBase(){
const data:any = {
TemplateType: {
"aliyun-sms": commonLogic.appcommonhandle("阿里云短信",null),
"aliyun-email": commonLogic.appcommonhandle("阿里云邮件",null),
"wechat-msg": commonLogic.appcommonhandle("微信消息",null),
"dingtalk-msg": commonLogic.appcommonhandle("钉钉通知",null),
"empty": commonLogic.appcommonhandle("",null)
},
OpenAccessType: {
"aliyun": commonLogic.appcommonhandle("阿里云",null),
"wechat": commonLogic.appcommonhandle("微信开放平台",null),
"qq": commonLogic.appcommonhandle("QQ互联",null),
"dingtalk": commonLogic.appcommonhandle("钉钉开放平台",null),
"empty": commonLogic.appcommonhandle("",null)
},
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
import components_BO_CN_Base from './components_BO_CN_base';
function getLocaleResource(){
const components_BO_CN_OwnData = {};
const targetData = Object.assign(components_BO_CN_Base(), components_BO_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
import MsgOpenAccess_BO_CN_Base from './msg-open-access_BO_CN_base';
function getLocaleResource(){
const MsgOpenAccess_BO_CN_OwnData = {};
const targetData = Object.assign(MsgOpenAccess_BO_CN_Base(), MsgOpenAccess_BO_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
import commonLogic from '@/locale/logic/common/common-logic';
function getLocaleResourceBase(){
const data:any = {
fields: {
id: commonLogic.appcommonhandle("开放平台接入标识",null),
name: commonLogic.appcommonhandle("开放平台",null),
open_type: commonLogic.appcommonhandle("开放平台类型",null),
access_key: commonLogic.appcommonhandle("AccessKey(AppId)",null),
secret_key: commonLogic.appcommonhandle("SecretKey(AppSecret)",null),
region_id: commonLogic.appcommonhandle("RegionId(CorpId)",null),
access_token: commonLogic.appcommonhandle("管理账号token",null),
expires_time: commonLogic.appcommonhandle("管理账号token过期时间",null),
disabled: commonLogic.appcommonhandle("是否禁用",null),
redirect_uri: commonLogic.appcommonhandle("RedirectURI",null),
notify_url: commonLogic.appcommonhandle("NotifyUrl",null),
agent_id: commonLogic.appcommonhandle("AGENT_ID",null),
},
views: {
pickupgridview: {
caption: commonLogic.appcommonhandle("接入开放平台",null),
title: commonLogic.appcommonhandle("接入开放平台选择表格视图",null),
},
gridview: {
caption: commonLogic.appcommonhandle("接入开放平台",null),
title: commonLogic.appcommonhandle("接入开放平台表格视图",null),
},
pickupview: {
caption: commonLogic.appcommonhandle("接入开放平台",null),
title: commonLogic.appcommonhandle("接入开放平台数据选择视图",null),
},
editview: {
caption: commonLogic.appcommonhandle("接入开放平台",null),
title: commonLogic.appcommonhandle("接入开放平台编辑视图",null),
},
},
main_form: {
details: {
group1: commonLogic.appcommonhandle("接入开放平台基本信息",null),
formpage1: commonLogic.appcommonhandle("基本信息",null),
srforikey: commonLogic.appcommonhandle("",null),
srfkey: commonLogic.appcommonhandle("开放平台接入标识",null),
srfmajortext: commonLogic.appcommonhandle("开放平台",null),
srftempmode: commonLogic.appcommonhandle("",null),
srfuf: commonLogic.appcommonhandle("",null),
srfdeid: commonLogic.appcommonhandle("",null),
srfsourcekey: commonLogic.appcommonhandle("",null),
accessname: commonLogic.appcommonhandle("开放平台",null),
open_type: commonLogic.appcommonhandle("开放平台类型",null),
access_key: commonLogic.appcommonhandle("AccessKey(AppId)",null),
secret_key: commonLogic.appcommonhandle("SecretKey(AppSecret)",null),
region_id: commonLogic.appcommonhandle("RegionId(CorpId)",null),
access_token: commonLogic.appcommonhandle("管理账号token",null),
expires_time: commonLogic.appcommonhandle("管理账号token过期时间",null),
accessid: commonLogic.appcommonhandle("开放平台接入标识",null),
},
uiactions: {
},
},
main_grid: {
columns: {
accessname: commonLogic.appcommonhandle("开放平台",null),
open_type: commonLogic.appcommonhandle("开放平台类型",null),
access_key: commonLogic.appcommonhandle("AccessKey(AppId)",null),
region_id: commonLogic.appcommonhandle("RegionId(CorpId)",null),
},
nodata:commonLogic.appcommonhandle("",null),
uiactions: {
},
},
default_searchform: {
details: {
formpage1: commonLogic.appcommonhandle("常规条件",null),
n_accessname_like: commonLogic.appcommonhandle("开放平台(%)",null),
n_open_type_eq: commonLogic.appcommonhandle("开放平台类型(=)",null),
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
tbitem4: {
caption: commonLogic.appcommonhandle("编辑",null),
tip: commonLogic.appcommonhandle("编辑",null),
},
tbitem6: {
caption: commonLogic.appcommonhandle("拷贝",null),
tip: commonLogic.appcommonhandle("拷贝",null),
},
tbitem7: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem8: {
caption: commonLogic.appcommonhandle("删除",null),
tip: commonLogic.appcommonhandle("删除",null),
},
tbitem9: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem13: {
caption: commonLogic.appcommonhandle("导出",null),
tip: commonLogic.appcommonhandle("导出",null),
},
tbitem10: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem16: {
caption: commonLogic.appcommonhandle("其它",null),
tip: commonLogic.appcommonhandle("其它",null),
},
tbitem21: {
caption: commonLogic.appcommonhandle("导出数据模型",null),
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
tbitem23: {
caption: commonLogic.appcommonhandle("数据导入",null),
tip: commonLogic.appcommonhandle("数据导入",null),
},
tbitem17: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem19: {
caption: commonLogic.appcommonhandle("过滤",null),
tip: commonLogic.appcommonhandle("过滤",null),
},
tbitem18: {
caption: commonLogic.appcommonhandle("帮助",null),
tip: commonLogic.appcommonhandle("帮助",null),
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: commonLogic.appcommonhandle("保存",null),
tip: commonLogic.appcommonhandle("保存",null),
},
tbitem4: {
caption: commonLogic.appcommonhandle("保存并新建",null),
tip: commonLogic.appcommonhandle("保存并新建",null),
},
tbitem5: {
caption: commonLogic.appcommonhandle("保存并关闭",null),
tip: commonLogic.appcommonhandle("保存并关闭",null),
},
tbitem6: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem7: {
caption: commonLogic.appcommonhandle("删除并关闭",null),
tip: commonLogic.appcommonhandle("删除并关闭",null),
},
tbitem8: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem12: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
tbitem13: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem14: {
caption: commonLogic.appcommonhandle("拷贝",null),
tip: commonLogic.appcommonhandle("拷贝",null),
},
tbitem16: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem23: {
caption: commonLogic.appcommonhandle("第一个记录",null),
tip: commonLogic.appcommonhandle("第一个记录",null),
},
tbitem24: {
caption: commonLogic.appcommonhandle("上一个记录",null),
tip: commonLogic.appcommonhandle("上一个记录",null),
},
tbitem25: {
caption: commonLogic.appcommonhandle("下一个记录",null),
tip: commonLogic.appcommonhandle("下一个记录",null),
},
tbitem26: {
caption: commonLogic.appcommonhandle("最后一个记录",null),
tip: commonLogic.appcommonhandle("最后一个记录",null),
},
tbitem21: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem22: {
caption: commonLogic.appcommonhandle("帮助",null),
tip: commonLogic.appcommonhandle("帮助",null),
},
},
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
import MsgTemplate_BO_CN_Base from './msg-template_BO_CN_base';
function getLocaleResource(){
const MsgTemplate_BO_CN_OwnData = {};
const targetData = Object.assign(MsgTemplate_BO_CN_Base(), MsgTemplate_BO_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
import commonLogic from '@/locale/logic/common/common-logic';
function getLocaleResourceBase(){
const data:any = {
fields: {
tid: commonLogic.appcommonhandle("模板标识",null),
template_name: commonLogic.appcommonhandle("模板标题",null),
template_type: commonLogic.appcommonhandle("模板类型",null),
content: commonLogic.appcommonhandle("模板内容",null),
template_id: commonLogic.appcommonhandle("模板标识",null),
template_url: commonLogic.appcommonhandle("URL",null),
access_id: commonLogic.appcommonhandle("开放平台接入标识",null),
access_name: commonLogic.appcommonhandle("接入平台",null),
open_type: commonLogic.appcommonhandle("接入平台类型",null),
},
views: {
gridview: {
caption: commonLogic.appcommonhandle("消息模板",null),
title: commonLogic.appcommonhandle("消息模板表格视图",null),
},
editview: {
caption: commonLogic.appcommonhandle("消息模板",null),
title: commonLogic.appcommonhandle("消息模板编辑视图",null),
},
},
main_form: {
details: {
group1: commonLogic.appcommonhandle("消息模板基本信息",null),
grouppanel1: commonLogic.appcommonhandle("分组面板",null),
formpage1: commonLogic.appcommonhandle("基本信息",null),
srforikey: commonLogic.appcommonhandle("",null),
srfkey: commonLogic.appcommonhandle("模板标识",null),
srfmajortext: commonLogic.appcommonhandle("模板标题",null),
srftempmode: commonLogic.appcommonhandle("",null),
srfuf: commonLogic.appcommonhandle("",null),
srfdeid: commonLogic.appcommonhandle("",null),
srfsourcekey: commonLogic.appcommonhandle("",null),
accessid: commonLogic.appcommonhandle("开放平台接入标识",null),
accessname: commonLogic.appcommonhandle("接入平台",null),
open_type: commonLogic.appcommonhandle("接入平台类型",null),
template_type: commonLogic.appcommonhandle("模板类型",null),
template_name: commonLogic.appcommonhandle("模板标题",null),
template_id: commonLogic.appcommonhandle("模板标识",null),
content: commonLogic.appcommonhandle("模板内容",null),
template_url: commonLogic.appcommonhandle("URL",null),
tid: commonLogic.appcommonhandle("模板标识",null),
},
uiactions: {
},
},
main_grid: {
columns: {
template_type: commonLogic.appcommonhandle("模板类型",null),
template_id: commonLogic.appcommonhandle("模板标识",null),
template_name: commonLogic.appcommonhandle("模板标题",null),
open_type: commonLogic.appcommonhandle("接入平台类型",null),
accessname: commonLogic.appcommonhandle("接入平台",null),
},
nodata:commonLogic.appcommonhandle("",null),
uiactions: {
},
},
default_searchform: {
details: {
formpage1: commonLogic.appcommonhandle("常规条件",null),
n_accessname_like: commonLogic.appcommonhandle("接入平台(%)",null),
n_template_name_like: commonLogic.appcommonhandle("模板标题(文本包含(%))",null),
},
uiactions: {
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
tbitem4: {
caption: commonLogic.appcommonhandle("编辑",null),
tip: commonLogic.appcommonhandle("编辑",null),
},
tbitem6: {
caption: commonLogic.appcommonhandle("拷贝",null),
tip: commonLogic.appcommonhandle("拷贝",null),
},
tbitem7: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem8: {
caption: commonLogic.appcommonhandle("删除",null),
tip: commonLogic.appcommonhandle("删除",null),
},
tbitem9: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem13: {
caption: commonLogic.appcommonhandle("导出",null),
tip: commonLogic.appcommonhandle("导出",null),
},
tbitem10: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem16: {
caption: commonLogic.appcommonhandle("其它",null),
tip: commonLogic.appcommonhandle("其它",null),
},
tbitem21: {
caption: commonLogic.appcommonhandle("导出数据模型",null),
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
tbitem23: {
caption: commonLogic.appcommonhandle("数据导入",null),
tip: commonLogic.appcommonhandle("数据导入",null),
},
tbitem17: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem19: {
caption: commonLogic.appcommonhandle("过滤",null),
tip: commonLogic.appcommonhandle("过滤",null),
},
tbitem18: {
caption: commonLogic.appcommonhandle("帮助",null),
tip: commonLogic.appcommonhandle("帮助",null),
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: commonLogic.appcommonhandle("保存",null),
tip: commonLogic.appcommonhandle("保存",null),
},
tbitem4: {
caption: commonLogic.appcommonhandle("保存并新建",null),
tip: commonLogic.appcommonhandle("保存并新建",null),
},
tbitem5: {
caption: commonLogic.appcommonhandle("保存并关闭",null),
tip: commonLogic.appcommonhandle("保存并关闭",null),
},
tbitem6: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem7: {
caption: commonLogic.appcommonhandle("删除并关闭",null),
tip: commonLogic.appcommonhandle("删除并关闭",null),
},
tbitem8: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem12: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
tbitem13: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem14: {
caption: commonLogic.appcommonhandle("拷贝",null),
tip: commonLogic.appcommonhandle("拷贝",null),
},
tbitem16: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem23: {
caption: commonLogic.appcommonhandle("第一个记录",null),
tip: commonLogic.appcommonhandle("第一个记录",null),
},
tbitem24: {
caption: commonLogic.appcommonhandle("上一个记录",null),
tip: commonLogic.appcommonhandle("上一个记录",null),
},
tbitem25: {
caption: commonLogic.appcommonhandle("下一个记录",null),
tip: commonLogic.appcommonhandle("下一个记录",null),
},
tbitem26: {
caption: commonLogic.appcommonhandle("最后一个记录",null),
tip: commonLogic.appcommonhandle("最后一个记录",null),
},
tbitem21: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem22: {
caption: commonLogic.appcommonhandle("帮助",null),
tip: commonLogic.appcommonhandle("帮助",null),
},
},
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
import MsgUserAccount_BO_CN_Base from './msg-user-account_BO_CN_base';
function getLocaleResource(){
const MsgUserAccount_BO_CN_OwnData = {};
const targetData = Object.assign(MsgUserAccount_BO_CN_Base(), MsgUserAccount_BO_CN_OwnData);
return targetData;
}
export default getLocaleResource;
\ No newline at end of file
import commonLogic from '@/locale/logic/common/common-logic';
function getLocaleResourceBase(){
const data:any = {
fields: {
id: commonLogic.appcommonhandle("标识",null),
userid: commonLogic.appcommonhandle("用户标识",null),
identity_type: commonLogic.appcommonhandle("认证类型",null),
identifier: commonLogic.appcommonhandle("认证标识",null),
credential: commonLogic.appcommonhandle("凭据",null),
},
views: {
editview: {
caption: commonLogic.appcommonhandle("绑定消息账号",null),
title: commonLogic.appcommonhandle("绑定消息账号编辑视图",null),
},
gridview: {
caption: commonLogic.appcommonhandle("绑定消息账号",null),
title: commonLogic.appcommonhandle("绑定消息账号表格视图",null),
},
},
main_form: {
details: {
formpage1: commonLogic.appcommonhandle("基本信息",null),
srforikey: commonLogic.appcommonhandle("",null),
srfkey: commonLogic.appcommonhandle("标识",null),
srfmajortext: commonLogic.appcommonhandle("认证标识",null),
srftempmode: commonLogic.appcommonhandle("",null),
srfuf: commonLogic.appcommonhandle("",null),
srfdeid: commonLogic.appcommonhandle("",null),
srfsourcekey: commonLogic.appcommonhandle("",null),
userid: commonLogic.appcommonhandle("用户标识",null),
identity_type: commonLogic.appcommonhandle("认证类型",null),
identifier: commonLogic.appcommonhandle("认证标识",null),
authid: commonLogic.appcommonhandle("标识",null),
},
uiactions: {
},
},
main_grid: {
columns: {
userid: commonLogic.appcommonhandle("用户标识",null),
identity_type: commonLogic.appcommonhandle("认证类型",null),
identifier: commonLogic.appcommonhandle("认证标识",null),
},
nodata:commonLogic.appcommonhandle("",null),
uiactions: {
},
},
default_searchform: {
details: {
formpage1: commonLogic.appcommonhandle("常规条件",null),
n_userid_like: commonLogic.appcommonhandle("用户标识(%)",null),
},
uiactions: {
},
},
editviewtoolbar_toolbar: {
tbitem3: {
caption: commonLogic.appcommonhandle("保存",null),
tip: commonLogic.appcommonhandle("保存",null),
},
tbitem4: {
caption: commonLogic.appcommonhandle("保存并新建",null),
tip: commonLogic.appcommonhandle("保存并新建",null),
},
tbitem5: {
caption: commonLogic.appcommonhandle("保存并关闭",null),
tip: commonLogic.appcommonhandle("保存并关闭",null),
},
tbitem6: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem7: {
caption: commonLogic.appcommonhandle("删除并关闭",null),
tip: commonLogic.appcommonhandle("删除并关闭",null),
},
tbitem8: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem12: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
tbitem13: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem14: {
caption: commonLogic.appcommonhandle("拷贝",null),
tip: commonLogic.appcommonhandle("拷贝",null),
},
tbitem16: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem23: {
caption: commonLogic.appcommonhandle("第一个记录",null),
tip: commonLogic.appcommonhandle("第一个记录",null),
},
tbitem24: {
caption: commonLogic.appcommonhandle("上一个记录",null),
tip: commonLogic.appcommonhandle("上一个记录",null),
},
tbitem25: {
caption: commonLogic.appcommonhandle("下一个记录",null),
tip: commonLogic.appcommonhandle("下一个记录",null),
},
tbitem26: {
caption: commonLogic.appcommonhandle("最后一个记录",null),
tip: commonLogic.appcommonhandle("最后一个记录",null),
},
tbitem21: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem22: {
caption: commonLogic.appcommonhandle("帮助",null),
tip: commonLogic.appcommonhandle("帮助",null),
},
},
gridviewtoolbar_toolbar: {
tbitem3: {
caption: commonLogic.appcommonhandle("新建",null),
tip: commonLogic.appcommonhandle("新建",null),
},
tbitem4: {
caption: commonLogic.appcommonhandle("编辑",null),
tip: commonLogic.appcommonhandle("编辑",null),
},
tbitem6: {
caption: commonLogic.appcommonhandle("拷贝",null),
tip: commonLogic.appcommonhandle("拷贝",null),
},
tbitem7: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem8: {
caption: commonLogic.appcommonhandle("删除",null),
tip: commonLogic.appcommonhandle("删除",null),
},
tbitem9: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem13: {
caption: commonLogic.appcommonhandle("导出",null),
tip: commonLogic.appcommonhandle("导出",null),
},
tbitem10: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem16: {
caption: commonLogic.appcommonhandle("其它",null),
tip: commonLogic.appcommonhandle("其它",null),
},
tbitem21: {
caption: commonLogic.appcommonhandle("导出数据模型",null),
tip: commonLogic.appcommonhandle("导出数据模型",null),
},
tbitem23: {
caption: commonLogic.appcommonhandle("数据导入",null),
tip: commonLogic.appcommonhandle("数据导入",null),
},
tbitem17: {
caption: commonLogic.appcommonhandle("-",null),
tip: commonLogic.appcommonhandle("",null),
},
tbitem19: {
caption: commonLogic.appcommonhandle("过滤",null),
tip: commonLogic.appcommonhandle("过滤",null),
},
tbitem18: {
caption: commonLogic.appcommonhandle("帮助",null),
tip: commonLogic.appcommonhandle("帮助",null),
},
},
};
return data;
}
export default getLocaleResourceBase;
\ No newline at end of file
// 用户自定义语言资源 藏文
function getLocaleResource(){
const data:any = {};
return data;
}
export default getLocaleResource;
\ No newline at end of file
export default {
el: {
colorpicker: {
confirm: 'གཏན་ཁེལ་',
clear: 'གཙང་སེལ་'
},
datepicker: {
now: 'སྐབས་དེར།',
today: 'དེ་རིང་',
cancel: 'མེད་པར་བཟོ་བ་',
clear: 'གཙང་སེལ་',
confirm: 'གཏན་ཁེལ་',
selectDate: 'བདམས་པའི་ཚེས་གྲངས།',
selectTime: 'བདམས་པའི་དུས་ཚོད།',
startDate: 'འགོ་འཛུགས་དུས་ཚོད།',
startTime: 'འགོ་རྩོམ་དུས་ཚོད།',
endDate: 'མཇུག་རྫོགས་ཚེས་གྲངས།',
endTime: 'མཇུག་རྫོགས་དུས་ཚོད།',
prevYear: 'ལོ་སྔོན་མ།',
nextYear: 'ལོ་རྗེས་མ།',
prevMonth: 'ཟླ་བ་གོང་མར་',
nextMonth: 'ཟླ་བ་རྗེས་མ་',
year: 'ལོ་',
month1: 'ཟླ་བ་དང་པོ།',
month2: 'ཟླ་བ་གཉིས་པ།',
month3: 'ཟླ་བ་གསུམ་པ།',
month4: 'ཟླ་བ་བཞི་པ།',
month5: 'ཟླ་བ་ལྔ་པ།',
month6: 'ཟླ་བ་དྲུག་པ།',
month7: 'ཟླ་བ་བདུན་པ།',
month8: 'ཟླ་བ་བརྒྱད་པ།',
month9: 'ཟླ་བ་དགུ་པ།',
month10: 'ཟླ་བ་བཅུ་པ།',
month11: 'ཟླ་བ་བཅུ་གཅིག་པ།',
month12: 'ཟླ་བ་བཅུ་གཉིས་པ།',
weeks: {
sun: 'ཉི་མ།',
mon: 'གཅིག',
tue: 'གཉིས།',
wed: 'གསུམ།',
thu: 'བཞི།',
fri: 'ལྔ།',
sat: 'དྲུག'
},
months: {
jan: 'ཟླ་བ་དང་པོ།',
feb: 'ཟླ་བ་གཉིས་པ།',
mar: 'ཟླ་བ་གསུམ་པ།',
apr: 'ཟླ་བ་བཞི་པ།',
may: 'ཟླ་བ་ལྔ་པ།',
jun: 'ཟླ་བ་དྲུག་པ།',
jul: 'ཟླ་བ་བདུན་པ།',
aug: 'ཟླ་བ་བརྒྱད་པ།',
sep: 'ཟླ་བ་དགུ་པ།',
oct: 'ཟླ་བ་བཅུ་པ།',
nov: 'ཟླ་བ་བཅུ་གཅིག་པ།',
dec: 'ཟླ་བ་བཅུ་གཉིས་པ།'
}
},
select: {
loading: 'སྣོན་འཇུག་ཁྲོད་',
noMatch: 'སྙོམ་མེད་གཞི་གྲངས།',
noData: 'གཞི་གྲངས་མེད་པ་',
placeholder: 'འདེམ་རོགས་།'
},
cascader: {
noMatch: 'སྙོམ་མེད་གཞི་གྲངས།',
loading: 'སྣོན་འཇུག་ཁྲོད་',
placeholder: 'འདེམ་རོགས་།',
noData: 'གནས་སྐབས་གཞི་གྲངས་མེད་པ་'
},
pagination: {
goto: 'ཕེབས་པ།',
pagesize: 'ནར་མོ/ལྡེབ་ངོས།',
total: 'མཉམ་དུ། {total} ལྕུག་མ།',
pageClassifier: 'ཤོག་ངོས་'
},
messagebox: {
title: 'གསལ་འདེབས་',
confirm: 'གཏན་ཁེལ་',
cancel: 'མེད་པར་བཟོ་བ་',
error: 'གཞི་གྲངས་ནང་འདྲེན་བྱས་པ་དེ་ཁྲིམས་དང་མི་མཐུན་པ་ཞིག་རེད།!'
},
upload: {
deleteTip: 'deleteམཐེབ་ལྟར་སུབ་པ་ཆོག་།',
delete: 'སུབ་པ་',
preview: 'པར་རིས་ལ་ལྟ་བ་',
continue: 'མུ་མཐུད་དུ་ཡར་བསྐུར་།'
},
table: {
emptyText: 'གནས་སྐབས་གཞི་གྲངས་མེད་པ་',
confirmFilter: 'འཚག་འདེམས་',
resetFilter: 'བསྐྱར་འཇོག',
clearFilter: 'ཚང་མ།',
sumText: 'བསྡོམས་འབོར་'
},
tree: {
emptyText: 'གནས་སྐབས་གཞི་གྲངས་མེད་པ་'
},
transfer: {
noMatch: 'སྙོམ་མེད་གཞི་གྲངས།',
noData: 'གཞི་གྲངས་མེད་པ་',
titles: ['རེའུ་མིག1', 'རེའུ་མིག2'],
filterPlaceholder: 'བཤེར་འཚོལ་ནང་དོན་ནང་འཇུག་རོགས་།',
noCheckedFormat: 'མཉམ་དུ། {total} ཚན།',
hasCheckedFormat: 'བདམས་ཟིན་པ་ {checked}/{total} ཚན།'
},
image: {
error: 'ཁུར་སྣོན་ཕམ་པ།'
},
pageHeader: {
title: 'ཕྱིར་ལོག'
},
popconfirm: {
confirmButtonText: 'གཏན་ཁེལ་',
cancelButtonText: 'མེད་པར་བཟོ་བ་'
}
}
};
\ No newline at end of file
export default {
i: {
locale: 'BO-CN',
select: {
placeholder: 'འདེམ་རོགས་།',
noMatch: 'སྙོམ་མེད་གཞི་གྲངས།',
loading: 'སྣོན་འཇུག་ཁྲོད་'
},
table: {
noDataText: 'གནས་སྐབས་གཞི་གྲངས་མེད་པ་',
noFilteredDataText: 'གནས་སྐབས་འཚག་འདེམས་མཇུག་འབྲས་མེད་།',
confirmFilter: 'འཚག་འདེམས་',
resetFilter: 'བསྐྱར་འཇོག',
clearFilter: 'ཚང་མ།',
sumText: 'བསྡོམས་འབོར་'
},
datepicker: {
selectDate: 'བདམས་པའི་ཚེས་གྲངས།',
selectTime: 'བདམས་པའི་དུས་ཚོད།',
startTime: 'འགོ་རྩོམ་དུས་ཚོད།',
endTime: 'མཇུག་རྫོགས་དུས་ཚོད།',
clear: 'གཙང་སེལ་',
ok: 'གཏན་ཁེལ་',
datePanelLabel: '[mmmm] [yyyy]',
month: 'ཟླ་བ།',
month1: 'ཟླ་བ་དང་པོ།',
month2: 'ཟླ་བ་གཉིས་པ།',
month3: 'ཟླ་བ་གསུམ་པ།',
month4: 'ཟླ་བ་བཞི་པ།',
month5: 'ཟླ་བ་ལྔ་པ།',
month6: 'ཟླ་བ་དྲུག་པ།',
month7: 'ཟླ་བ་བདུན་པ།',
month8: 'ཟླ་བ་བརྒྱད་པ།',
month9: 'ཟླ་བ་དགུ་པ།',
month10: 'ཟླ་བ་བཅུ་པ།',
month11: 'ཟླ་བ་བཅུ་གཅིག་པ།',
month12: 'ཟླ་བ་བཅུ་གཉིས་པ།',
year: 'ལོ་',
weekStartDay: '0',
weeks: {
sun: 'ཉི་མ།',
mon: 'གཅིག',
tue: 'གཉིས།',
wed: 'གསུམ།',
thu: 'བཞི།',
fri: 'ལྔ།',
sat: 'དྲུག'
},
months: {
m1: 'ཟླ་བ་དང་པོ།',
m2: 'ཟླ་བ་གཉིས་པ།',
m3: 'ཟླ་བ་གསུམ་པ།',
m4: 'ཟླ་བ་བཞི་པ།',
m5: 'ཟླ་བ་ལྔ་པ།',
m6: 'ཟླ་བ་དྲུག་པ།',
m7: 'ཟླ་བ་བདུན་པ།',
m8: 'ཟླ་བ་བརྒྱད་པ།',
m9: 'ཟླ་བ་དགུ་པ།',
m10: 'ཟླ་བ་བཅུ་པ།',
m11: 'ཟླ་བ་བཅུ་གཅིག་པ།',
m12: 'ཟླ་བ་བཅུ་གཉིས་པ།'
}
},
transfer: {
titles: {
source: 'ཁུངས་ཀྱི་རེའུ་མིག',
target: 'དམིགས་ཡུལ་རེའུ་མིག'
},
filterPlaceholder: 'བཤེར་འཚོལ་ནང་དོན་ནང་འཇུག་རོགས་།',
notFoundText: 'རེའུ་མིག་སྟོང་པ་རེད།'
},
modal: {
okText: 'གཏན་ཁེལ་',
cancelText: 'མེད་པར་བཟོ་བ་'
},
poptip: {
okText: 'གཏན་ཁེལ་',
cancelText: 'མེད་པར་བཟོ་བ་'
},
page: {
prev: 'ཤོག་ངོས་གོང་མ།',
next: 'ཤོག་ངོས་རྗེས་མ་',
total: 'མཉམ་དུ།',
item: 'ལྕུག་མ།',
items: 'ལྕུག་མ།',
prev5: 'མདུན་གྱི་ཤོག་ངོས་5།',
next5: 'རྒྱབ་ཏུ་ཤོག་ངོས་5།',
page: 'ནར་མོ/ལྡེབ་ངོས། ',
goto: 'མཆོང་།',
p: 'ཤོག་ངོས་'
},
rate: {
star: 'སྐར་མ་',
stars: 'སྐར་མ་'
},
time: {
before: 'མདུན།',
after: 'རྗེས་',
just: 'མ་ཐག་',
seconds: 'སྐར་ཆ་',
minutes: 'སྐར་མ་',
hours: 'ཆུ་ཚོད།',
days: 'གནམ་'
},
tree: {
emptyText: 'གནས་སྐབས་གཞི་གྲངས་མེད་པ་'
}
}
};
\ No newline at end of file
...@@ -1395,7 +1395,7 @@ export default class MsgOpenAccessEditViewBase extends Vue { ...@@ -1395,7 +1395,7 @@ export default class MsgOpenAccessEditViewBase extends Vue {
Object.assign(data, { msgopenaccess: args[0].msgopenaccess }); Object.assign(data, { msgopenaccess: args[0].msgopenaccess });
} }
if(!params) params = {}; if(!params) params = {};
Object.assign(params,{copymode:true}); Object.assign(args,{copymode:true});
_this.opendata([{ ...data }], args, params, $event, xData); _this.opendata([{ ...data }], args, params, $event, xData);
} else { } else {
Object.assign(this.viewparams,{copymode:true}); Object.assign(this.viewparams,{copymode:true});
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<app-studioaction :viewTitle="$t(model.srfCaption)" viewName="msgopenaccessgridview"></app-studioaction> <app-studioaction :viewTitle="$t(model.srfCaption)" viewName="msgopenaccessgridview"></app-studioaction>
<card class='view-card ' :dis-hover="true" :bordered="false"> <card class='view-card ' :dis-hover="true" :bordered="false">
<div slot='title' class="header-container"> <div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfCaption)}}</span> <span class='caption-info' :title="$t(model.srfCaption)">{{$t(model.srfCaption)}}</span>
</div> </div>
<div class='view-top-messages'> <div class='view-top-messages'>
</div> </div>
...@@ -1447,7 +1447,7 @@ export default class MsgOpenAccessGridViewBase extends Vue { ...@@ -1447,7 +1447,7 @@ export default class MsgOpenAccessGridViewBase extends Vue {
Object.assign(data, { msgopenaccess: args[0].msgopenaccess }); Object.assign(data, { msgopenaccess: args[0].msgopenaccess });
} }
if(!params) params = {}; if(!params) params = {};
Object.assign(params,{copymode:true}); Object.assign(args,{copymode:true});
_this.opendata([{ ...data }], args, params, $event, xData); _this.opendata([{ ...data }], args, params, $event, xData);
} else { } else {
Object.assign(this.viewparams,{copymode:true}); Object.assign(this.viewparams,{copymode:true});
......
...@@ -1395,7 +1395,7 @@ export default class MsgTemplateEditViewBase extends Vue { ...@@ -1395,7 +1395,7 @@ export default class MsgTemplateEditViewBase extends Vue {
Object.assign(data, { msgtemplate: args[0].msgtemplate }); Object.assign(data, { msgtemplate: args[0].msgtemplate });
} }
if(!params) params = {}; if(!params) params = {};
Object.assign(params,{copymode:true}); Object.assign(args,{copymode:true});
_this.opendata([{ ...data }], args, params, $event, xData); _this.opendata([{ ...data }], args, params, $event, xData);
} else { } else {
Object.assign(this.viewparams,{copymode:true}); Object.assign(this.viewparams,{copymode:true});
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<app-studioaction :viewTitle="$t(model.srfCaption)" viewName="msgtemplategridview"></app-studioaction> <app-studioaction :viewTitle="$t(model.srfCaption)" viewName="msgtemplategridview"></app-studioaction>
<card class='view-card ' :dis-hover="true" :bordered="false"> <card class='view-card ' :dis-hover="true" :bordered="false">
<div slot='title' class="header-container"> <div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfCaption)}}</span> <span class='caption-info' :title="$t(model.srfCaption)">{{$t(model.srfCaption)}}</span>
</div> </div>
<div class='view-top-messages'> <div class='view-top-messages'>
</div> </div>
...@@ -1447,7 +1447,7 @@ export default class MsgTemplateGridViewBase extends Vue { ...@@ -1447,7 +1447,7 @@ export default class MsgTemplateGridViewBase extends Vue {
Object.assign(data, { msgtemplate: args[0].msgtemplate }); Object.assign(data, { msgtemplate: args[0].msgtemplate });
} }
if(!params) params = {}; if(!params) params = {};
Object.assign(params,{copymode:true}); Object.assign(args,{copymode:true});
_this.opendata([{ ...data }], args, params, $event, xData); _this.opendata([{ ...data }], args, params, $event, xData);
} else { } else {
Object.assign(this.viewparams,{copymode:true}); Object.assign(this.viewparams,{copymode:true});
......
...@@ -1395,7 +1395,7 @@ export default class MsgUserAccountEditViewBase extends Vue { ...@@ -1395,7 +1395,7 @@ export default class MsgUserAccountEditViewBase extends Vue {
Object.assign(data, { msguseraccount: args[0].msguseraccount }); Object.assign(data, { msguseraccount: args[0].msguseraccount });
} }
if(!params) params = {}; if(!params) params = {};
Object.assign(params,{copymode:true}); Object.assign(args,{copymode:true});
_this.opendata([{ ...data }], args, params, $event, xData); _this.opendata([{ ...data }], args, params, $event, xData);
} else { } else {
Object.assign(this.viewparams,{copymode:true}); Object.assign(this.viewparams,{copymode:true});
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<app-studioaction :viewTitle="$t(model.srfCaption)" viewName="msguseraccountgridview"></app-studioaction> <app-studioaction :viewTitle="$t(model.srfCaption)" viewName="msguseraccountgridview"></app-studioaction>
<card class='view-card ' :dis-hover="true" :bordered="false"> <card class='view-card ' :dis-hover="true" :bordered="false">
<div slot='title' class="header-container"> <div slot='title' class="header-container">
<span class='caption-info'>{{$t(model.srfCaption)}}</span> <span class='caption-info' :title="$t(model.srfCaption)">{{$t(model.srfCaption)}}</span>
</div> </div>
<div class='view-top-messages'> <div class='view-top-messages'>
</div> </div>
...@@ -1421,7 +1421,7 @@ export default class MsgUserAccountGridViewBase extends Vue { ...@@ -1421,7 +1421,7 @@ export default class MsgUserAccountGridViewBase extends Vue {
Object.assign(data, { msguseraccount: args[0].msguseraccount }); Object.assign(data, { msguseraccount: args[0].msguseraccount });
} }
if(!params) params = {}; if(!params) params = {};
Object.assign(params,{copymode:true}); Object.assign(args,{copymode:true});
_this.opendata([{ ...data }], args, params, $event, xData); _this.opendata([{ ...data }], args, params, $event, xData);
} else { } else {
Object.assign(this.viewparams,{copymode:true}); Object.assign(this.viewparams,{copymode:true});
......
...@@ -110,6 +110,10 @@ ...@@ -110,6 +110,10 @@
font-size: 18px; font-size: 18px;
color: #1890ff; color: #1890ff;
flex-shrink: 0; flex-shrink: 0;
max-width: 50%;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
} }
> .toolbar-container{ > .toolbar-container{
margin-left: auto; margin-left: auto;
......
...@@ -10,5 +10,11 @@ declare module "view-design/dist/locale/zh-CN" { ...@@ -10,5 +10,11 @@ declare module "view-design/dist/locale/zh-CN" {
declare module "element-ui/lib/locale/lang/zh-CN" { declare module "element-ui/lib/locale/lang/zh-CN" {
} }
declare module "view-design/dist/locale/BO-CN" {
}
declare module "element-ui/lib/locale/lang/BO-CN" {
}
declare module "tinymce/tinymce" { declare module "tinymce/tinymce" {
} }
\ No newline at end of file
...@@ -8,7 +8,8 @@ ...@@ -8,7 +8,8 @@
:collapse="isCollapse" :collapse="isCollapse"
@select="select" @select="select"
:default-active="defaultActive"> :default-active="defaultActive">
<template v-if="Object.is(mode,'horizontal')">
<template v-if="Object.is(mode,'horizontal')">
<template v-for="item0 in menus"> <template v-for="item0 in menus">
<template v-if="item0.items && Array.isArray(item0.items) && item0.items.length > 0"> <template v-if="item0.items && Array.isArray(item0.items) && item0.items.length > 0">
<el-submenu v-show="!item0.hidden" :index="item0.name" :popper-class="popperClass" :key="item0.id" :class="item0.textcls"> <el-submenu v-show="!item0.hidden" :index="item0.name" :popper-class="popperClass" :key="item0.id" :class="item0.textcls">
...@@ -104,9 +105,10 @@ ...@@ -104,9 +105,10 @@
</el-menu-item> </el-menu-item>
</template> </template>
</template> </template>
</template> </template>
</template> </template>
<app-menu-item v-else :isCollapse="isCollapse" :menus="menus" :ctrlName="'notifyindexview'" :isFirst="true" :counterdata="counterdata" :popper-class="popperClass"></app-menu-item> <app-menu-item v-else :isCollapse="isCollapse" :menus="menus" :ctrlName="'notifyindexview'" :isFirst="true" :counterdata="counterdata" :popper-class="popperClass"></app-menu-item>
</el-menu> </el-menu>
</div> </div>
</template> </template>
......
...@@ -59,7 +59,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -59,7 +59,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgOpenAccessService from '@/service/msg-open-access/msg-open-access-service'; import MsgOpenAccessEntityService from '@/service/msg-open-access/msg-open-access-service';
import DefaultService from './default-searchform-service'; import DefaultService from './default-searchform-service';
import MsgOpenAccessUIService from '@/uiservice/msg-open-access/msg-open-access-ui-service'; import MsgOpenAccessUIService from '@/uiservice/msg-open-access/msg-open-access-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail'; import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
...@@ -148,7 +148,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -148,7 +148,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @type {MsgOpenAccessService} * @type {MsgOpenAccessService}
* @memberof DefaultBase * @memberof DefaultBase
*/ */
public appEntityService: MsgOpenAccessService = new MsgOpenAccessService({ $store: this.$store }); public appEntityService: MsgOpenAccessEntityService = new MsgOpenAccessEntityService({ $store: this.$store });
......
...@@ -115,7 +115,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -115,7 +115,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgOpenAccessService from '@/service/msg-open-access/msg-open-access-service'; import MsgOpenAccessEntityService from '@/service/msg-open-access/msg-open-access-service';
import MainService from './main-form-service'; import MainService from './main-form-service';
import MsgOpenAccessUIService from '@/uiservice/msg-open-access/msg-open-access-ui-service'; import MsgOpenAccessUIService from '@/uiservice/msg-open-access/msg-open-access-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail'; import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
...@@ -206,7 +206,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -206,7 +206,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {MsgOpenAccessService} * @type {MsgOpenAccessService}
* @memberof MainBase * @memberof MainBase
*/ */
public appEntityService: MsgOpenAccessService = new MsgOpenAccessService({ $store: this.$store }); public appEntityService: MsgOpenAccessEntityService = new MsgOpenAccessEntityService({ $store: this.$store });
...@@ -457,7 +457,16 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -457,7 +457,16 @@ export default class MainBase extends Vue implements ControlInterface {
* *
* @memberof MainBase * @memberof MainBase
*/ */
public errorMessages: Array<any> = []; public errorMessages: Array<any> = [];
/**
* 应用状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MainBase
*/
public appStateEvent: Subscription | undefined;
/** /**
* 设置表单项错误提示信息 * 设置表单项错误提示信息
...@@ -1323,6 +1332,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1323,6 +1332,9 @@ export default class MainBase extends Vue implements ControlInterface {
if (this.dataChangEvent) { if (this.dataChangEvent) {
this.dataChangEvent.unsubscribe(); this.dataChangEvent.unsubscribe();
} }
if(this.appStateEvent){
this.appStateEvent.unsubscribe();
}
} }
/** /**
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
:cell-class-name="getCellClassName" :cell-class-name="getCellClassName"
max-height="items.length > 0 ? 'calc(100%-50px)' : '100%'" max-height="items.length > 0 ? 'calc(100%-50px)' : '100%'"
@row-click="rowClick($event)" @row-click="rowClick($event)"
@cell-click="cellClick"
@select-all="selectAll($event)" @select-all="selectAll($event)"
@select="select" @select="select"
@row-class-name="onRowClassName($event)" @row-class-name="onRowClassName($event)"
...@@ -120,7 +121,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -120,7 +121,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgOpenAccessService from '@/service/msg-open-access/msg-open-access-service'; import MsgOpenAccessEntityService from '@/service/msg-open-access/msg-open-access-service';
import MainService from './main-grid-service'; import MainService from './main-grid-service';
import MsgOpenAccessUIService from '@/uiservice/msg-open-access/msg-open-access-ui-service'; import MsgOpenAccessUIService from '@/uiservice/msg-open-access/msg-open-access-ui-service';
import CodeListService from "@/codelist/codelist-service"; import CodeListService from "@/codelist/codelist-service";
...@@ -210,7 +211,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -210,7 +211,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {MsgOpenAccessService} * @type {MsgOpenAccessService}
* @memberof MainBase * @memberof MainBase
*/ */
public appEntityService: MsgOpenAccessService = new MsgOpenAccessService({ $store: this.$store }); public appEntityService: MsgOpenAccessEntityService = new MsgOpenAccessEntityService({ $store: this.$store });
...@@ -1002,7 +1003,8 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1002,7 +1003,8 @@ export default class MainBase extends Vue implements ControlInterface {
this.selections = []; this.selections = [];
resolve(response); resolve(response);
}).catch((response: any) => { }).catch((response: any) => {
if (response && response.status === 401) { if (response && response.status != 200) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.message});
return; return;
} }
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
...@@ -1674,6 +1676,17 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1674,6 +1676,17 @@ export default class MainBase extends Vue implements ControlInterface {
this.$emit('selectionchange', this.selections); this.$emit('selectionchange', this.selections);
} }
/**
* 单元格单击隐藏提示框
*
* @memberof MainBase
*/
public cellClick() {
let el: any = document.getElementsByClassName('el-tooltip__popper')[0];
if (el) {
el.style.display = 'none';
}
}
/** /**
* 行单击选中 * 行单击选中
...@@ -1808,6 +1821,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1808,6 +1821,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public uiAction(row: any, tag: any, $event: any) { public uiAction(row: any, tag: any, $event: any) {
// this.rowClick(row, true); // this.rowClick(row, true);
this.cellClick();
$event.stopPropagation(); $event.stopPropagation();
} }
......
...@@ -25,7 +25,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -25,7 +25,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgOpenAccessService from '@/service/msg-open-access/msg-open-access-service'; import MsgOpenAccessEntityService from '@/service/msg-open-access/msg-open-access-service';
import PickupViewpickupviewpanelService from './pickup-viewpickupviewpanel-pickupviewpanel-service'; import PickupViewpickupviewpanelService from './pickup-viewpickupviewpanel-pickupviewpanel-service';
import MsgOpenAccessUIService from '@/uiservice/msg-open-access/msg-open-access-ui-service'; import MsgOpenAccessUIService from '@/uiservice/msg-open-access/msg-open-access-ui-service';
import PickupViewpickupviewpanelModel from './pickup-viewpickupviewpanel-pickupviewpanel-model'; import PickupViewpickupviewpanelModel from './pickup-viewpickupviewpanel-pickupviewpanel-model';
...@@ -105,7 +105,7 @@ export default class PickupViewpickupviewpanelBase extends Vue implements Contro ...@@ -105,7 +105,7 @@ export default class PickupViewpickupviewpanelBase extends Vue implements Contro
* @type {MsgOpenAccessService} * @type {MsgOpenAccessService}
* @memberof PickupViewpickupviewpanelBase * @memberof PickupViewpickupviewpanelBase
*/ */
public appEntityService: MsgOpenAccessService = new MsgOpenAccessService({ $store: this.$store }); public appEntityService: MsgOpenAccessEntityService = new MsgOpenAccessEntityService({ $store: this.$store });
......
...@@ -52,7 +52,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -52,7 +52,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgTemplateService from '@/service/msg-template/msg-template-service'; import MsgTemplateEntityService from '@/service/msg-template/msg-template-service';
import DefaultService from './default-searchform-service'; import DefaultService from './default-searchform-service';
import MsgTemplateUIService from '@/uiservice/msg-template/msg-template-ui-service'; import MsgTemplateUIService from '@/uiservice/msg-template/msg-template-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail'; import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
...@@ -141,7 +141,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -141,7 +141,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @type {MsgTemplateService} * @type {MsgTemplateService}
* @memberof DefaultBase * @memberof DefaultBase
*/ */
public appEntityService: MsgTemplateService = new MsgTemplateService({ $store: this.$store }); public appEntityService: MsgTemplateEntityService = new MsgTemplateEntityService({ $store: this.$store });
......
...@@ -132,7 +132,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -132,7 +132,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgTemplateService from '@/service/msg-template/msg-template-service'; import MsgTemplateEntityService from '@/service/msg-template/msg-template-service';
import MainService from './main-form-service'; import MainService from './main-form-service';
import MsgTemplateUIService from '@/uiservice/msg-template/msg-template-ui-service'; import MsgTemplateUIService from '@/uiservice/msg-template/msg-template-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail'; import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
...@@ -223,7 +223,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -223,7 +223,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {MsgTemplateService} * @type {MsgTemplateService}
* @memberof MainBase * @memberof MainBase
*/ */
public appEntityService: MsgTemplateService = new MsgTemplateService({ $store: this.$store }); public appEntityService: MsgTemplateEntityService = new MsgTemplateEntityService({ $store: this.$store });
...@@ -474,7 +474,16 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -474,7 +474,16 @@ export default class MainBase extends Vue implements ControlInterface {
* *
* @memberof MainBase * @memberof MainBase
*/ */
public errorMessages: Array<any> = []; public errorMessages: Array<any> = [];
/**
* 应用状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MainBase
*/
public appStateEvent: Subscription | undefined;
/** /**
* 设置表单项错误提示信息 * 设置表单项错误提示信息
...@@ -1359,6 +1368,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1359,6 +1368,9 @@ export default class MainBase extends Vue implements ControlInterface {
if (this.dataChangEvent) { if (this.dataChangEvent) {
this.dataChangEvent.unsubscribe(); this.dataChangEvent.unsubscribe();
} }
if(this.appStateEvent){
this.appStateEvent.unsubscribe();
}
} }
/** /**
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
:cell-class-name="getCellClassName" :cell-class-name="getCellClassName"
max-height="items.length > 0 ? 'calc(100%-50px)' : '100%'" max-height="items.length > 0 ? 'calc(100%-50px)' : '100%'"
@row-click="rowClick($event)" @row-click="rowClick($event)"
@cell-click="cellClick"
@select-all="selectAll($event)" @select-all="selectAll($event)"
@select="select" @select="select"
@row-class-name="onRowClassName($event)" @row-class-name="onRowClassName($event)"
...@@ -134,7 +135,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -134,7 +135,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgTemplateService from '@/service/msg-template/msg-template-service'; import MsgTemplateEntityService from '@/service/msg-template/msg-template-service';
import MainService from './main-grid-service'; import MainService from './main-grid-service';
import MsgTemplateUIService from '@/uiservice/msg-template/msg-template-ui-service'; import MsgTemplateUIService from '@/uiservice/msg-template/msg-template-ui-service';
import CodeListService from "@/codelist/codelist-service"; import CodeListService from "@/codelist/codelist-service";
...@@ -224,7 +225,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -224,7 +225,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {MsgTemplateService} * @type {MsgTemplateService}
* @memberof MainBase * @memberof MainBase
*/ */
public appEntityService: MsgTemplateService = new MsgTemplateService({ $store: this.$store }); public appEntityService: MsgTemplateEntityService = new MsgTemplateEntityService({ $store: this.$store });
...@@ -1025,7 +1026,8 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1025,7 +1026,8 @@ export default class MainBase extends Vue implements ControlInterface {
this.selections = []; this.selections = [];
resolve(response); resolve(response);
}).catch((response: any) => { }).catch((response: any) => {
if (response && response.status === 401) { if (response && response.status != 200) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.message});
return; return;
} }
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
...@@ -1708,6 +1710,17 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1708,6 +1710,17 @@ export default class MainBase extends Vue implements ControlInterface {
this.$emit('selectionchange', this.selections); this.$emit('selectionchange', this.selections);
} }
/**
* 单元格单击隐藏提示框
*
* @memberof MainBase
*/
public cellClick() {
let el: any = document.getElementsByClassName('el-tooltip__popper')[0];
if (el) {
el.style.display = 'none';
}
}
/** /**
* 行单击选中 * 行单击选中
...@@ -1842,6 +1855,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1842,6 +1855,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public uiAction(row: any, tag: any, $event: any) { public uiAction(row: any, tag: any, $event: any) {
// this.rowClick(row, true); // this.rowClick(row, true);
this.cellClick();
$event.stopPropagation(); $event.stopPropagation();
} }
......
...@@ -38,7 +38,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -38,7 +38,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgUserAccountService from '@/service/msg-user-account/msg-user-account-service'; import MsgUserAccountEntityService from '@/service/msg-user-account/msg-user-account-service';
import DefaultService from './default-searchform-service'; import DefaultService from './default-searchform-service';
import MsgUserAccountUIService from '@/uiservice/msg-user-account/msg-user-account-ui-service'; import MsgUserAccountUIService from '@/uiservice/msg-user-account/msg-user-account-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail'; import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
...@@ -127,7 +127,7 @@ export default class DefaultBase extends Vue implements ControlInterface { ...@@ -127,7 +127,7 @@ export default class DefaultBase extends Vue implements ControlInterface {
* @type {MsgUserAccountService} * @type {MsgUserAccountService}
* @memberof DefaultBase * @memberof DefaultBase
*/ */
public appEntityService: MsgUserAccountService = new MsgUserAccountService({ $store: this.$store }); public appEntityService: MsgUserAccountEntityService = new MsgUserAccountEntityService({ $store: this.$store });
......
...@@ -65,7 +65,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -65,7 +65,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgUserAccountService from '@/service/msg-user-account/msg-user-account-service'; import MsgUserAccountEntityService from '@/service/msg-user-account/msg-user-account-service';
import MainService from './main-form-service'; import MainService from './main-form-service';
import MsgUserAccountUIService from '@/uiservice/msg-user-account/msg-user-account-ui-service'; import MsgUserAccountUIService from '@/uiservice/msg-user-account/msg-user-account-ui-service';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail'; import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
...@@ -156,7 +156,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -156,7 +156,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {MsgUserAccountService} * @type {MsgUserAccountService}
* @memberof MainBase * @memberof MainBase
*/ */
public appEntityService: MsgUserAccountService = new MsgUserAccountService({ $store: this.$store }); public appEntityService: MsgUserAccountEntityService = new MsgUserAccountEntityService({ $store: this.$store });
...@@ -407,7 +407,16 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -407,7 +407,16 @@ export default class MainBase extends Vue implements ControlInterface {
* *
* @memberof MainBase * @memberof MainBase
*/ */
public errorMessages: Array<any> = []; public errorMessages: Array<any> = [];
/**
* 应用状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof MainBase
*/
public appStateEvent: Subscription | undefined;
/** /**
* 设置表单项错误提示信息 * 设置表单项错误提示信息
...@@ -1190,6 +1199,9 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1190,6 +1199,9 @@ export default class MainBase extends Vue implements ControlInterface {
if (this.dataChangEvent) { if (this.dataChangEvent) {
this.dataChangEvent.unsubscribe(); this.dataChangEvent.unsubscribe();
} }
if(this.appStateEvent){
this.appStateEvent.unsubscribe();
}
} }
/** /**
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
:cell-class-name="getCellClassName" :cell-class-name="getCellClassName"
max-height="items.length > 0 ? 'calc(100%-50px)' : '100%'" max-height="items.length > 0 ? 'calc(100%-50px)' : '100%'"
@row-click="rowClick($event)" @row-click="rowClick($event)"
@cell-click="cellClick"
@select-all="selectAll($event)" @select-all="selectAll($event)"
@select="select" @select="select"
@row-class-name="onRowClassName($event)" @row-class-name="onRowClassName($event)"
...@@ -108,7 +109,7 @@ import { ControlInterface } from '@/interface/control'; ...@@ -108,7 +109,7 @@ import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
import MsgUserAccountService from '@/service/msg-user-account/msg-user-account-service'; import MsgUserAccountEntityService from '@/service/msg-user-account/msg-user-account-service';
import MainService from './main-grid-service'; import MainService from './main-grid-service';
import MsgUserAccountUIService from '@/uiservice/msg-user-account/msg-user-account-ui-service'; import MsgUserAccountUIService from '@/uiservice/msg-user-account/msg-user-account-ui-service';
import CodeListService from "@/codelist/codelist-service"; import CodeListService from "@/codelist/codelist-service";
...@@ -198,7 +199,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -198,7 +199,7 @@ export default class MainBase extends Vue implements ControlInterface {
* @type {MsgUserAccountService} * @type {MsgUserAccountService}
* @memberof MainBase * @memberof MainBase
*/ */
public appEntityService: MsgUserAccountService = new MsgUserAccountService({ $store: this.$store }); public appEntityService: MsgUserAccountEntityService = new MsgUserAccountEntityService({ $store: this.$store });
...@@ -981,7 +982,8 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -981,7 +982,8 @@ export default class MainBase extends Vue implements ControlInterface {
this.selections = []; this.selections = [];
resolve(response); resolve(response);
}).catch((response: any) => { }).catch((response: any) => {
if (response && response.status === 401) { if (response && response.status != 200) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.message});
return; return;
} }
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
...@@ -1650,6 +1652,17 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1650,6 +1652,17 @@ export default class MainBase extends Vue implements ControlInterface {
this.$emit('selectionchange', this.selections); this.$emit('selectionchange', this.selections);
} }
/**
* 单元格单击隐藏提示框
*
* @memberof MainBase
*/
public cellClick() {
let el: any = document.getElementsByClassName('el-tooltip__popper')[0];
if (el) {
el.style.display = 'none';
}
}
/** /**
* 行单击选中 * 行单击选中
...@@ -1784,6 +1797,7 @@ export default class MainBase extends Vue implements ControlInterface { ...@@ -1784,6 +1797,7 @@ export default class MainBase extends Vue implements ControlInterface {
*/ */
public uiAction(row: any, tag: any, $event: any) { public uiAction(row: any, tag: any, $event: any) {
// this.rowClick(row, true); // this.rowClick(row, true);
this.cellClick();
$event.stopPropagation(); $event.stopPropagation();
} }
......
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ibznotify-app-web
labels:
app: ibznotify-app-web
spec:
replicas: 1
selector:
matchLabels:
app: ibznotify-app-web
template:
metadata:
labels:
app: ibznotify-app-web
spec:
imagePullSecrets:
- name: aly-shanghai
containers:
- name: ibznotify-app-web
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibznotify-app-web:latest
imagePullPolicy: Always
ports:
- containerPort: 8080
volumeMounts:
- name: data
mountPath: /app/file
volumes:
- name: data
persistentVolumeClaim:
claimName: demo-date-pvc-nfs
---
apiVersion: v1
kind: Service
metadata:
name: ibznotify-app-web
labels:
app: ibznotify-app-web
spec:
type: NodePort
ports:
- name: http
port: 8080
targetPort: 8080
nodePort: 8080
protocol: TCP
selector:
app: ibznotify-app-web
...@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import java.util.HashMap; import java.util.Map;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import cn.ibizlab.core.notify.domain.MsgBody; import cn.ibizlab.core.notify.domain.MsgBody;
import cn.ibizlab.core.notify.filter.MsgBodySearchContext; import cn.ibizlab.core.notify.filter.MsgBodySearchContext;
......
...@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import java.util.HashMap; import java.util.Map;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import cn.ibizlab.core.notify.domain.MsgOpenAccess; import cn.ibizlab.core.notify.domain.MsgOpenAccess;
import cn.ibizlab.core.notify.filter.MsgOpenAccessSearchContext; import cn.ibizlab.core.notify.filter.MsgOpenAccessSearchContext;
......
...@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import java.util.HashMap; import java.util.Map;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import cn.ibizlab.core.notify.domain.MsgTemplate; import cn.ibizlab.core.notify.domain.MsgTemplate;
import cn.ibizlab.core.notify.filter.MsgTemplateSearchContext; import cn.ibizlab.core.notify.filter.MsgTemplateSearchContext;
......
...@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -7,7 +7,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import java.util.HashMap; import java.util.Map;
import org.apache.ibatis.annotations.Select; import org.apache.ibatis.annotations.Select;
import cn.ibizlab.core.notify.domain.MsgUserAccount; import cn.ibizlab.core.notify.domain.MsgUserAccount;
import cn.ibizlab.core.notify.filter.MsgUserAccountSearchContext; import cn.ibizlab.core.notify.filter.MsgUserAccountSearchContext;
......
...@@ -221,9 +221,6 @@ public class MsgBodyServiceImpl extends ServiceImpl<MsgBodyMapper, MsgBody> impl ...@@ -221,9 +221,6 @@ public class MsgBodyServiceImpl extends ServiceImpl<MsgBodyMapper, MsgBody> impl
public IMsgBodyService getProxyService() { public IMsgBodyService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -224,9 +224,6 @@ public class MsgOpenAccessServiceImpl extends ServiceImpl<MsgOpenAccessMapper, M ...@@ -224,9 +224,6 @@ public class MsgOpenAccessServiceImpl extends ServiceImpl<MsgOpenAccessMapper, M
public IMsgOpenAccessService getProxyService() { public IMsgOpenAccessService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -257,9 +257,6 @@ public class MsgTemplateServiceImpl extends ServiceImpl<MsgTemplateMapper, MsgTe ...@@ -257,9 +257,6 @@ public class MsgTemplateServiceImpl extends ServiceImpl<MsgTemplateMapper, MsgTe
public IMsgTemplateService getProxyService() { public IMsgTemplateService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -221,9 +221,6 @@ public class MsgUserAccountServiceImpl extends ServiceImpl<MsgUserAccountMapper, ...@@ -221,9 +221,6 @@ public class MsgUserAccountServiceImpl extends ServiceImpl<MsgUserAccountMapper,
public IMsgUserAccountService getProxyService() { public IMsgUserAccountService getProxyService() {
return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass()); return cn.ibizlab.util.security.SpringContextHolder.getBean(this.getClass());
} }
......
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
<!--输出实体[MSG_USER_ACCOUNT]数据结构 --> <!--输出实体[MSG_USER_ACCOUNT]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-msg_user_account-3-4"> <changeSet author="a_A_5d9d78509" id="tab-msg_user_account-5-4">
<createTable tableName="IBZUSERAUTH"> <createTable tableName="IBZUSERAUTH">
<column name="AUTHID" remarks="" type="VARCHAR(100)"> <column name="AUTHID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_MSG_USER_ACCOUNT_AUTHID"/> <constraints primaryKey="true" primaryKeyName="PK_MSG_USER_ACCOUNT_AUTHID"/>
......
...@@ -85,7 +85,6 @@ ...@@ -85,7 +85,6 @@
<oracle.version>19.8.0.0</oracle.version> <oracle.version>19.8.0.0</oracle.version>
<postgresql.version>42.2.6</postgresql.version> <postgresql.version>42.2.6</postgresql.version>
</properties> </properties>
<dependencyManagement> <dependencyManagement>
......
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: ibznotify-provider-api
labels:
app: ibznotify-provider-api
spec:
replicas: 1
selector:
matchLabels:
app: ibznotify-provider-api
template:
metadata:
labels:
app: ibznotify-provider-api
spec:
imagePullSecrets:
- name: aly-shanghai
containers:
- name: ibznotify-provider-api
image: registry.cn-shanghai.aliyuncs.com/ibizsys/ibznotify-provider-api:latest
imagePullPolicy: Always
ports:
- containerPort: 8081
volumeMounts:
- name: data
mountPath: /app/file
volumes:
- name: data
persistentVolumeClaim:
claimName: demo-date-pvc-nfs
---
apiVersion: v1
kind: Service
metadata:
name: ibznotify-provider-api
labels:
app: ibznotify-provider-api
spec:
type: NodePort
ports:
- name: http
port: 8081
targetPort: 8081
nodePort: 8081
protocol: TCP
selector:
app: ibznotify-provider-api
...@@ -48,5 +48,6 @@ public class MsgBodyResource { ...@@ -48,5 +48,6 @@ public class MsgBodyResource {
public MsgBodyMapping msgbodyMapping; public MsgBodyMapping msgbodyMapping;
} }
...@@ -110,8 +110,9 @@ public class MsgOpenAccessResource { ...@@ -110,8 +110,9 @@ public class MsgOpenAccessResource {
@ApiOperation(value = "获取接入开放平台草稿", tags = {"接入开放平台" }, notes = "获取接入开放平台草稿") @ApiOperation(value = "获取接入开放平台草稿", tags = {"接入开放平台" }, notes = "获取接入开放平台草稿")
@RequestMapping(method = RequestMethod.GET, value = "/msgopenaccesses/getdraft") @RequestMapping(method = RequestMethod.GET, value = "/msgopenaccesses/getdraft")
public ResponseEntity<MsgOpenAccessDTO> getDraft() { public ResponseEntity<MsgOpenAccessDTO> getDraft(MsgOpenAccessDTO dto) {
return ResponseEntity.status(HttpStatus.OK).body(msgopenaccessMapping.toDto(msgopenaccessService.getDraft(new MsgOpenAccess()))); MsgOpenAccess domain = msgopenaccessMapping.toDomain(dto);
return ResponseEntity.status(HttpStatus.OK).body(msgopenaccessMapping.toDto(msgopenaccessService.getDraft(domain)));
} }
@ApiOperation(value = "检查接入开放平台", tags = {"接入开放平台" }, notes = "检查接入开放平台") @ApiOperation(value = "检查接入开放平台", tags = {"接入开放平台" }, notes = "检查接入开放平台")
...@@ -158,5 +159,6 @@ public class MsgOpenAccessResource { ...@@ -158,5 +159,6 @@ public class MsgOpenAccessResource {
} }
} }
...@@ -110,8 +110,9 @@ public class MsgTemplateResource { ...@@ -110,8 +110,9 @@ public class MsgTemplateResource {
@ApiOperation(value = "获取消息模板草稿", tags = {"消息模板" }, notes = "获取消息模板草稿") @ApiOperation(value = "获取消息模板草稿", tags = {"消息模板" }, notes = "获取消息模板草稿")
@RequestMapping(method = RequestMethod.GET, value = "/msgtemplates/getdraft") @RequestMapping(method = RequestMethod.GET, value = "/msgtemplates/getdraft")
public ResponseEntity<MsgTemplateDTO> getDraft() { public ResponseEntity<MsgTemplateDTO> getDraft(MsgTemplateDTO dto) {
return ResponseEntity.status(HttpStatus.OK).body(msgtemplateMapping.toDto(msgtemplateService.getDraft(new MsgTemplate()))); MsgTemplate domain = msgtemplateMapping.toDomain(dto);
return ResponseEntity.status(HttpStatus.OK).body(msgtemplateMapping.toDto(msgtemplateService.getDraft(domain)));
} }
@ApiOperation(value = "检查消息模板", tags = {"消息模板" }, notes = "检查消息模板") @ApiOperation(value = "检查消息模板", tags = {"消息模板" }, notes = "检查消息模板")
...@@ -158,5 +159,6 @@ public class MsgTemplateResource { ...@@ -158,5 +159,6 @@ public class MsgTemplateResource {
} }
} }
...@@ -110,8 +110,9 @@ public class MsgUserAccountResource { ...@@ -110,8 +110,9 @@ public class MsgUserAccountResource {
@ApiOperation(value = "获取绑定消息账号草稿", tags = {"绑定消息账号" }, notes = "获取绑定消息账号草稿") @ApiOperation(value = "获取绑定消息账号草稿", tags = {"绑定消息账号" }, notes = "获取绑定消息账号草稿")
@RequestMapping(method = RequestMethod.GET, value = "/msguseraccounts/getdraft") @RequestMapping(method = RequestMethod.GET, value = "/msguseraccounts/getdraft")
public ResponseEntity<MsgUserAccountDTO> getDraft() { public ResponseEntity<MsgUserAccountDTO> getDraft(MsgUserAccountDTO dto) {
return ResponseEntity.status(HttpStatus.OK).body(msguseraccountMapping.toDto(msguseraccountService.getDraft(new MsgUserAccount()))); MsgUserAccount domain = msguseraccountMapping.toDomain(dto);
return ResponseEntity.status(HttpStatus.OK).body(msguseraccountMapping.toDto(msguseraccountService.getDraft(domain)));
} }
@ApiOperation(value = "检查绑定消息账号", tags = {"绑定消息账号" }, notes = "检查绑定消息账号") @ApiOperation(value = "检查绑定消息账号", tags = {"绑定消息账号" }, notes = "检查绑定消息账号")
...@@ -120,14 +121,12 @@ public class MsgUserAccountResource { ...@@ -120,14 +121,12 @@ public class MsgUserAccountResource {
return ResponseEntity.status(HttpStatus.OK).body(msguseraccountService.checkKey(msguseraccountMapping.toDomain(msguseraccountdto))); return ResponseEntity.status(HttpStatus.OK).body(msguseraccountService.checkKey(msguseraccountMapping.toDomain(msguseraccountdto)));
} }
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibznotify-MsgUserAccount-Save-all')")
@ApiOperation(value = "保存绑定消息账号", tags = {"绑定消息账号" }, notes = "保存绑定消息账号") @ApiOperation(value = "保存绑定消息账号", tags = {"绑定消息账号" }, notes = "保存绑定消息账号")
@RequestMapping(method = RequestMethod.POST, value = "/msguseraccounts/save") @RequestMapping(method = RequestMethod.POST, value = "/msguseraccounts/save")
public ResponseEntity<Boolean> save(@RequestBody MsgUserAccountDTO msguseraccountdto) { public ResponseEntity<Boolean> save(@RequestBody MsgUserAccountDTO msguseraccountdto) {
return ResponseEntity.status(HttpStatus.OK).body(msguseraccountService.save(msguseraccountMapping.toDomain(msguseraccountdto))); return ResponseEntity.status(HttpStatus.OK).body(msguseraccountService.save(msguseraccountMapping.toDomain(msguseraccountdto)));
} }
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibznotify-MsgUserAccount-Save-all')")
@ApiOperation(value = "批量保存绑定消息账号", tags = {"绑定消息账号" }, notes = "批量保存绑定消息账号") @ApiOperation(value = "批量保存绑定消息账号", tags = {"绑定消息账号" }, notes = "批量保存绑定消息账号")
@RequestMapping(method = RequestMethod.POST, value = "/msguseraccounts/savebatch") @RequestMapping(method = RequestMethod.POST, value = "/msguseraccounts/savebatch")
public ResponseEntity<Boolean> saveBatch(@RequestBody List<MsgUserAccountDTO> msguseraccountdtos) { public ResponseEntity<Boolean> saveBatch(@RequestBody List<MsgUserAccountDTO> msguseraccountdtos) {
...@@ -135,7 +134,6 @@ public class MsgUserAccountResource { ...@@ -135,7 +134,6 @@ public class MsgUserAccountResource {
return ResponseEntity.status(HttpStatus.OK).body(true); return ResponseEntity.status(HttpStatus.OK).body(true);
} }
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibznotify-MsgUserAccount-searchDefault-all')")
@ApiOperation(value = "获取DEFAULT", tags = {"绑定消息账号" } ,notes = "获取DEFAULT") @ApiOperation(value = "获取DEFAULT", tags = {"绑定消息账号" } ,notes = "获取DEFAULT")
@RequestMapping(method= RequestMethod.GET , value="/msguseraccounts/fetchdefault") @RequestMapping(method= RequestMethod.GET , value="/msguseraccounts/fetchdefault")
public ResponseEntity<List<MsgUserAccountDTO>> fetchDefault(MsgUserAccountSearchContext context) { public ResponseEntity<List<MsgUserAccountDTO>> fetchDefault(MsgUserAccountSearchContext context) {
...@@ -148,7 +146,6 @@ public class MsgUserAccountResource { ...@@ -148,7 +146,6 @@ public class MsgUserAccountResource {
.body(list); .body(list);
} }
@PreAuthorize("hasAnyAuthority('ROLE_SUPERADMIN','ibznotify-MsgUserAccount-searchDefault-all')")
@ApiOperation(value = "查询DEFAULT", tags = {"绑定消息账号" } ,notes = "查询DEFAULT") @ApiOperation(value = "查询DEFAULT", tags = {"绑定消息账号" } ,notes = "查询DEFAULT")
@RequestMapping(method= RequestMethod.POST , value="/msguseraccounts/searchdefault") @RequestMapping(method= RequestMethod.POST , value="/msguseraccounts/searchdefault")
public ResponseEntity<Page<MsgUserAccountDTO>> searchDefault(@RequestBody MsgUserAccountSearchContext context) { public ResponseEntity<Page<MsgUserAccountDTO>> searchDefault(@RequestBody MsgUserAccountSearchContext context) {
...@@ -158,5 +155,6 @@ public class MsgUserAccountResource { ...@@ -158,5 +155,6 @@ public class MsgUserAccountResource {
} }
} }
...@@ -124,6 +124,7 @@ public class RedisCacheConfig { ...@@ -124,6 +124,7 @@ public class RedisCacheConfig {
container.setConnectionFactory(redisConnectionFactory); container.setConnectionFactory(redisConnectionFactory);
container.addMessageListener(messageListener, RedisChannelTopic.REDIS_CACHE_DELETE_TOPIC.getChannelTopic()); container.addMessageListener(messageListener, RedisChannelTopic.REDIS_CACHE_DELETE_TOPIC.getChannelTopic());
container.addMessageListener(messageListener, RedisChannelTopic.REDIS_CACHE_CLEAR_TOPIC.getChannelTopic()); container.addMessageListener(messageListener, RedisChannelTopic.REDIS_CACHE_CLEAR_TOPIC.getChannelTopic());
container.addMessageListener(messageListener, RedisChannelTopic.REDIS_CACHE_DYNAMICMODEL_TOPIC.getChannelTopic());
return container; return container;
} }
} }
\ No newline at end of file
...@@ -8,6 +8,7 @@ import org.springframework.data.redis.core.RedisTemplate; ...@@ -8,6 +8,7 @@ import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.listener.adapter.MessageListenerAdapter; import org.springframework.data.redis.listener.adapter.MessageListenerAdapter;
import org.springframework.data.redis.serializer.RedisSerializer; import org.springframework.data.redis.serializer.RedisSerializer;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.util.ObjectUtils;
import java.util.Map; import java.util.Map;
import cn.ibizlab.util.cache.cache.LayeringCache; import cn.ibizlab.util.cache.cache.LayeringCache;
import cn.ibizlab.util.enums.RedisChannelTopic; import cn.ibizlab.util.enums.RedisChannelTopic;
...@@ -34,20 +35,25 @@ public class RedisMessageListener extends MessageListenerAdapter { ...@@ -34,20 +35,25 @@ public class RedisMessageListener extends MessageListenerAdapter {
if(result instanceof Map){ if(result instanceof Map){
map= (Map<String, Object>) result; map= (Map<String, Object>) result;
} }
if(StringUtils.isEmpty(map)|| (!map.containsKey("cacheName"))|| (!map.containsKey("key"))){ if(StringUtils.isEmpty(map)|| (!map.containsKey("cacheName"))){
log.debug("解析缓存数据失败,无法获取指定值!"); log.debug("解析缓存数据失败,无法获取指定值!");
return ; return ;
} }
log.debug("redis消息订阅者接收到频道【{}】发布的消息。消息内容:{}", channelTopic.getChannelTopicStr(), result.toString()); log.debug("redis消息订阅者接收到频道【{}】发布的消息。消息内容:{}", channelTopic.getChannelTopicStr(), result.toString());
String cacheName = (String) map.get("cacheName"); String cacheName = (String) map.get("cacheName");
Object key = map.get("key");
Cache cache = cacheManager.getCache(cacheName);// 根据缓存名称获取多级缓存 Cache cache = cacheManager.getCache(cacheName);// 根据缓存名称获取多级缓存
if (cache != null && cache instanceof LayeringCache) { // 判断缓存是否是多级缓存 if (cache != null && cache instanceof LayeringCache) { // 判断缓存是否是多级缓存
switch (channelTopic) { switch (channelTopic) {
case REDIS_CACHE_DELETE_TOPIC: // 获取一级缓存,并删除一级缓存数据 case REDIS_CACHE_DELETE_TOPIC: // 获取一级缓存,并删除一级缓存数据
((LayeringCache) cache).getFirstCache().evict(key); Object cacheKey = map.get("key");
((LayeringCache) cache).getSecondCache().evict(key); if(!ObjectUtils.isEmpty(cacheKey)){
log.debug("同步删除缓存{}数据,key:{},", cacheName, key.toString()); ((LayeringCache) cache).getFirstCache().evict(cacheKey);
((LayeringCache) cache).getSecondCache().evict(cacheKey);
log.debug("同步删除缓存{}数据,key:{},", cacheName, cacheKey.toString());
}
else{
log.debug("同步删除缓存失败,{}缓存键值为空!",cacheName);
}
break; break;
case REDIS_CACHE_CLEAR_TOPIC:// 获取一级缓存,并删除一级缓存数据 case REDIS_CACHE_CLEAR_TOPIC:// 获取一级缓存,并删除一级缓存数据
((LayeringCache) cache).getFirstCache().clear(); ((LayeringCache) cache).getFirstCache().clear();
......
...@@ -2,6 +2,8 @@ package cn.ibizlab.util.client; ...@@ -2,6 +2,8 @@ package cn.ibizlab.util.client;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@Component @Component
public class IBZLiteFallback implements IBZLiteFeignClient { public class IBZLiteFallback implements IBZLiteFeignClient {
...@@ -10,4 +12,5 @@ public class IBZLiteFallback implements IBZLiteFeignClient { ...@@ -10,4 +12,5 @@ public class IBZLiteFallback implements IBZLiteFeignClient {
public Boolean syncSysModel(JSONObject system) { public Boolean syncSysModel(JSONObject system) {
return null; return null;
} }
} }
...@@ -3,6 +3,8 @@ package cn.ibizlab.util.client; ...@@ -3,6 +3,8 @@ package cn.ibizlab.util.client;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
@FeignClient(value = "${ibiz.ref.service.lite:ibzlite-api}",contextId = "lite",fallback = IBZLiteFallback.class) @FeignClient(value = "${ibiz.ref.service.lite:ibzlite-api}",contextId = "lite",fallback = IBZLiteFallback.class)
public interface IBZLiteFeignClient public interface IBZLiteFeignClient
...@@ -14,4 +16,5 @@ public interface IBZLiteFeignClient ...@@ -14,4 +16,5 @@ public interface IBZLiteFeignClient
*/ */
@PostMapping("/lite/syncsysmodel") @PostMapping("/lite/syncsysmodel")
Boolean syncSysModel(@RequestBody JSONObject system); Boolean syncSysModel(@RequestBody JSONObject system);
} }
...@@ -6,7 +6,8 @@ import org.springframework.data.redis.listener.ChannelTopic; ...@@ -6,7 +6,8 @@ import org.springframework.data.redis.listener.ChannelTopic;
*/ */
public enum RedisChannelTopic { public enum RedisChannelTopic {
REDIS_CACHE_DELETE_TOPIC("redis:cache:delete:topic1", "删除redis缓存消息频道"), REDIS_CACHE_DELETE_TOPIC("redis:cache:delete:topic1", "删除redis缓存消息频道"),
REDIS_CACHE_CLEAR_TOPIC("redis:cache:clear:topic2", "清空redis缓存消息频道"); REDIS_CACHE_CLEAR_TOPIC("redis:cache:clear:topic2", "清空redis缓存消息频道"),
REDIS_CACHE_DYNAMICMODEL_TOPIC("redis:cache:dynamicmodel:topic3", "动态模型频道");
String channelTopic; String channelTopic;
String label; String label;
......
...@@ -293,7 +293,7 @@ public class AuthPermissionEvaluator implements PermissionEvaluator { ...@@ -293,7 +293,7 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
Map<String,String> permissionFiled=new HashMap<>(); Map<String,String> permissionFiled=new HashMap<>();
String orgField="orgid"; //组织属性 String orgField="orgid"; //组织属性
String orgDeptField="orgsecid"; //部门属性 String orgDeptField="orgsectorid"; //部门属性
String createManField="createman"; //创建人属性 String createManField="createman"; //创建人属性
DEFieldCacheMap.getFieldMap(entityBase.getClass().getName()); DEFieldCacheMap.getFieldMap(entityBase.getClass().getName());
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册