提交 98ffa213 编写于 作者: Shine-zwj's avatar Shine-zwj

update:更新多编辑视图面板

上级 ecfa7da4
...@@ -2,29 +2,34 @@ ...@@ -2,29 +2,34 @@
<#if ctrl.render??> <#if ctrl.render??>
${ctrl.render.code} ${ctrl.render.code}
<#else> <#else>
<div class='items multieditviewpanel<#if ctrl.getPSSysCss?? && ctrl.getPSSysCss()??><#assign singleCss = ctrl.getPSSysCss()> ${singleCss.getCssName()}</#if>'> <div class="app-multieditviewpanel<#if ctrl.getPSSysCss?? && ctrl.getPSSysCss()??><#assign singleCss = ctrl.getPSSysCss()> ${singleCss.getCssName()}</#if>">
<#if ctrl.getEmbeddedPSAppView()??> <#if ctrl.getEmbeddedPSAppView()??>
<div class="item" v-for="item in items" :key="item.id"> <card v-for="(item, index) in items" :key="item.id" :dis-hover="true" :class="{ 'app-multieditviewpanel-item': true, 'app-multieditviewpanel-item--collapse': item.collapseContent }">
<span class="multieditviewpanel-delete" @click="handleRemove(item)"><i class="el-icon-delete"></i></span> <span class='multieditviewpanel-item__caption' slot='title'>
<${srffilepath2(ctrl.getEmbeddedPSAppView().getCodeName())} <icon :type="item.collapseContent ? 'md-add' : 'md-remove'" class="collapse-icon" @click="clickCollapse(item)"/>
class="viewcontainer2" <span>{{ $t('<#if ctrl.getEmbeddedPSAppView().getPSAppDataEntity()??>entities.${ctrl.getEmbeddedPSAppView().getPSAppDataEntity().getCodeName()?lower_case}.views.${ctrl.getEmbeddedPSAppView().getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${ctrl.getEmbeddedPSAppView().getCodeName()?lower_case}.caption</#if>') }}</span>
:viewdata="JSON.stringify(item.viewdata)" </span>
:viewparam="JSON.stringify(item.viewparam)" <template slot="extra">
:viewDefaultUsage="false" <div class="multieditviewpanel-action">
:panelState="panelState" <i-button v-if="index == 0" type="primary" @click="handleAdd">
@viewdataschange="viewDataChange" {{ $t('app.local.add') + $t('<#if ctrl.getEmbeddedPSAppView().getPSAppDataEntity()??>entities.${ctrl.getEmbeddedPSAppView().getPSAppDataEntity().getCodeName()?lower_case}.views.${ctrl.getEmbeddedPSAppView().getPSDEViewCodeName()?lower_case}.caption<#else>app.views.${ctrl.getEmbeddedPSAppView().getCodeName()?lower_case}.caption</#if>') }}
@viewload="viewload" </i-button>
@viewdirty="viewdirty(item,$event)"> <icon v-if="item.srfuf == 1" class="remove-icon" type="md-remove-circle" @click="handleRemove(item)" />
</${srffilepath2(ctrl.getEmbeddedPSAppView().getCodeName())}> </div>
</div> </template>
<divider /> <${srffilepath2(ctrl.getEmbeddedPSAppView().getCodeName())}
</#if> class="viewcontainer2"
<div class="multieditviewpanel-button"> :viewdata="JSON.stringify(item.viewdata)"
<i-button type="primary" @click="handleAdd"> :viewparam="JSON.stringify(item.viewparam)"
{{ $t('app.local.add')}} :viewDefaultUsage="false"
</i-button> :panelState="panelState"
@viewdataschange="viewDataChange"
@viewload="viewload"
@viewdirty="viewdirty(item,$event)">
</${srffilepath2(ctrl.getEmbeddedPSAppView().getCodeName())}>
</card>
</#if>
</div> </div>
</div>
</#if> </#if>
</template> </template>
// 基于 @CONTROL/多编辑视图面板/CONTROL-BASE.vue.ftl 生成 // 基于 @CONTROL/多编辑视图面板/CONTROL-BASE.vue.ftl 生成
...@@ -275,6 +280,16 @@ ...@@ -275,6 +280,16 @@
</#if> </#if>
} }
/**
* 点击折叠
*
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public clickCollapse(item: any): void {
item.collapseContent = !item.collapseContent;
this.$forceUpdate();
}
/** /**
* 保存数据 * 保存数据
* *
...@@ -301,7 +316,7 @@ ...@@ -301,7 +316,7 @@
const [{ pathName, parameterName }] = this.parameters; const [{ pathName, parameterName }] = this.parameters;
datas.forEach((arg: any) => { datas.forEach((arg: any) => {
let id: string = arg[parameterName] ? arg[parameterName] : this.$util.createUUID(); let id: string = arg[parameterName] ? arg[parameterName] : this.$util.createUUID();
let item: any = { id: id, viewdata: {}, viewparam: {}, data: {} }; let item: any = { id: id, viewdata: {}, viewparam: {}, data: {}, collapseContent: false, srfuf: arg.srfuf };
Object.assign(item.viewdata, this.$viewTool.getIndexViewParam()); Object.assign(item.viewdata, this.$viewTool.getIndexViewParam());
Object.assign(item.viewdata, this.context); Object.assign(item.viewdata, this.context);
Object.assign(item.data, arg); Object.assign(item.data, arg);
......
...@@ -2,28 +2,55 @@ ...@@ -2,28 +2,55 @@
<#ibizinclude> <#ibizinclude>
../@MACRO/CSS/DEFAULT.scss.ftl ../@MACRO/CSS/DEFAULT.scss.ftl
</#ibizinclude> </#ibizinclude>
.multieditviewpanel{ .app-multieditviewpanel {
width: 100%; display: flex;
height: 100%; flex-direction: column;
overflow: auto;
.item{ .app-multieditviewpanel-item {
position: relative; margin: 10px 0;
.multieditviewpanel-delete{
position: absolute; .multieditviewpanel-item__caption {
right: 0; padding-left: 20px;
top: 0; }
z-index: 100;
font-size: 18px; .collapse-icon {
cursor: pointer; font-size: 20px;
margin-right: 20px;
}
>.ivu-card-extra {
right: 20px;
top: 10px;
.multieditviewpanel-action {
display: flex;
height: 34px;
align-items: center;
.remove-icon {
font-size: 20px;
margin-left: 20px;
}
}
}
>.ivu-card-body {
padding: 20px 5px 10px 5px;
>.viewcontainer2 {
padding: 0px !important;
}
}
&.app-multieditviewpanel-item--collapse {
>.ivu-card-head {
color: var(--app-color-gray-200);
border-bottom: none;
}
>.ivu-card-body {
display: none;
}
} }
}
}
.multieditviewpanel-button {
position: relative;
height: 40px;
button {
position: absolute;
bottom: 8px;
right: 2px;
} }
} }
\ No newline at end of file
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册