Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-Mob-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-Mob-R7
提交
31cfadc6
提交
31cfadc6
编写于
11月 06, 2020
作者:
KK
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
地图基础逻辑
上级
e628bd48
变更
1
显示空白字符变更
内嵌
并排
正在显示
1 个修改的文件
包含
116 行增加
和
0 行删除
+116
-0
CONTROL-BASE.vue.ftl
@CONTROL/地图/CONTROL-BASE.vue.ftl
+116
-0
未找到文件。
@CONTROL/地图/CONTROL-BASE.vue.ftl
浏览文件 @
31cfadc6
...
...
@@ -21,6 +21,14 @@ import 'echarts/map/js/china.js'
return [];
}
/**
* 部件行为--fetch
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
@Prop() protected fetchAction!: string;
/**
* 获取单项树
*
...
...
@@ -31,6 +39,114 @@ import 'echarts/map/js/china.js'
return null;
}
/**
* vue生命周期created
*
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
public created() {
this.afterCreated();
}
/**
* 执行created后的逻辑
*
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
protected afterCreated(){
if (this.viewState) {
this.viewStateEvent = this.viewState.subscribe(({ tag, action, data }) => {
if (!Object.is(this.name, tag)) {
return;
}
if (Object.is(action, "load")) {
this.load(Object.assign(data, { page: this.pageNumber, size: this.pageSize }), "init");
}
if (Object.is(action, "search")) {
this.load(Object.assign(data, { page: this.pageNumber, size: this.pageSize }), "init");
}
if (Object.is(action, "quicksearch")) {
this.load(Object.assign({ query: data }, { page: this.pageNumber, size: this.pageSize }), "init");
}
if (Object.is(action, "refresh")) {
this.refresh();
}
});
}
if(AppCenterService && AppCenterService.getMessageCenter()){
this.appStateEvent = AppCenterService.getMessageCenter().subscribe(({ name, action, data }) =>{
if(!Object.is(name,"${ctrl.getPSAppDataEntity().getCodeName()}")){
return;
}
if(Object.is(action,'appRefresh')){
this.refresh();
}
})
}
<#if view.getViewType()?? && view.getViewType()=='DEMOBPICKUPMDVIEW'>
if (!this.isMutli) {
if (this.selectedData && this.selectedData.length > 0) {
this.radio = this.selectedData[0].srfkey;
}
} else {
if (this.selectedData && this.selectedData.length > 0) {
this.checkboxList = [];
this.selectedData.forEach((item: any) => {
this.checkboxList.push(item.srfkey);
})
}
}
</#if>
}
/**
* 数据加载
*
* @private
* @param {*} [data={}]
* @param {string} [type=""]
* @returns {Promise<any>}
* @memberof ${srfclassname('${ctrl.codeName}')}
*/
private async load(data: any = {}, type: string = "",isloadding = this.showBusyIndicator): Promise<any> {
if (!data.page) {
Object.assign(data, { page: this.pageNumber });
}
if (!data.size) {
Object.assign(data, { size: this.pageSize });
}
const parentdata: any = {};
this.$emit('beforeload', parentdata);
Object.assign(data, parentdata);
let tempViewParams:any = parentdata.viewparams?parentdata.viewparams:{};
Object.assign(tempViewParams,JSON.parse(JSON.stringify(this.viewparams)));
Object.assign(data,{viewparams:tempViewParams});
const response: any = await this.service.search(this.fetchAction, this.context, data, isloadding);
if (!response || response.status !== 200) {
this.$notify({ type: 'danger', message: response.error.message });
return response;
}
this.$emit('load', (response.data && response.data.records) ? response.data.records : []);
this.items = [];
this.items = response.data.records;
return response;
}
/**
* 刷新数据
*
* @returns {Promise<any>}
* @memberof ${srfclassname('${ctrl.name}')}
*/
public refresh(): Promise<any> {
return new Promise((resolve: any, reject: any) => {
this.load().then((res) => {
resolve(res);
}).catch((error: any) => {
reject(error);
})
})
}
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
</#ibizinclude>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录