Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-Mob-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-Mob-R7
提交
6673a09a
提交
6673a09a
编写于
11月 16, 2020
作者:
KK
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
多选逻辑移植
上级
70df02bf
变更
4
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
99 行增加
和
5 行删除
+99
-5
MOBPICUPVIEW.vue.ftl
@CONTROL/视图布局面板/@MACRO/MOBPICUPVIEW.vue.ftl
+9
-0
CONTROL-BASE.template.ftl
@CONTROL/选择视图面板/CONTROL-BASE.template.ftl
+6
-4
VIEW-BASE.vue.ftl
@VIEW/实体移动端多数据选择视图/VIEW-BASE.vue.ftl
+49
-0
VIEW-BASE.vue.ftl
@VIEW/实体移动端选择树视图(部件视图)/VIEW-BASE.vue.ftl
+35
-1
未找到文件。
@CONTROL/视图布局面板/@MACRO/MOBPICUPVIEW.vue.ftl
浏览文件 @
6673a09a
...
...
@@ -15,6 +15,15 @@ ${P.getCtrlCode('pickupviewpanel', 'CONTROL.html').code}
<#if view.getViewType()=="DEMOBMPICKUPVIEW">
<div class="mpicker_buttons">
<div class="${view.getViewType()?lower_case}_button">
<#-- 树多选视图单独ui -->
<#if view.getAllEmbeddedPSAppViews?? && view.getAllEmbeddedPSAppViews()?? && view.getAllEmbeddedPSAppViews().getViewType()=='DEMOBPICKUPTREEVIEW'>
<van-action-sheet :get-container="container" class="ibiz_sheet_tree" v-model="show" @click-overlay="onOverlayClick" >
<div class="header">
<div>已选择:{{viewSelections.length}}</div>
</div>
<app-select-tree-list :items="viewSelections" @item_delete="item_delete"></app-select-tree-list>
</van-action-sheet>
</#if>
<div class="selectedCount">已选择:{{viewSelections.length}}<ion-icon name="chevron-up-outline"></ion-icon></div>
<ion-button class="pick-btn" @click="onClickOk" :disabled="viewSelections.length === 0">{{$t('app.button.confirm')}}</ion-button>
</div>
...
...
@CONTROL/选择视图面板/CONTROL-BASE.template.ftl
浏览文件 @
6673a09a
...
...
@@ -2,17 +2,18 @@
<div class='pickupviewpanel <#if appde??>${appde.getCodeName()?lower_case}-${ctrl.name}</#if>'>
<component
v-if="inited && view.viewname && !Object.is(view.viewname, '')"
ref="pickupview"
viewDefaultUsage="includedView"
:is="view.viewname"
:_context="JSON.stringify(_context)"
:_viewparams="JSON.stringify(_viewparams)"
viewDefaultUsage="includedView"
:isSingleSelect="isSingleSelect"
:isShowButtons="isShowButtons"
:panelViewState="viewState"
:key="this.$util.createUUID()"
@viewdataschange="onViewDatasChange"
@viewdatasactivated="viewDatasActivated"
@viewload="onViewLoad"
ref="pickupview"
:key="this.$util.createUUID()">
@viewload="onViewLoad">
</component>
</div>
</template>
\ No newline at end of file
@VIEW/实体移动端多数据选择视图/VIEW-BASE.vue.ftl
浏览文件 @
6673a09a
...
...
@@ -78,6 +78,55 @@
}
}
<#-- 树多选视图单独逻辑 -->
<#if view.getAllEmbeddedPSAppViews?? && view.getAllEmbeddedPSAppViews()?? && view.getAllEmbeddedPSAppViews().getViewType()=='DEMOBPICKUPTREEVIEW'>
/**
* 已选择点击事件
*
* @memberof ${srfclassname('${view.name}')}
*/
public select_click() {
if(this.viewSelections.length == 0 ){
return
}
this.viewState.next({ tag: 'pickupviewpanel', action: 'refresh', data: this.viewSelections});
this.show = true
}
/**
* 显示状态
*
* @memberof ${srfclassname('${view.name}')}
*/
public show = false;
/**
* 收起已选择
*
* @memberof ${srfclassname('${view.name}')}
*/
public onOverlayClick() {
this.viewState.next({ tag: 'pickupviewpanel', action: 'refresh', data: this.viewSelections});
}
/**
* 删除
*
* @memberof ${srfclassname('${view.name}')}
*/
public item_delete(data:any) {
this.viewSelections.splice(this.viewSelections.findIndex((i: any) => i.srfkey === data.srfkey), 1)
this.pickupviewpanel_selectionchange(this.viewSelections);
Object.assign(this.viewparams,{selectedData:this.viewSelections})
}
get container(){
let ele = document.getElementsByClassName('${srffilepath2(view.getCodeName())}');
return ele && ele.length>0 ?ele[0]:null;
}
</#if>
<#ibizinclude>
../@MACRO/VIEW_BOTTOM-BASE.vue.ftl
</#ibizinclude>
...
...
@VIEW/实体移动端选择树视图(部件视图)/VIEW-BASE.vue.ftl
浏览文件 @
6673a09a
...
...
@@ -34,7 +34,41 @@
this.query = value;
this.viewState.next({tag:'mdctrl',action:'quicksearch',data: value});
}
/**
* 面板通知对象
*
* @type {Subject<ViewState>}
* @memberof ${srfclassname('${view.name}')}Base
*/
@Prop() protected panelViewState?: Subject<ViewState>;
/**
* 面板订阅对象
*
* @type {Subject<ViewState>}
* @memberof ${srfclassname('${view.name}')}Base
*/
public panelStateEvent :Subscription | undefined;
<#-- 附加生命周期内容 -->
<#assign created_block>
if (this.panelViewState) {
this.panelStateEvent = this.panelViewState.subscribe((res: any) => {
if (Object.is(res.tag, 'pickupviewpanel')) {
if (Object.is(res.action, 'refresh')) {
this.viewState.next({ tag: 'tree', action: 'refresh', data: res.data });
}
}
});
}
</#assign>
<#assign destroyed_block>
if (this.panelStateEvent) {
this.panelStateEvent.unsubscribe();
}
</#assign>
<#ibizinclude>
../@MACRO/VIEW_BOTTOM-BASE.vue.ftl
</#ibizinclude>
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录