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

zhouweidong@lab.ibiz5.com 发布系统代码

上级 e10f705b
export default { export default {
fields: {
id: "开放平台接入标识",
name: "开放平台",
open_type: "开放平台类型",
access_key: "AccessKey(AppId)",
secret_key: "SecretKey(AppSecret)",
region_id: "RegionId",
access_token: "管理账号token",
expires_time: "管理账号token过期时间",
},
views: { views: {
gridview: { gridview: {
caption: "接入开放平台", caption: "接入开放平台",
......
export default { export default {
fields: {
id: "开放平台接入标识",
name: "开放平台",
open_type: "开放平台类型",
access_key: "AccessKey(AppId)",
secret_key: "SecretKey(AppSecret)",
region_id: "RegionId",
access_token: "管理账号token",
expires_time: "管理账号token过期时间",
},
views: { views: {
gridview: { gridview: {
caption: "接入开放平台", caption: "接入开放平台",
......
export default { export default {
fields: {
tid: "模板标识",
template_name: "模板标题",
template_type: "模板类型",
content: "模板内容",
template_id: "模板标识",
template_url: "URL",
access_id: "开放平台接入标识",
access_name: "开放平台",
open_type: "开放平台类型",
},
views: { views: {
gridview: { gridview: {
caption: "消息模板", caption: "消息模板",
......
export default { export default {
fields: {
tid: "模板标识",
template_name: "模板标题",
template_type: "模板类型",
content: "模板内容",
template_id: "模板标识",
template_url: "URL",
access_id: "开放平台接入标识",
access_name: "开放平台",
open_type: "开放平台类型",
},
views: { views: {
gridview: { gridview: {
caption: "消息模板", caption: "消息模板",
......
...@@ -96,11 +96,11 @@ ...@@ -96,11 +96,11 @@
:autosave="false" :autosave="false"
:viewtag="viewtag" :viewtag="viewtag"
:showBusyIndicator="true" :showBusyIndicator="true"
updateAction="" updateAction="Update"
removeAction="" removeAction="Remove"
loaddraftAction="" loaddraftAction="GetDraft"
loadAction="" loadAction="Get"
createAction="" createAction="Create"
WFSubmitAction="" WFSubmitAction=""
WFStartAction="" WFStartAction=""
style='' style=''
...@@ -378,6 +378,7 @@ export default class ApiOpenAccessEditViewBase extends Vue { ...@@ -378,6 +378,7 @@ export default class ApiOpenAccessEditViewBase extends Vue {
form: this.$refs.form, form: this.$refs.form,
p2k: '0', p2k: '0',
keyPSDEField: 'apiopenaccess', keyPSDEField: 'apiopenaccess',
majorPSDEField: 'name',
isLoadDefault: true, isLoadDefault: true,
}); });
} }
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<div class='view-top-messages'> <div class='view-top-messages'>
</div> </div>
<div style='margin-bottom: 6px;'> <div style='margin-bottom: 6px;'>
<i-input v-show="!isExpandSearchForm" v-model="query" search enter-button @on-search="onSearch($event)" class='quick-search-input' style='max-width: 400px;' placeholder="" /> <i-input v-show="!isExpandSearchForm" v-model="query" search enter-button @on-search="onSearch($event)" class='quick-search-input' style='max-width: 400px;' placeholder="开放平台" />
<div class='pull-right'> <div class='pull-right'>
<div class='toolbar-container'> <div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
...@@ -101,8 +101,8 @@ ...@@ -101,8 +101,8 @@
:context="context" :context="context"
:showBusyIndicator="true" :showBusyIndicator="true"
v-show="isExpandSearchForm" v-show="isExpandSearchForm"
loaddraftAction="" loaddraftAction="FilterGetDraft"
loadAction="" loadAction="FilterGet"
name="searchform" name="searchform"
ref='searchform' ref='searchform'
...@@ -121,11 +121,11 @@ ...@@ -121,11 +121,11 @@
:gridRowActiveMode="gridRowActiveMode" :gridRowActiveMode="gridRowActiveMode"
@save="onSave" @save="onSave"
updateAction="" updateAction=""
removeAction="" removeAction="Remove"
loaddraftAction="" loaddraftAction=""
loadAction="" loadAction=""
createAction="" createAction=""
fetchAction="" fetchAction="FetchDefault"
:newdata="newdata" :newdata="newdata"
:opendata="opendata" :opendata="opendata"
name="grid" name="grid"
...@@ -412,6 +412,7 @@ export default class ApiOpenAccessGridViewBase extends Vue { ...@@ -412,6 +412,7 @@ export default class ApiOpenAccessGridViewBase extends Vue {
grid: this.$refs.grid, grid: this.$refs.grid,
searchform: this.$refs.searchform, searchform: this.$refs.searchform,
keyPSDEField: 'apiopenaccess', keyPSDEField: 'apiopenaccess',
majorPSDEField: 'name',
isLoadDefault: true, isLoadDefault: true,
}); });
} }
......
...@@ -9,8 +9,8 @@ ...@@ -9,8 +9,8 @@
:context="context" :context="context"
:showBusyIndicator="true" :showBusyIndicator="true"
v-show="isExpandSearchForm" v-show="isExpandSearchForm"
loaddraftAction="" loaddraftAction="FilterGetDraft"
loadAction="" loadAction="FilterGet"
name="searchform" name="searchform"
ref='searchform' ref='searchform'
...@@ -27,11 +27,11 @@ ...@@ -27,11 +27,11 @@
:selectedData="selectedData" :selectedData="selectedData"
:showBusyIndicator="true" :showBusyIndicator="true"
updateAction="" updateAction=""
removeAction="" removeAction="Remove"
loaddraftAction="" loaddraftAction=""
loadAction="" loadAction=""
createAction="" createAction=""
fetchAction="" fetchAction="FetchDefault"
name="grid" name="grid"
ref='grid' ref='grid'
@selectionchange="grid_selectionchange($event)" @selectionchange="grid_selectionchange($event)"
...@@ -268,6 +268,7 @@ export default class ApiOpenAccessPickupGridViewBase extends Vue { ...@@ -268,6 +268,7 @@ export default class ApiOpenAccessPickupGridViewBase extends Vue {
grid: this.$refs.grid, grid: this.$refs.grid,
searchform: this.$refs.searchform, searchform: this.$refs.searchform,
keyPSDEField: 'apiopenaccess', keyPSDEField: 'apiopenaccess',
majorPSDEField: 'name',
isLoadDefault: true, isLoadDefault: true,
}); });
} }
......
...@@ -261,6 +261,7 @@ export default class ApiOpenAccessPickupViewBase extends Vue { ...@@ -261,6 +261,7 @@ export default class ApiOpenAccessPickupViewBase extends Vue {
view: this, view: this,
pickupviewpanel: this.$refs.pickupviewpanel, pickupviewpanel: this.$refs.pickupviewpanel,
keyPSDEField: 'apiopenaccess', keyPSDEField: 'apiopenaccess',
majorPSDEField: 'name',
isLoadDefault: true, isLoadDefault: true,
}); });
} }
......
...@@ -96,11 +96,11 @@ ...@@ -96,11 +96,11 @@
:autosave="false" :autosave="false"
:viewtag="viewtag" :viewtag="viewtag"
:showBusyIndicator="true" :showBusyIndicator="true"
updateAction="" updateAction="Update"
removeAction="" removeAction="Remove"
loaddraftAction="" loaddraftAction="GetDraft"
loadAction="" loadAction="Get"
createAction="" createAction="Create"
WFSubmitAction="" WFSubmitAction=""
WFStartAction="" WFStartAction=""
style='' style=''
...@@ -378,6 +378,7 @@ export default class MsgTemplateEditViewBase extends Vue { ...@@ -378,6 +378,7 @@ export default class MsgTemplateEditViewBase extends Vue {
form: this.$refs.form, form: this.$refs.form,
p2k: '0', p2k: '0',
keyPSDEField: 'msgtemplate', keyPSDEField: 'msgtemplate',
majorPSDEField: 'template_name',
isLoadDefault: true, isLoadDefault: true,
}); });
} }
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<div class='view-top-messages'> <div class='view-top-messages'>
</div> </div>
<div style='margin-bottom: 6px;'> <div style='margin-bottom: 6px;'>
<i-input v-show="!isExpandSearchForm" v-model="query" search enter-button @on-search="onSearch($event)" class='quick-search-input' style='max-width: 400px;' placeholder="" /> <i-input v-show="!isExpandSearchForm" v-model="query" search enter-button @on-search="onSearch($event)" class='quick-search-input' style='max-width: 400px;' placeholder="模板标题" />
<div class='pull-right'> <div class='pull-right'>
<div class='toolbar-container'> <div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
...@@ -101,8 +101,8 @@ ...@@ -101,8 +101,8 @@
:context="context" :context="context"
:showBusyIndicator="true" :showBusyIndicator="true"
v-show="isExpandSearchForm" v-show="isExpandSearchForm"
loaddraftAction="" loaddraftAction="FilterGetDraft"
loadAction="" loadAction="FilterGet"
name="searchform" name="searchform"
ref='searchform' ref='searchform'
...@@ -121,11 +121,11 @@ ...@@ -121,11 +121,11 @@
:gridRowActiveMode="gridRowActiveMode" :gridRowActiveMode="gridRowActiveMode"
@save="onSave" @save="onSave"
updateAction="" updateAction=""
removeAction="" removeAction="Remove"
loaddraftAction="" loaddraftAction=""
loadAction="" loadAction=""
createAction="" createAction=""
fetchAction="" fetchAction="FetchDefault"
:newdata="newdata" :newdata="newdata"
:opendata="opendata" :opendata="opendata"
name="grid" name="grid"
...@@ -412,6 +412,7 @@ export default class MsgTemplateGridViewBase extends Vue { ...@@ -412,6 +412,7 @@ export default class MsgTemplateGridViewBase extends Vue {
grid: this.$refs.grid, grid: this.$refs.grid,
searchform: this.$refs.searchform, searchform: this.$refs.searchform,
keyPSDEField: 'msgtemplate', keyPSDEField: 'msgtemplate',
majorPSDEField: 'template_name',
isLoadDefault: true, isLoadDefault: true,
}); });
} }
......
!!!!模版产生代码错误:---- import { Http,Util } from '@/utils';
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? import EntityService from '../entity-service';
----
----
FTL stack trace ("~" means nesting-related): /**
- Failed at: ${item.getKeyPSAppDEField().getCodeNa... [in template "TEMPLCODE_zh_CN" at line 566, column 26] * 接入开放平台服务对象基类
---- *
\ No newline at end of file * @export
* @class ApiOpenAccessServiceBase
* @extends {EntityServie}
*/
export default class ApiOpenAccessServiceBase extends EntityService {
/**
* Creates an instance of ApiOpenAccessServiceBase.
*
* @param {*} [opts={}]
* @memberof ApiOpenAccessServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化基础数据
*
* @memberof ApiOpenAccessServiceBase
*/
public initBasicData(){
this.APPLYDEKEY ='apiopenaccess';
this.APPDEKEY = 'id';
this.APPDENAME = 'apiopenaccesses';
this.APPDETEXT = 'name';
this.APPNAME = 'web';
this.SYSTEMNAME = 'ibznotify';
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ApiOpenAccessServiceBase
*/
public async Select(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = Http.getInstance().get(`/apiopenaccesses/${context.apiopenaccess}/select`,isloading);
return res;
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ApiOpenAccessServiceBase
*/
public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
if(!data.srffrontuf || data.srffrontuf !== "1"){
data[this.APPDEKEY] = null;
}
if(data.srffrontuf){
delete data.srffrontuf;
}
let tempContext:any = JSON.parse(JSON.stringify(context));
let res:any = await Http.getInstance().post(`/apiopenaccesses`,data,isloading);
return res;
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ApiOpenAccessServiceBase
*/
public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/apiopenaccesses/${context.apiopenaccess}`,data,isloading);
return res;
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ApiOpenAccessServiceBase
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = Http.getInstance().delete(`/apiopenaccesses/${context.apiopenaccess}`,isloading);
return res;
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ApiOpenAccessServiceBase
*/
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/apiopenaccesses/${context.apiopenaccess}`,isloading);
return res;
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ApiOpenAccessServiceBase
*/
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/apiopenaccesses/getdraft`,isloading);
res.data.apiopenaccess = data.apiopenaccess;
return res;
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ApiOpenAccessServiceBase
*/
public async CheckKey(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = Http.getInstance().post(`/apiopenaccesses/${context.apiopenaccess}/checkkey`,data,isloading);
return res;
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ApiOpenAccessServiceBase
*/
public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/apiopenaccesses/${context.apiopenaccess}/save`,data,isloading);
return res;
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof ApiOpenAccessServiceBase
*/
public async FetchDefault(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let tempData:any = JSON.parse(JSON.stringify(data));
let res:any = Http.getInstance().get(`/apiopenaccesses/fetchdefault`,tempData,isloading);
return res;
}
}
\ No newline at end of file
!!!!模版产生代码错误:---- import { Http,Util } from '@/utils';
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? import EntityService from '../entity-service';
----
----
FTL stack trace ("~" means nesting-related): /**
- Failed at: ${item.getKeyPSAppDEField().getCodeNa... [in template "TEMPLCODE_zh_CN" at line 566, column 26] * 消息模板服务对象基类
---- *
\ No newline at end of file * @export
* @class MsgTemplateServiceBase
* @extends {EntityServie}
*/
export default class MsgTemplateServiceBase extends EntityService {
/**
* Creates an instance of MsgTemplateServiceBase.
*
* @param {*} [opts={}]
* @memberof MsgTemplateServiceBase
*/
constructor(opts: any = {}) {
super(opts);
}
/**
* 初始化基础数据
*
* @memberof MsgTemplateServiceBase
*/
public initBasicData(){
this.APPLYDEKEY ='msgtemplate';
this.APPDEKEY = 'tid';
this.APPDENAME = 'msgtemplates';
this.APPDETEXT = 'template_name';
this.APPNAME = 'web';
this.SYSTEMNAME = 'ibznotify';
}
// 实体接口
/**
* Select接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MsgTemplateServiceBase
*/
public async Select(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = Http.getInstance().get(`/msgtemplates/${context.msgtemplate}/select`,isloading);
return res;
}
/**
* Create接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MsgTemplateServiceBase
*/
public async Create(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
if(!data.srffrontuf || data.srffrontuf !== "1"){
data[this.APPDEKEY] = null;
}
if(data.srffrontuf){
delete data.srffrontuf;
}
let tempContext:any = JSON.parse(JSON.stringify(context));
let res:any = await Http.getInstance().post(`/msgtemplates`,data,isloading);
return res;
}
/**
* Update接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MsgTemplateServiceBase
*/
public async Update(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().put(`/msgtemplates/${context.msgtemplate}`,data,isloading);
return res;
}
/**
* Remove接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MsgTemplateServiceBase
*/
public async Remove(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = Http.getInstance().delete(`/msgtemplates/${context.msgtemplate}`,isloading);
return res;
}
/**
* Get接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MsgTemplateServiceBase
*/
public async Get(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/msgtemplates/${context.msgtemplate}`,isloading);
return res;
}
/**
* GetDraft接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MsgTemplateServiceBase
*/
public async GetDraft(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = await Http.getInstance().get(`/msgtemplates/getdraft`,isloading);
res.data.msgtemplate = data.msgtemplate;
return res;
}
/**
* CheckKey接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MsgTemplateServiceBase
*/
public async CheckKey(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let res:any = Http.getInstance().post(`/msgtemplates/${context.msgtemplate}/checkkey`,data,isloading);
return res;
}
/**
* Save接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MsgTemplateServiceBase
*/
public async Save(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let masterData:any = {};
Object.assign(data,masterData);
let res:any = await Http.getInstance().post(`/msgtemplates/${context.msgtemplate}/save`,data,isloading);
return res;
}
/**
* FetchDefault接口方法
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof MsgTemplateServiceBase
*/
public async FetchDefault(context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
let tempData:any = JSON.parse(JSON.stringify(data));
let res:any = Http.getInstance().get(`/msgtemplates/fetchdefault`,tempData,isloading);
return res;
}
}
\ No newline at end of file
...@@ -29,6 +29,7 @@ ...@@ -29,6 +29,7 @@
:localContext ='{ }' :localContext ='{ }'
:localParam ='{ }' :localParam ='{ }'
:disabled="detailsModel.n_open_type_eq.disabled" :disabled="detailsModel.n_open_type_eq.disabled"
valueType="string"
tag='OpenAccessType' tag='OpenAccessType'
codelistType='STATIC' codelistType='STATIC'
placeholder='请选择...' style=""> placeholder='请选择...' style="">
......
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
:localContext ='{ }' :localContext ='{ }'
:localParam ='{ }' :localParam ='{ }'
:disabled="detailsModel.open_type.disabled" :disabled="detailsModel.open_type.disabled"
valueType="string"
tag='OpenAccessType' tag='OpenAccessType'
codelistType='STATIC' codelistType='STATIC'
placeholder='请选择...' style=""> placeholder='请选择...' style="">
......
...@@ -90,6 +90,11 @@ export default class MainModel { ...@@ -90,6 +90,11 @@ export default class MainModel {
prop: 'id', prop: 'id',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{
name: 'apiopenaccess',
prop: 'id',
dataType: 'FONTKEY',
},
] ]
} }
......
!!!!模版产生代码错误:---- <template>
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? <div class='pickupviewpanel'>
---- <component
v-if="inited && view.viewname && !Object.is(view.viewname, '')"
---- :is="view.viewname"
FTL stack trace ("~" means nesting-related): class="viewcontainer3"
- Failed at: ${ctrl.getPSAppDataEntity().getMajorP... [in template "TEMPLCODE_zh_CN" at line 409, column 40] :viewdata="viewdata"
---- :viewparam="viewparam"
\ No newline at end of file :viewDefaultUsage="false"
:isSingleSelect="isSingleSelect"
:selectedData="selectedData"
:isShowButton="isShowButton"
@viewdataschange="onViewDatasChange"
@viewdatasactivated="viewDatasActivated"
@viewload="onViewLoad">
</component>
</div>
</template>
<script lang='tsx'>
import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-property-decorator';
import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service";
import ApiOpenAccessService from '@/service/api-open-access/api-open-access-service';
import PickupViewpickupviewpanelService from './pickup-viewpickupviewpanel-pickupviewpanel-service';
import ApiOpenAccessUIService from '@/uiservice/api-open-access/api-open-access-ui-service';
import PickupViewpickupviewpanelModel from './pickup-viewpickupviewpanel-pickupviewpanel-model';
@Component({
components: {
}
})
export default class PickupViewpickupviewpanelBase extends Vue implements ControlInterface {
/**
* 名称
*
* @type {string}
* @memberof PickupViewpickupviewpanelBase
*/
@Prop() public name?: string;
/**
* 视图通讯对象
*
* @type {Subject<ViewState>}
* @memberof PickupViewpickupviewpanelBase
*/
@Prop() public viewState!: Subject<ViewState>;
/**
* 应用上下文
*
* @type {*}
* @memberof PickupViewpickupviewpanelBase
*/
@Prop() public context: any;
/**
* 视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanelBase
*/
@Prop() public viewparams: any;
/**
* 视图状态事件
*
* @public
* @type {(Subscription | undefined)}
* @memberof PickupViewpickupviewpanelBase
*/
public viewStateEvent: Subscription | undefined;
/**
* 获取部件类型
*
* @returns {string}
* @memberof PickupViewpickupviewpanelBase
*/
public getControlType(): string {
return 'PICKUPVIEWPANEL'
}
/**
* 建构部件服务对象
*
* @type {PickupViewpickupviewpanelService}
* @memberof PickupViewpickupviewpanelBase
*/
public service: PickupViewpickupviewpanelService = new PickupViewpickupviewpanelService({ $store: this.$store });
/**
* 实体服务对象
*
* @type {ApiOpenAccessService}
* @memberof PickupViewpickupviewpanelBase
*/
public appEntityService: ApiOpenAccessService = new ApiOpenAccessService({ $store: this.$store });
/**
* 转化数据
*
* @param {any} args
* @memberof PickupViewpickupviewpanelBase
*/
public transformData(args: any) {
let _this: any = this;
if(_this.service && _this.service.handleRequestData instanceof Function && _this.service.handleRequestData('transform',_this.context,args)){
return _this.service.handleRequestData('transform',_this.context,args)['data'];
}
}
/**
* 关闭视图
*
* @param {any} args
* @memberof PickupViewpickupviewpanelBase
*/
public closeView(args: any): void {
let _this: any = this;
_this.$emit('closeview', [args]);
}
/**
* 计数器刷新
*
* @memberof PickupViewpickupviewpanelBase
*/
public counterRefresh(){
const _this:any =this;
if(_this.counterServiceArray && _this.counterServiceArray.length >0){
_this.counterServiceArray.forEach((item:any) =>{
if(item.refreshData && item.refreshData instanceof Function){
item.refreshData();
}
})
}
}
/**
* 选中数据字符串
*
* @type {string}
* @memberof PickupViewpickupviewpanelBase
*/
@Prop() public selectedData?: string;
/**
* 获取多项数据
*
* @returns {any[]}
* @memberof PickupViewpickupviewpanelBase
*/
public getDatas(): any[] {
return [];
}
/**
* 获取单项树
*
* @returns {*}
* @memberof PickupViewpickupviewpanelBase
*/
public getData(): any {
return {};
}
/**
* 视图名称
*
* @type {*}
* @memberof PickupViewpickupviewpanelBase
*/
public view: any = {
viewname: 'api-open-access-pickup-grid-view',
data: {},
}
/**
* 局部上下文
*
* @type {*}
* @memberof PickupViewpickupviewpanelBase
*/
public localContext: any = null;
/**
* 局部视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public localViewParam: any = null;
/**
* 视图数据
*
* @type {*}
* @memberof PickupViewpickupviewpanelBase
*/
public viewdata: string = JSON.stringify(this.context);
/**
* 视图参数
*
* @type {*}
* @memberof PickupViewpickupviewpanel
*/
public viewparam: string = JSON.stringify(this.viewparams);
/**
* 是否显示按钮
*
* @type {boolean}
* @memberof PickupViewpickupviewpanelBase
*/
@Prop({default: true}) public isShowButton!: boolean;
/**
* 是否单选
*
* @type {boolean}
* @memberof PickupViewpickupviewpanelBase
*/
@Prop() public isSingleSelect?: boolean;
/**
* 初始化完成
*
* @type {boolean}
* @memberof PickupViewpickupviewpanelBase
*/
public inited: boolean = false;
/**
* 视图数据变化
*
* @param {*} $event
* @memberof PickupViewpickupviewpanelBase
*/
public onViewDatasChange($event: any): void {
if($event.length>0){
$event.forEach((item:any,index:any) => {
let srfmajortext = item['name'];
if(srfmajortext){
Object.assign($event[index],{srfmajortext: srfmajortext});
}
});
}
this.$emit('selectionchange', $event);
}
/**
* 视图数据被激活
*
* @param {*} $event
* @memberof PickupViewpickupviewpanelBase
*/
public viewDatasActivated($event: any): void {
this.$emit('activated', $event);
}
/**
* 视图加载完成
*
* @param {*} $event
* @memberof PickupViewpickupviewpanelBase
*/
public onViewLoad($event: any): void {
this.$emit('load', $event);
}
/**
* vue 生命周期
*
* @memberof PickupViewpickupviewpanelBase
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof PickupViewpickupviewpanelBase
*/
public afterCreated(){
this.initNavParam();
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(tag, this.name)) {
return;
}
if (Object.is('load', action)) {
this.viewdata = JSON.stringify(this.context);
this.viewparam = JSON.stringify(Object.assign(data, this.viewparams));
this.inited = true;
}
});
}
}
/**
* 初始化导航参数
*
* @memberof PickupViewpickupviewpanelBase
*/
public initNavParam(){
if(this.localContext && Object.keys(this.localContext).length >0){
let _context:any = this.$util.computedNavData({},this.context,this.viewparams,this.localContext);
Object.assign(this.context,_context);
}
if(this.localViewParam && Object.keys(this.localViewParam).length >0){
let _param:any = this.$util.computedNavData({},this.context,this.viewparams,this.localViewParam);
Object.assign(this.viewparams,_param);
}
this.viewdata = JSON.stringify(this.context);
this.viewparam = JSON.stringify(this.viewparams);
}
/**
* vue 生命周期
*
* @memberof PickupViewpickupviewpanelBase
*/
public destroyed() {
this.afterDestroy();
}
/**
* 执行destroyed后的逻辑
*
* @memberof PickupViewpickupviewpanelBase
*/
public afterDestroy() {
if (this.viewStateEvent) {
this.viewStateEvent.unsubscribe();
}
}
}
</script>
<style lang='less'>
@import './pickup-viewpickupviewpanel-pickupviewpanel.less';
</style>
\ No newline at end of file
...@@ -14,6 +14,31 @@ export default class PickupViewpickupviewpanelModel { ...@@ -14,6 +14,31 @@ export default class PickupViewpickupviewpanelModel {
*/ */
public getDataItems(): any[] { public getDataItems(): any[] {
return [ return [
{
name: 'apiopenaccess',
prop: 'id',
},
{
name: 'name',
},
{
name: 'open_type',
},
{
name: 'access_key',
},
{
name: 'secret_key',
},
{
name: 'region_id',
},
{
name: 'access_token',
},
{
name: 'expires_time',
},
] ]
} }
......
...@@ -6,14 +6,28 @@ ...@@ -6,14 +6,28 @@
<row> <row>
<i-col v-show="detailsModel.n_accessname_eq.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }"> <i-col v-show="detailsModel.n_accessname_eq.visible" :style="{}" :sm="{ span: 24, offset: 0 }" :md="{ span: 12, offset: 0 }" :lg="{ span: 12, offset: 0 }" :xl="{ span: 12, offset: 0 }">
<app-form-item name='n_accessname_eq' :itemRules="this.rules.n_accessname_eq" class='' :caption="$t('entities.msgtemplate.default_searchform.details.n_accessname_eq')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_accessname_eq.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='n_accessname_eq' :itemRules="this.rules.n_accessname_eq" class='' :caption="$t('entities.msgtemplate.default_searchform.details.n_accessname_eq')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.n_accessname_eq.error" :isEmptyCaption="false" labelPos="LEFT">
!!!!模版产生代码错误:----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? <app-picker
---- :formState="formState"
:data="data"
:context="context"
:viewparams="viewparams"
:localContext ='{ }'
:localParam ='{ }'
:disabled="detailsModel.n_accessname_eq.disabled"
name='n_accessname_eq'
deMajorField='name'
deKeyField='apiopenaccess'
:service="service"
:acParams="{ serviceName: 'ApiOpenAccessService', interfaceName: 'FetchDefault'}"
valueitem='n_accessid_eq'
:value="data.n_accessname_eq"
editortype=""
:pickupView="{ viewname: 'api-open-access-pickup-view', title: $t('entities.apiopenaccess.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'apiopenaccesses', parameterName: 'apiopenaccess' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange">
</app-picker>
----
FTL stack trace ("~" means nesting-related):
- Failed at: ${editor.getPSAppDataEntity().getMajo... [in template "TEMPLCODE_zh_CN" at line 169, column 17]
----
</app-form-item> </app-form-item>
</i-col> </i-col>
......
...@@ -91,6 +91,9 @@ export default class DefaultService extends ControlService { ...@@ -91,6 +91,9 @@ export default class DefaultService extends ControlService {
public getItems(serviceName: string, interfaceName: string, context: any = {}, data: any, isloading?: boolean): Promise<any[]> { public getItems(serviceName: string, interfaceName: string, context: any = {}, data: any, isloading?: boolean): Promise<any[]> {
data.page = data.page ? data.page : 0; data.page = data.page ? data.page : 0;
data.size = data.size ? data.size : 1000; data.size = data.size ? data.size : 1000;
if (Object.is(serviceName, 'ApiOpenAccessService') && Object.is(interfaceName, 'FetchDefault')) {
return this.doItems(this.apiopenaccessService.FetchDefault(JSON.parse(JSON.stringify(context)),data, isloading), 'id', 'apiopenaccess');
}
return Promise.reject([]) return Promise.reject([])
} }
......
...@@ -8,21 +8,36 @@ ...@@ -8,21 +8,36 @@
<row> <row>
<i-col v-show="detailsModel.accessname.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.accessname.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='accessname' :itemRules="this.rules().accessname" class='' :caption="$t('entities.msgtemplate.main_form.details.accessname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.accessname.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='accessname' :itemRules="this.rules().accessname" class='' :caption="$t('entities.msgtemplate.main_form.details.accessname')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.accessname.error" :isEmptyCaption="false" labelPos="LEFT">
!!!!模版产生代码错误:----
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? <app-picker
---- :formState="formState"
:data="data"
---- :context="context"
FTL stack trace ("~" means nesting-related): :viewparams="viewparams"
- Failed at: ${editor.getPSAppDataEntity().getMajo... [in template "TEMPLCODE_zh_CN" at line 169, column 17] :localContext ='{ }'
---- :localParam ='{ }'
:disabled="detailsModel.accessname.disabled"
name='accessname'
deMajorField='name'
deKeyField='apiopenaccess'
:service="service"
:acParams="{ serviceName: 'ApiOpenAccessService', interfaceName: 'FetchDefault'}"
valueitem='accessid'
:value="data.accessname"
editortype=""
:pickupView="{ viewname: 'api-open-access-pickup-view', title: $t('entities.apiopenaccess.views.pickupview.title'), deResParameters: [], parameters: [{ pathName: 'apiopenaccesses', parameterName: 'apiopenaccess' }, { pathName: 'pickupview', parameterName: 'pickupview' } ], placement:'' }"
style=""
@formitemvaluechange="onFormItemValueChange">
</app-picker>
</app-form-item> </app-form-item>
</i-col> </i-col>
<i-col v-show="detailsModel.open_type.visible" :style="{}" :lg="{ span: 24, offset: 0 }"> <i-col v-show="detailsModel.open_type.visible" :style="{}" :lg="{ span: 24, offset: 0 }">
<app-form-item name='open_type' :itemRules="this.rules().open_type" class='' :caption="$t('entities.msgtemplate.main_form.details.open_type')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.open_type.error" :isEmptyCaption="false" labelPos="LEFT"> <app-form-item name='open_type' :itemRules="this.rules().open_type" class='' :caption="$t('entities.msgtemplate.main_form.details.open_type')" uiStyle="DEFAULT" :labelWidth="130" :isShowCaption="true" :error="detailsModel.open_type.error" :isEmptyCaption="false" labelPos="LEFT">
<app-span name='open_type' :value="data.open_type" tag='OpenAccessType' codelistType='STATIC' :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style=""> <app-span name='open_type' :value="data.open_type" dataType="PICKUPDATA" :precision="0"
tag='OpenAccessType' codelistType='STATIC' :data="data" :context="context" :viewparams="viewparams" :localContext ='{ }' :localParam ='{ }' style="">
</app-span> </app-span>
</app-form-item> </app-form-item>
......
...@@ -95,6 +95,11 @@ export default class MainModel { ...@@ -95,6 +95,11 @@ export default class MainModel {
prop: 'tid', prop: 'tid',
dataType: 'TEXT', dataType: 'TEXT',
}, },
{
name: 'msgtemplate',
prop: 'tid',
dataType: 'FONTKEY',
},
] ]
} }
......
!!!!模版产生代码错误:---- server:
Tip: If the failing expression is known to be legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? port: 8080
---- #Log配置
logging:
---- level:
FTL stack trace ("~" means nesting-related): cn.ibizlab: info
- Failed at: #assign sysApi = appDataEntity.getPSD... [in template "CODETEMPL_zh_CN" at line 37, column 9] #zuul网关路由设置
---- zuul:
\ No newline at end of file routes:
msg_template:
path: /msgtemplates/**
serviceId: ${ibiz.ref.service.ibznotify-api:ibznotify-api}
stripPrefix: false
api_open_access:
path: /apiopenaccesses/**
serviceId: ${ibiz.ref.service.ibznotify-api:ibznotify-api}
stripPrefix: false
loginv7:
path: /v7/login
serviceId: ${ibiz.ref.service.uaa:ibzuaa-api}
stripPrefix: false
changepwd:
path: /v7/changepwd
serviceId: ${ibiz.ref.service.uaa:ibzuaa-api}
stripPrefix: false
uaa:
path: /uaa/**
serviceId: ${ibiz.ref.service.uaa:ibzuaa-api}
stripPrefix: false
config:
path: /config/**
serviceId: ${ibiz.ref.service.uaa:ibzuaa-api}
stripPrefix: false
oucore:
path: /ibzorganizations/**
serviceId: ${ibiz.ref.service.ou:ibzou-api}
stripPrefix: false
sensitive-headers:
- Cookie,Set-Cookie,Authorization
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册