Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
22
议题
22
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7
提交
bdb5a1ee
提交
bdb5a1ee
编写于
12月 18, 2020
作者:
tony001
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev'
上级
4bf61eb9
e3a803c6
变更
13
显示空白字符变更
内嵌
并排
正在显示
13 个修改的文件
包含
92 行增加
和
37 行删除
+92
-37
CONTROL-BASE.vue.ftl
@CONTROL/列表/CONTROL-BASE.vue.ftl
+16
-2
CONTROL-BASE.vue.ftl
@CONTROL/数据视图/CONTROL-BASE.vue.ftl
+16
-14
CONTROL.less.ftl
@CONTROL/数据视图/CONTROL.less.ftl
+1
-1
CONTROL-BASE.vue.ftl
@CONTROL/看板视图/CONTROL-BASE.vue.ftl
+18
-10
CONTROL.less.ftl
@CONTROL/看板视图/CONTROL.less.ftl
+23
-3
LOGIC.vue.ftl
@LOGIC/@UIACTION/系统预置/sys/拷贝/LOGIC.vue.ftl
+1
-1
LOGIC.vue.ftl
@LOGIC/@UIACTION/系统预置/sys/查看/LOGIC.vue.ftl
+1
-1
LOGIC.vue.ftl
@LOGIC/@UIACTION/系统预置/sys/编辑/LOGIC.vue.ftl
+1
-1
LOGIC.vue.ftl
@LOGIC/@VIEWLOGIC/新建/LOGIC.vue.ftl
+2
-2
LOGIC.vue.ftl
@LOGIC/@VIEWLOGIC/编辑/LOGIC.vue.ftl
+2
-2
LIST_VIEW.vue.ftl
@VIEW/@MACRO/LIST_VIEW.vue.ftl
+7
-0
en-US-base.ts.ftl
APP/src/locale/lang/en-US-base.ts.ftl
+2
-0
zh-CN-base.ts.ftl
APP/src/locale/lang/zh-CN-base.ts.ftl
+2
-0
未找到文件。
@CONTROL/列表/CONTROL-BASE.vue.ftl
浏览文件 @
bdb5a1ee
<#ibizinclude>
../@MACRO/CONTROL/LANGBASE.vue.ftl
</#ibizinclude>
<#
<#
assign ListContent>
<#assign ListContent>
<div class="app-list-item-content">
<div class="item-icon">
<template v-if="item.srficon">
...
...
@@ -28,7 +28,7 @@
</#assign>
<template>
<#if ctrl.getBatchPSDEToolbar?? && ctrl.getBatchPSDEToolbar()??>
<div>
<div
style="overflow:auto;"
>
</#if>
<div :class="['app-list',<#if ctrl.getPSSysCss?? && ctrl.getPSSysCss()??><#assign singleCss = ctrl.getPSSysCss()>'${singleCss.getCssName()}',</#if>this.items.length > 0 ? '' : 'app-list-empty' ]">
<#if ctrl.render??>
...
...
@@ -519,6 +519,19 @@ import CodeListService from "@/codelist/codelist-service";
*/
public afterMounted () {
const loadMoreCallBack:any = this.throttle(this.loadMore,3000);
<#if ctrl.getBatchPSDEToolbar?? && ctrl.getBatchPSDEToolbar()??>
let listDom = this.$el.children[0];
listDom.addEventListener('scroll', ()=> {
if(this.$el.scrollHeight > this.$el.clientHeight) {
this.isScrollBar = true;
} else {
this.isScrollBar = false;
}
if( this.$el.scrollTop + this.$el.clientHeight >= this.$el.scrollHeight) {
loadMoreCallBack();
}
})
<#else>
this.$el.addEventListener('scroll', ()=> {
if(this.$el.scrollHeight > this.$el.clientHeight) {
this.isScrollBar = true;
...
...
@@ -529,6 +542,7 @@ import CodeListService from "@/codelist/codelist-service";
loadMoreCallBack();
}
})
</#if>
}
/**
...
...
@CONTROL/数据视图/CONTROL-BASE.vue.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -23,7 +23,7 @@
@clickSort="(val) => {sortClick(val);}">
</app-sort-bar>
</#if>
<row class="data-view-container" v-
if
="items.length > 0" :gutter="20" type="flex" justify="start" style="margin:0px;">
<row class="data-view-container" v-
show
="items.length > 0" :gutter="20" type="flex" justify="start" style="margin:0px;">
<#if ctrl.isEnableGroup?? && !ctrl.isEnableGroup()>
<a v-for="(item,index) in items" :key="index" :href = "item.starturl">
<i-col <#if ctrl.getCardColLG() gt 0> :lg="${ctrl.getCardColLG()?c}"</#if><#if ctrl.getCardColMD() gt 0> :md="${ctrl.getCardColMD()?c}"</#if><#if ctrl.getCardColSM() gt 0> :sm="${ctrl.getCardColSM()?c}"</#if><#if ctrl.getCardColXS() gt 0> :xs="${ctrl.getCardColXS()?c}"</#if> style="<#if ctrl.getCardHeight() gt 0>height: ${ctrl.getCardHeight()?c}<#else>min-height: 170</#if>px;<#if ctrl.getCardWidth() gt 0> width: ${ctrl.getCardWidth()?c}px;</#if>margin-bottom: 10px;">
...
...
@@ -103,19 +103,6 @@
</el-collapse-item>
</el-collapse>
</#if>
</row>
<div v-else class="app-data-empty">
{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}
<#if ctrl.getQuickPSDEToolbar?? && ctrl.getQuickPSDEToolbar()??>
<span class="quick-toolbar">
<#assign quickToolbar = ctrl.getQuickPSDEToolbar()/>
<@ibizindent blank=12>
${P.getCtrlCode(quickToolbar, 'CONTROL.html').code}
</@ibizindent>
</span>
</#if>
</div>
<el-backtop target=".content-container .app-data-view"></el-backtop>
<#if ctrl.getBatchPSDEToolbar?? && ctrl.getBatchPSDEToolbar()??>
<div class="drag-filed" @mousedown="down">
<row class='dataview-pagination'>
...
...
@@ -131,6 +118,19 @@
</row>
</div>
</#if>
</row>
<div v-show="items.length == 0" class="app-data-empty">
{{ $t('<#if langbase??>${langbase}.nodata</#if>') }}
<#if ctrl.getQuickPSDEToolbar?? && ctrl.getQuickPSDEToolbar()??>
<span class="quick-toolbar">
<#assign quickToolbar = ctrl.getQuickPSDEToolbar()/>
<@ibizindent blank=12>
${P.getCtrlCode(quickToolbar, 'CONTROL.html').code}
</@ibizindent>
</span>
</#if>
</div>
<el-backtop target=".content-container .app-data-view"></el-backtop>
</div>
</#if>
</template>
...
...
@@ -659,8 +659,10 @@ import CodeListService from "@/codelist/codelist-service";
*/
public afterMounted(){
this.$el.addEventListener('scroll', ()=> {
<#if ctrl.getBatchPSDEToolbar?? && ctrl.getBatchPSDEToolbar()??>
let el: any = this.$el.getElementsByClassName('dataview-pagination')[0];
el.style.top = 40 + this.$el.scrollTop + 'px';
</#if>
<#if ctrl.isEnablePagingBar()>
if( this.$el.scrollTop + this.$el.clientHeight >= this.$el.scrollHeight) {
this.loadMore();
...
...
@CONTROL/数据视图/CONTROL.less.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -10,7 +10,6 @@
height: 100%;
overflow-y: auto;
overflow-x: hidden;
position: relative;
// 排序栏样式
.bar-container{
padding: 6px 8px;
...
...
@@ -67,6 +66,7 @@
}
}
.data-view-container {
position: relative;
<#if hasSortBar>
height: calc(100% - 42px);
<#else>
...
...
@CONTROL/看板视图/CONTROL-BASE.vue.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -11,17 +11,24 @@ ${ctrl.render.code}
<#if ctrl.groupRender??>
${ctrl.groupRender.code}
<#else>
<div :key="index" class="dataview-group-folading-kanban">
<div class="dataview-group-icon">
<Icon :type="group.folding ? 'md-arrow-dropright' : 'md-arrow-dropleft'" size="25" @click="onClick(group,index)"/>
<draggable :key="index" :list="group.items" class="dragbar" ghostClass="dragitems" handle=".dataview-group-item" :group="{name: 'bar', put: group.folding ? false:true}" @change="onDragChange($event,group.value)">
<div v-show="!group.folding" :key="index" class="dataview-group-folading-kanban" @click="onClick(group,index)">
<div class="unfold-icon">
<i class="el-icon-s-unfold" :title="$t('app.kanban.unfold')"></i>
</div>
<div class="dataview-group-folding">
<span>{{getGroupText(group.value)}}({{group.items.length}})</span>
</div>
</div>
</draggable>
<div :key="group + index" class="dataview-group-content dataview-group-kanban" style="<#if ctrl.getGroupWidth() gt 0>width: ${ctrl.getGroupWidth()?c}px;<#else>flex-grow: 1;</#if>">
<div class="dataview-group-header<#if ctrl.getGroupPSSysCss()??> ${ctrl.getGroupPSSysCss().getCssName()}</#if>">
<div class="fold-icon" @click="onClick(group,index)">
<i class="el-icon-s-fold" :title="$t('app.kanban.fold')"></i>
</div>
<span>
{{ getGroupText(group.value) }}
</span>
<#if ctrl.getGroupPSUIActionGroup()??>
<Poptip trigger="hover" content="content" placement="bottom-end" style="float: right;">
<Icon type="md-more" />
...
...
@@ -46,7 +53,7 @@ ${ctrl.render.code}
</Poptip>
</#if>
</div>
<draggable :list="group.items" group="${ctrl.name}" class="dataview-group-items" @change="onDragChange($event, group.value)">
<draggable
v-show="group.folding"
:list="group.items" group="${ctrl.name}" class="dataview-group-items" @change="onDragChange($event, group.value)">
<div v-for="(item, i) in group.items" :key="i" :class="{'dataview-group-item': true, 'is-select': item.isselected}" @click="handleClick(item)" @dblclick="handleDblClick(item)">
<#if ctrl.getItemPSLayoutPanel()??>
<#assign panel = ctrl.getItemPSLayoutPanel()>
...
...
@@ -627,10 +634,12 @@ draggable,
}).catch((response: any) => {
if (response && response.status && response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data.message });
this.refresh();
return;
}
if (!response || !response.status || !response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
this.refresh();
return;
}
});
...
...
@@ -643,6 +652,7 @@ draggable,
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public async setGroups() {
let tempGroups: Array<any> = this.groups;
if(!this.isGroup || !this.groupField || Object.is(this.groupMode, 'NONE')) {
return;
}
...
...
@@ -650,10 +660,12 @@ draggable,
this.groups = [];
this.items.forEach(item => {
let group: any = this.groups.find((group: any) => Object.is(group.name, item[this.groupField]));
let state: any = tempGroups.filter((temp: any) => Object.is(item[this.groupField], temp.value))[0];
if(!group) {
this.groups.push({
name: item[this.groupField],
value: item[this.groupField],
folding: (state && !state.folding) ? state.folding : true,
items: this.getGroupItems(item[this.groupField])
})
}
...
...
@@ -665,9 +677,11 @@ draggable,
this.allCodeList = Util.deepCopy(codelistItems);
if(codelistItems && codelistItems.length >0) {
codelistItems.forEach((item: any) => {
let state: any = tempGroups.filter((temp: any) => Object.is(item.value, temp.value))[0];
this.groups.push({
name: item.value,
value: item.value,
folding: (state && !state.folding) ? state.folding : true,
items: this.getGroupItems(item.value)
})
})
...
...
@@ -767,12 +781,6 @@ draggable,
*/
public onClick(group: any,index: number){
group.folding = !group.folding;
let kanban: any = this.$el.getElementsByClassName('dataview-group-kanban')[index];
if(group.folding){
kanban.style.display="none";
}else{
kanban.style.display="block";
}
this.$forceUpdate();
}
...
...
@CONTROL/看板视图/CONTROL.less.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -10,8 +10,10 @@
width: 40px;
background-color: #d8d8d8;
color: #a5a5a5;
.dataview-group-icon{
padding: 6px 0;
display: none;
.unfold-icon {
padding: 3px 0;
font-size: 20px;
}
.dataview-group-folding{
height: calc(100% - 39px);
...
...
@@ -22,7 +24,6 @@
}
.dataview-group-content {
border: 1px solid #ddd;
border-left: 0;
flex-shrink: 0;
height: 100%;
display: flex;
...
...
@@ -30,8 +31,14 @@
.dataview-group-header {
height: 36px;
line-height: 36px;
position: relative;
border-bottom: 1px solid #ddd;
padding: 0 8px;
.fold-icon{
font-size: 20px;
color:#a5a5a5;
position: absolute;
}
.group-action {
.group-action-item:nth-child(1) + .group-action-item {
margin-top: 5px;
...
...
@@ -76,6 +83,19 @@
align-items: center;
justify-content: center;
}
.dragitems {
z-index: -1 !important;
margin: 0px !important;
border: none !important;
padding: 0px !important;
height: 0px !important;
.app-layoutpanel {
.app-layoutpanel-container {
padding: 0px !important;
}
}
}
}
<#ibizinclude>
../@MACRO/CSS/DEFAULT.less.ftl
...
...
@LOGIC/@UIACTION/系统预置/sys/拷贝/LOGIC.vue.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -40,7 +40,7 @@
}
if(!params) params = {};
Object.assign(params,{copymode:true});
_this.opendata([{ ...data }], params, $event, xData);
_this.opendata([{ ...data }],
args,
params, $event, xData);
} else {
Object.assign(this.viewparams,{copymode:true});
}
...
...
@LOGIC/@UIACTION/系统预置/sys/查看/LOGIC.vue.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -20,7 +20,7 @@
if (args.length > 0) {
Object.assign(data, { ${keyPSDEField}: args[0].${keyPSDEField} })
}
_this.opendata([{ ...data }], params, $event, xData);
_this.opendata([{ ...data }],
args,
params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
...
...
@LOGIC/@UIACTION/系统预置/sys/编辑/LOGIC.vue.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -20,7 +20,7 @@
if (args.length > 0) {
Object.assign(data, { ${keyPSDEField}: args[0].${keyPSDEField} })
}
_this.opendata([{ ...data }], params, $event, xData);
_this.opendata([{ ...data }],
args,
params, $event, xData);
} else {
_this.$Notice.error({ title: '错误', desc: 'opendata 视图处理逻辑不存在,请添加!' });
}
...
...
@LOGIC/@VIEWLOGIC/新建/LOGIC.vue.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -143,13 +143,13 @@
<#-- BEGIN:导航参数 -->
<#if curNewLogicRefView?? && curNewLogicRefView.getPSNavigateContexts?? && curNewLogicRefView.getPSNavigateContexts()??>
if(localContext && Object.keys(localContext).length >0){
let _context:any = this.$util.computedNavData(args[0],this.context,this.viewparams,localContext);
let _context:any = this.$util.computedNavData(
full
args[0],this.context,this.viewparams,localContext);
Object.assign(tempContext,_context);
}
</#if>
<#if curNewLogicRefView?? && curNewLogicRefView.getPSNavigateParams?? && curNewLogicRefView.getPSNavigateParams()??>
if(localViewParam && Object.keys(localViewParam).length >0){
let _param:any = this.$util.computedNavData(args[0],this.context,this.viewparams,localViewParam);
let _param:any = this.$util.computedNavData(
full
args[0],this.context,this.viewparams,localViewParam);
Object.assign(data,_param);
}
</#if>
...
...
@LOGIC/@VIEWLOGIC/编辑/LOGIC.vue.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -40,13 +40,13 @@
<#-- BEGIN:导航参数 -->
<#if curOPenLogicRefView?? && curOPenLogicRefView.getPSNavigateContexts?? && curOPenLogicRefView.getPSNavigateContexts()??>
if(localContext && Object.keys(localContext).length >0){
let _context:any = this.$util.computedNavData(args[0],this.context,this.viewparams,localContext);
let _context:any = this.$util.computedNavData(
full
args[0],this.context,this.viewparams,localContext);
Object.assign(tempContext,_context);
}
</#if>
<#if curOPenLogicRefView?? && curOPenLogicRefView.getPSNavigateParams?? && curOPenLogicRefView.getPSNavigateParams()??>
if(localViewParam && Object.keys(localViewParam).length >0){
let _param:any = this.$util.computedNavData(args[0],this.context,this.viewparams,localViewParam);
let _param:any = this.$util.computedNavData(
full
args[0],this.context,this.viewparams,localViewParam);
Object.assign(data,_param);
}
</#if>
...
...
@VIEW/@MACRO/LIST_VIEW.vue.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -93,6 +93,13 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/co
*/
public quickGroupModel:Array<any> = [];
/**
* 是否单选
*
* @memberof ${srfclassname('${view.name}')}Base
*/
public isSingleSelect:boolean = true;
/**
* 加载快速分组模型
*
...
...
APP/src/locale/lang/en-US-base.ts.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -190,6 +190,8 @@ function getAppLocale(){
},
delete1: "Confirm to delete ",
delete2: "the delete operation will be unrecoverable!",
fold: "fold",
unfold: "upfold",
},
dashBoard: {
handleClick: {
...
...
APP/src/locale/lang/zh-CN-base.ts.ftl
浏览文件 @
bdb5a1ee
...
...
@@ -189,6 +189,8 @@ function getAppLocale(){
},
delete1: "确认要删除 ",
delete2: "删除操作将不可恢复?",
fold: "折叠",
unfold: "展开",
},
dashBoard: {
handleClick: {
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录