提交 45a6ddff 编写于 作者: tony001's avatar tony001

Merge branch 'dev'

上级 98d3c4a5
...@@ -3,7 +3,7 @@ import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-pr ...@@ -3,7 +3,7 @@ import { Vue, Component, Prop, Provide, Emit, Watch, Model,Inject } from 'vue-pr
import { CreateElement } from 'vue'; import { CreateElement } from 'vue';
import { Subject, Subscription } from 'rxjs'; import { Subject, Subscription } from 'rxjs';
import { ControlInterface } from '@/interface/control'; import { ControlInterface } from '@/interface/control';
import { UIActionTool,Util } from '@/utils'; import { UIActionTool,Util,ViewTool } from '@/utils';
import NavDataService from '@/service/app/navdata-service'; import NavDataService from '@/service/app/navdata-service';
import AppCenterService from "@service/app/app-center-service"; import AppCenterService from "@service/app/app-center-service";
<#if ctrl.getPSAppCounterRefs?? && ctrl.getPSAppCounterRefs()??> <#if ctrl.getPSAppCounterRefs?? && ctrl.getPSAppCounterRefs()??>
...@@ -18,17 +18,20 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/co ...@@ -18,17 +18,20 @@ import ${srfclassname('${appCounter.getCodeName()}')}CounterService from '@/co
import ${srfclassname('${appde.getCodeName()}')}Service from '@/service/${srffilepath2(appde.getCodeName())}/${srffilepath2(appde.getCodeName())}-service'; import ${srfclassname('${appde.getCodeName()}')}Service from '@/service/${srffilepath2(appde.getCodeName())}/${srffilepath2(appde.getCodeName())}-service';
</#if> </#if>
import ${srfclassname('${ctrl.codeName}')}Service from './${srffilepath2(ctrl.codeName)}-${ctrl.getControlType()?lower_case}-service'; import ${srfclassname('${ctrl.codeName}')}Service from './${srffilepath2(ctrl.codeName)}-${ctrl.getControlType()?lower_case}-service';
<#if ctrl.getPSUIActions?? && ctrl.getPSUIActions()??> <#if ctrl.getPSUIActions?? && ctrl.getPSUIActions()??>
<#list ctrl.getPSUIActions() as uiAction> <#list ctrl.getPSUIActions() as uiAction>
<#if uiAction.getPSAppDataEntity()??> <#if uiAction.getPSAppDataEntity()??>
<#assign curAppEntity = uiAction.getPSAppDataEntity()/> <#assign curAppEntity = uiAction.getPSAppDataEntity()/>
<#if !P.exists("importService", curAppEntity.getId(), "")> <#if !P.exists("importService", curAppEntity.getId(), "") >
import ${srfclassname('${curAppEntity.getCodeName()}')}UIService from '@/uiservice/${srffilepath2(curAppEntity.getCodeName())}/${srffilepath2(curAppEntity.getCodeName())}-ui-service'; import ${srfclassname('${curAppEntity.getCodeName()}')}UIService from '@/uiservice/${srffilepath2(curAppEntity.getCodeName())}/${srffilepath2(curAppEntity.getCodeName())}-ui-service';
<#if appde?? && (curAppEntity.getId() == appde.getId())><#assign hasAppDE = true /></#if>
</#if> </#if>
</#if> </#if>
</#list> </#list>
</#if> </#if>
<#if appde?? && !hasAppDE??>
import ${srfclassname('${appde.getCodeName()}')}UIService from '@/uiservice/${srffilepath2(appde.getCodeName())}/${srffilepath2(appde.getCodeName())}-ui-service';
</#if>
<#-- 语言资源入口 --> <#-- 语言资源入口 -->
<#ibizinclude> <#ibizinclude>
./LANGBASE.vue.ftl ./LANGBASE.vue.ftl
...@@ -188,6 +191,21 @@ ${P.getLogicCode(logic, "LOGIC.vue").code} ...@@ -188,6 +191,21 @@ ${P.getLogicCode(logic, "LOGIC.vue").code}
${P.getLogicCode(uiAction, "LOGIC.vue").code} ${P.getLogicCode(uiAction, "LOGIC.vue").code}
</#if> </#if>
</#list> </#list>
</#if>
<#if appde??>
/**
* 转化数据
*
* @param {any} args
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
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'];
}
}
</#if> </#if>
/** /**
......
...@@ -22,12 +22,16 @@ import ${srfclassname('${ctrl.codeName}')}Service from './${srffilepath2(ctrl.co ...@@ -22,12 +22,16 @@ import ${srfclassname('${ctrl.codeName}')}Service from './${srffilepath2(ctrl.co
<#list ctrl.getPSUIActions() as uiAction> <#list ctrl.getPSUIActions() as uiAction>
<#if uiAction.getPSAppDataEntity()??> <#if uiAction.getPSAppDataEntity()??>
<#assign curAppEntity = uiAction.getPSAppDataEntity()/> <#assign curAppEntity = uiAction.getPSAppDataEntity()/>
<#if !P.exists("importService", curAppEntity.getId(), "")> <#if !P.exists("importService", curAppEntity.getId(), "") >
import ${srfclassname('${curAppEntity.getCodeName()}')}UIService from '@/uiservice/${srffilepath2(curAppEntity.getCodeName())}/${srffilepath2(curAppEntity.getCodeName())}-ui-service'; import ${srfclassname('${curAppEntity.getCodeName()}')}UIService from '@/uiservice/${srffilepath2(curAppEntity.getCodeName())}/${srffilepath2(curAppEntity.getCodeName())}-ui-service';
<#if appde?? && (curAppEntity.getId() == appde.getId())><#assign hasAppDE = true /></#if>
</#if> </#if>
</#if> </#if>
</#list> </#list>
</#if> </#if>
<#if appde?? && !hasAppDE??>
import ${srfclassname('${appde.getCodeName()}')}UIService from '@/uiservice/${srffilepath2(appde.getCodeName())}/${srffilepath2(appde.getCodeName())}-ui-service';
</#if>
<#-- 语言资源入口 --> <#-- 语言资源入口 -->
<#ibizinclude> <#ibizinclude>
./LANGBASE.vue.ftl ./LANGBASE.vue.ftl
...@@ -135,6 +139,14 @@ export default class <#if ctrl.getPSAppDataEntity()??>${srfclassname('${ctrl.get ...@@ -135,6 +139,14 @@ export default class <#if ctrl.getPSAppDataEntity()??>${srfclassname('${ctrl.get
* @memberof ${srfclassname('${ctrl.codeName}')}Base * @memberof ${srfclassname('${ctrl.codeName}')}Base
*/ */
public appEntityService: ${srfclassname('${appde.getCodeName()}')}Service = new ${srfclassname('${appde.getCodeName()}')}Service({ $store: this.$store }); public appEntityService: ${srfclassname('${appde.getCodeName()}')}Service = new ${srfclassname('${appde.getCodeName()}')}Service({ $store: this.$store });
/**
* 界面UI服务对象
*
* @type {${srfclassname('${appde.getCodeName()}')}UIService}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public appUIService:${srfclassname('${appde.getCodeName()}')}UIService = new ${srfclassname('${appde.getCodeName()}')}UIService(this.$store);
</#if> </#if>
<#if ctrl.getPSControls?? && ctrl.getPSControls()??> <#if ctrl.getPSControls?? && ctrl.getPSControls()??>
<#list ctrl.getPSControls() as childCtrl> <#list ctrl.getPSControls() as childCtrl>
......
...@@ -156,15 +156,6 @@ import ${srfclassname('${_appde.getCodeName()}')}Service from '@/service/${srffi ...@@ -156,15 +156,6 @@ import ${srfclassname('${_appde.getCodeName()}')}Service from '@/service/${srffi
}); });
}); });
} }
<#assign has_keyfield = false />
<#list ctrl.getPSDEFormItems() as formitem>
<#if formitem.getPSAppDEField?? && formitem.getPSAppDEField()??>
<#if !formitem.isHidden() && formitem.getPSAppDEField().isKeyField()>
<#assign has_keyfield = true />
</#if>
</#if>
</#list>
/** /**
* 添加数据 * 添加数据
...@@ -179,9 +170,15 @@ import ${srfclassname('${_appde.getCodeName()}')}Service from '@/service/${srffi ...@@ -179,9 +170,15 @@ import ${srfclassname('${_appde.getCodeName()}')}Service from '@/service/${srffi
@Errorlog @Errorlog
public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data); const {data:Data,context:Context} = this.handleRequestData(action,context,data);
<#if has_keyfield> <#-- 手动修改数据主键的情况start -->
Object.assign(Data,{${appde.getKeyPSAppDEField().getCodeName()?lower_case}: data.${appde.getKeyPSAppDEField().getCodeName()?lower_case}, srffrontuf: '1'}); <#list ctrl.getPSDEFormItems() as formitem>
</#if> <#if formitem.getPSAppDEField?? && formitem.getPSAppDEField()??>
<#if !formitem.isHidden() && formitem.getPSAppDEField().isKeyField()>
Object.assign(Data,{${appde.getKeyPSAppDEField().getCodeName()?lower_case}: data.${formitem.getName()}, srffrontuf: '1'});
</#if>
</#if>
</#list>
<#-- 手动修改数据主键的情况end -->
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
let result: Promise<any>; let result: Promise<any>;
const _appEntityService: any = this.appEntityService; const _appEntityService: any = this.appEntityService;
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
</#if> </#if>
</div> </div>
<div v-else> <div v-else>
暂无数据 {{ $t('app.commonWords.noData') }}
</div> </div>
</div> </div>
</template> </template>
...@@ -327,7 +327,7 @@ ...@@ -327,7 +327,7 @@
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图列表fetchAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -353,7 +353,7 @@ ...@@ -353,7 +353,7 @@
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
if (response.errorMessage) { if (response.errorMessage) {
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
} }
return; return;
} }
...@@ -378,7 +378,7 @@ ...@@ -378,7 +378,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
}); });
} }
...@@ -391,7 +391,7 @@ ...@@ -391,7 +391,7 @@
*/ */
public async remove(datas: any[]): Promise<any> { public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图表格removeAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.list.notConfig.removeAction') as string) });
return; return;
} }
if (datas.length === 0) { if (datas.length === 0) {
...@@ -427,10 +427,10 @@ ...@@ -427,10 +427,10 @@
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: '', desc: '删除数据失败,' + response.info }); this.$Notice.error({ title: '', desc: (this.$t('app.commonWords.delDataFail') as string) + ',' + response.info });
return; return;
} else { } else {
this.$Notice.success({ title: '', desc: '删除成功!' }); this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.deleteSuccess') as string) });
} }
//删除items中已删除的项 //删除items中已删除的项
datas.forEach((data: any) => { datas.forEach((data: any) => {
...@@ -449,7 +449,7 @@ ...@@ -449,7 +449,7 @@
return; return;
} }
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
reject(response); reject(response);
return; return;
} }
...@@ -460,8 +460,8 @@ ...@@ -460,8 +460,8 @@
dataInfo = dataInfo.replace(/[null]/g, '').replace(/[undefined]/g, '').replace(/[ ]/g, ''); dataInfo = dataInfo.replace(/[null]/g, '').replace(/[undefined]/g, '').replace(/[ ]/g, '');
this.$Modal.confirm({ this.$Modal.confirm({
title: '警告', title: (this.$t('app.commonWords.warning') as string),
content: '确认要删除 ' + dataInfo + ',删除操作将不可恢复?', content: (this.$t('app.list.confirmDel') as string) + ' ' + dataInfo + ',' + (this.$t('app.list.notRecoverable') as string) ,
onOk: () => { onOk: () => {
removeData(); removeData();
}, },
...@@ -486,7 +486,7 @@ ...@@ -486,7 +486,7 @@
try { try {
if(Object.is(item.rowDataState, 'create')){ if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){ if(!this.createAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图列表createAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.list.notConfig.createAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator); let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
...@@ -494,7 +494,7 @@ ...@@ -494,7 +494,7 @@
} }
}else if(Object.is(item.rowDataState, 'update')){ }else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){ if(!this.updateAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图列表updateAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.warning') as string), desc: '${view.getName()}' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
<#if de??> <#if de??>
...@@ -514,10 +514,10 @@ ...@@ -514,10 +514,10 @@
this.$emit('save', successItems); this.$emit('save', successItems);
this.refresh(); this.refresh();
if(errorItems.length === 0){ if(errorItems.length === 0){
this.$Notice.success({ title: '', desc: '保存成功!' }); this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.saveSuccess') as string) });
}else{ }else{
errorItems.forEach((item:any,index:number)=>{ errorItems.forEach((item:any,index:number)=>{
this.$Notice.error({ title: '保存失败', desc: item.majorentityname+'保存失败!' }); this.$Notice.error({ title: (this.$t('app.commonWords.saveFailed') as string), desc: item.majorentityname+ (this.$t('app.commonWords.saveFailed') as string) + '!' });
console.error(errorMessage[index]); console.error(errorMessage[index]);
}); });
} }
......
...@@ -109,9 +109,9 @@ ...@@ -109,9 +109,9 @@
const _appEntityService: any = this.appEntityService; const _appEntityService: any = this.appEntityService;
let result: Promise<any>; let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) { if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Data,Context,isloading); result = _appEntityService[action](Context,Data,isloading);
}else{ }else{
result =_appEntityService.Update(Data,Context,isloading); result =_appEntityService.Update(Context,Data,isloading);
} }
result.then((response) => { result.then((response) => {
this.handleResponse(action, response); this.handleResponse(action, response);
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div slot='<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">left<#else>top</#if>'> <div slot='<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">left<#else>top</#if>'>
<#if ctrl.isShowTitleBar()> <#if ctrl.isShowTitleBar()>
<div class='list-exp-bar-header'> <div class='list-exp-bar-header'>
<#if ctrl.getTitle() == ''>列表导航栏<#else>${ctrl.getTitle()}</#if> <#if ctrl.getTitle() == ''>{{$t('app.listExpBar.title')}}<#else>${ctrl.getTitle()}</#if>
</div> </div>
</#if> </#if>
<div class="container-header"> <div class="container-header">
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div slot='<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">left<#else>top</#if>'> <div slot='<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">left<#else>top</#if>'>
<#if ctrl.isShowTitleBar()> <#if ctrl.isShowTitleBar()>
<div class='dataview-exp-bar-header'> <div class='dataview-exp-bar-header'>
<div><icon type='ios-home-outline'/><#if ctrl.getTitle() == ''>卡片视图导航栏<#else>${ctrl.getTitle()}</#if></div> <div><icon type='ios-home-outline'/><#if ctrl.getTitle() == ''>{{ $t('app.dataViewExpBar.title') }}<#else>${ctrl.getTitle()}</#if></div>
</div> </div>
</#if> </#if>
<div class="container-header"> <div class="container-header">
......
...@@ -32,9 +32,9 @@ ...@@ -32,9 +32,9 @@
</#if> </#if>
</i-content> </i-content>
<footer class="app-wizard-footer"> <footer class="app-wizard-footer">
<i-button :disabled="isDisabled('PREV')" @click="onClickPrev()" type="primary">上一步</i-button> <i-button :disabled="isDisabled('PREV')" @click="onClickPrev()" type="primary">{{$t('app.wizardPanel.back')}}</i-button>
<i-button :disabled="isDisabled('NEXT')" @click="onClickNext()" type="primary">下一步</i-button> <i-button :disabled="isDisabled('NEXT')" @click="onClickNext()" type="primary">{{$t('app.wizardPanel.next')}}</i-button>
<i-button :disabled="isDisabled('FINISH')" @click="onClickFinish()" type="primary">完成</i-button> <i-button :disabled="isDisabled('FINISH')" @click="onClickFinish()" type="primary">{{$t('app.wizardPanel.complete')}}</i-button>
</footer> </footer>
</layout> </layout>
</template> </template>
...@@ -229,7 +229,7 @@ ...@@ -229,7 +229,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
}); });
</#if> </#if>
} }
...@@ -266,7 +266,7 @@ ...@@ -266,7 +266,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
}); });
</#if> </#if>
} }
...@@ -354,7 +354,7 @@ ...@@ -354,7 +354,7 @@
this.curState = 'NEXT'; this.curState = 'NEXT';
this.wizardState.next({ tag: this.activeForm, action: 'save', data: this.formParam }); this.wizardState.next({ tag: this.activeForm, action: 'save', data: this.formParam });
} else { } else {
this.$Notice.error({ title: '错误', desc: '值规则校验异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
} }
} }
} }
...@@ -373,7 +373,7 @@ ...@@ -373,7 +373,7 @@
this.curState = 'FINISH'; this.curState = 'FINISH';
this.wizardState.next({ tag: this.activeForm, action: 'save', data: this.formParam }); this.wizardState.next({ tag: this.activeForm, action: 'save', data: this.formParam });
} else { } else {
this.$Notice.error({ title: '错误', desc: '值规则校验异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
} }
} }
} }
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
</div> </div>
<div> <div>
<i-button type="primary" @click="handleAdd" style="float: right;"> <i-button type="primary" @click="handleAdd" style="float: right;">
增加 {{ $t('app.local.add')}}
</i-button> </i-button>
</div> </div>
</div> </div>
...@@ -170,7 +170,8 @@ ...@@ -170,7 +170,8 @@
public count: number = 0; public count: number = 0;
<#-- BEGIN:参数处理 --> <#-- BEGIN:参数处理 -->
<#list ctrl.getAllRelatedPSAppViews() as dataview> <#if ctrl.getEmbeddedPSAppView()??>
<#assign dataview = ctrl.getEmbeddedPSAppView() />
<#if !dataview.isPSDEView()> <#if !dataview.isPSDEView()>
/** /**
...@@ -223,7 +224,7 @@ ...@@ -223,7 +224,7 @@
{ pathName: '${srfpluralize(appDataEntity.codeName)?lower_case}', parameterName: '${appDataEntity.getCodeName()?lower_case}' }, { pathName: '${srfpluralize(appDataEntity.codeName)?lower_case}', parameterName: '${appDataEntity.getCodeName()?lower_case}' },
]; ];
</#if> </#if>
</#list> </#if>
<#-- END:参数处理 --> <#-- END:参数处理 -->
/** /**
...@@ -341,7 +342,7 @@ ...@@ -341,7 +342,7 @@
*/ */
public load(data: any): void { public load(data: any): void {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图多编辑视图面板fetchAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.multiEditView.notConfig.fetchAction') as string) });
return; return;
} }
let arg: any = {}; let arg: any = {};
...@@ -351,7 +352,7 @@ ...@@ -351,7 +352,7 @@
promice.then((response: any) => { promice.then((response: any) => {
if (!response.status || response.status !== 200) { if (!response.status || response.status !== 200) {
if (response.errorMessage) { if (response.errorMessage) {
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
} }
return; return;
} }
...@@ -365,7 +366,7 @@ ...@@ -365,7 +366,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
}); });
} }
...@@ -376,14 +377,14 @@ ...@@ -376,14 +377,14 @@
*/ */
public handleAdd(){ public handleAdd(){
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图多编辑视图面板loaddraftAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.multiEditView.notConfig.loaddraftAction') as string) });
return; return;
} }
const promice: Promise<any> = this.service.loadDraft(this.loaddraftAction,JSON.parse(JSON.stringify(this.context)),{viewparams:this.viewparams}, this.showBusyIndicator); const promice: Promise<any> = this.service.loadDraft(this.loaddraftAction,JSON.parse(JSON.stringify(this.context)),{viewparams:this.viewparams}, this.showBusyIndicator);
promice.then((response: any) => { promice.then((response: any) => {
if (!response.status || response.status !== 200) { if (!response.status || response.status !== 200) {
if (response.errorMessage) { if (response.errorMessage) {
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
} }
return; return;
} }
...@@ -393,7 +394,7 @@ ...@@ -393,7 +394,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
}); });
} }
......
...@@ -13,12 +13,18 @@ ...@@ -13,12 +13,18 @@
<#if deuiaction.getUIActionTag() == 'ExportExcel'> <#if deuiaction.getUIActionTag() == 'ExportExcel'>
<app-export-excel :item="${ModelsName}.${item.name}" :caption="$t('${langbase}.${item.name}.caption')" @exportexcel="${ctrl.name}_click({ tag: '${item.name}' }, $event)"></app-export-excel> <app-export-excel :item="${ModelsName}.${item.name}" :caption="$t('${langbase}.${item.name}.caption')" @exportexcel="${ctrl.name}_click({ tag: '${item.name}' }, $event)"></app-export-excel>
<#else> <#else>
<@badge item> <#if item.getPSUIAction?? && item.getPSUIAction()?? && item.getPSUIAction().getPSAppCounter?? && item.getPSUIAction().getPSAppCounter()??>
<#assign uiaction = item.getPSUIAction() />
<#assign counter = uiaction.getPSAppCounter() />
<Badge type="primary" v-show="${ModelsName}.${item.name}.visabled" :count="${srfclassname('${counter.getCodeName()}')}counterservice.counterData.<#if uiaction.getCounterId()??>${uiaction.getCounterId()}</#if>">
</#if>
<i-button v-show="${ModelsName}.${item.name}.visabled" :disabled="${ModelsName}.${item.name}.disabled" class='<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' @click="${ctrl.name}_click({ tag: '${item.name}' }, $event)"> <i-button v-show="${ModelsName}.${item.name}.visabled" :disabled="${ModelsName}.${item.name}.disabled" class='<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' @click="${ctrl.name}_click({ tag: '${item.name}' }, $event)">
<#if item.isShowIcon()><i class='<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if></#if>'></i></#if> <#if item.isShowIcon()><i class='<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if></#if>'></i></#if>
<#if item.isShowCaption()><span class='caption'>{{<#if langbase??>$t('${langbase}.${item.name}.caption')<#else>'${item.getCaption()}'</#if>}}</span></#if> <#if item.isShowCaption()><span class='caption'>{{<#if langbase??>$t('${langbase}.${item.name}.caption')<#else>'${item.getCaption()}'</#if>}}</span></#if>
</i-button> </i-button>
</@badge> <#if item.getPSUIAction?? && item.getPSUIAction()?? && item.getPSUIAction().getPSAppCounter?? && item.getPSUIAction().getPSAppCounter()??>
</Badge>
</#if>
</#if> </#if>
<div slot='content'>{{<#if langbase??>$t('${langbase}.${item.name}.tip')<#else>'${item.getTooltip()}'</#if>}}</div> <div slot='content'>{{<#if langbase??>$t('${langbase}.${item.name}.tip')<#else>'${item.getTooltip()}'</#if>}}</div>
</tooltip> </tooltip>
...@@ -26,12 +32,18 @@ ...@@ -26,12 +32,18 @@
<#if deuiaction.getUIActionTag() == 'ExportExcel'> <#if deuiaction.getUIActionTag() == 'ExportExcel'>
<app-export-excel :item="${ModelsName}.${item.name}" :caption="$t('${langbase}.${item.name}.caption')" @exportexcel="${ctrl.name}_click({ tag: '${item.name}' }, $event)"></app-export-excel> <app-export-excel :item="${ModelsName}.${item.name}" :caption="$t('${langbase}.${item.name}.caption')" @exportexcel="${ctrl.name}_click({ tag: '${item.name}' }, $event)"></app-export-excel>
<#else> <#else>
<@badge item> <#if item.getPSUIAction?? && item.getPSUIAction()?? && item.getPSUIAction().getPSAppCounter?? && item.getPSUIAction().getPSAppCounter()??>
<#assign uiaction = item.getPSUIAction() />
<#assign counter = uiaction.getPSAppCounter() />
<Badge type="primary" v-show="${ModelsName}.${item.name}.visabled" :count="${srfclassname('${counter.getCodeName()}')}counterservice.counterData.<#if uiaction.getCounterId()??>${uiaction.getCounterId()}</#if>">
</#if>
<i-button v-show="${ModelsName}.${item.name}.visabled" :disabled="${ModelsName}.${item.name}.disabled" class='<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' @click="${ctrl.name}_click({ tag: '${item.name}' }, $event)"> <i-button v-show="${ModelsName}.${item.name}.visabled" :disabled="${ModelsName}.${item.name}.disabled" class='<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' @click="${ctrl.name}_click({ tag: '${item.name}' }, $event)">
<#if item.isShowIcon()><i class='<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if></#if>'></i></#if> <#if item.isShowIcon()><i class='<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)>${img.getCssClass()}</#if></#if>'></i></#if>
<#if item.isShowCaption()><span class='caption'>{{<#if langbase??>$t('${langbase}.${item.name}.caption')<#else>'${item.getCaption()}'</#if>}}</span></#if> <#if item.isShowCaption()><span class='caption'>{{<#if langbase??>$t('${langbase}.${item.name}.caption')<#else>'${item.getCaption()}'</#if>}}</span></#if>
</i-button> </i-button>
</@badge> <#if item.getPSUIAction?? && item.getPSUIAction()?? && item.getPSUIAction().getPSAppCounter?? && item.getPSUIAction().getPSAppCounter()??>
</Badge>
</#if>
</#if> </#if>
</#if> </#if>
<#assign deuiaction=item.getPSUIAction()> <#assign deuiaction=item.getPSUIAction()>
<#assign icon><#if item.getPSSysImage()??><#assign image = item.getPSSysImage()><#if image.getCssClass()??>, iconcls: '${image.getCssClass()}'</#if><#if image.getImagePath()??>, icon: '${image.getImagePath()}'</#if></#if></#assign> <#assign icon><#if item.getPSSysImage()??><#assign image = item.getPSSysImage()><#if image.getCssClass()??>, iconcls: '${image.getCssClass()}'</#if><#if image.getImagePath()??>, icon: '${image.getImagePath()}'</#if></#if></#assign>
<#if deuiaction.getUIActionTag() == 'ExportExcel'> <#if deuiaction.getUIActionTag() == 'ExportExcel'>
${item.getName()?lower_case}: { name: '${item.getName()?lower_case}', caption: '${item.caption}','isShowCaption':${item.isShowCaption()?c},'isShowIcon':${item.isShowIcon()?c}, tooltip: '${item.getTooltip()}'${icon}, disabled: false, type: '${item.getItemType()}', visabled: true, dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' }<#if view.hasPSControl("GRID")><#assign gridhandler = view.getPSControl("GRID").getPSAjaxControlHandler()>, MaxRowCount: <#if gridhandler?? && gridhandler.getPSDEDataExport()??>${gridhandler.getPSDEDataExport().getMaxRowCount()?c}<#elseif sys.getDEDataExportMaxRowCount() gt 0>${sys.getDEDataExportMaxRowCount()?c}<#else>10000</#if></#if>, class: '<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' }, ${item.getName()?lower_case}: { name: '${item.getName()?lower_case}', <#if item.isShowCaption()>caption: '${item.caption}',</#if> disabled: false, type: '${item.getItemType()}', visabled: true,noprivdisplaymode:<#if item.getNoPrivDisplayMode()??>${item.getNoPrivDisplayMode()}</#if>,dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' }<#if view.hasPSControl("GRID")><#assign gridhandler = view.getPSControl("GRID").getPSAjaxControlHandler()>, MaxRowCount: <#if gridhandler?? && gridhandler.getPSDEDataExport()??>${gridhandler.getPSDEDataExport().getMaxRowCount()?c}<#elseif sys.getDEDataExportMaxRowCount() gt 0>${sys.getDEDataExportMaxRowCount()?c}<#else>10000</#if></#if> },
<#elseif deuiaction.getUIActionTag() == 'ToggleRowEdit'> <#elseif deuiaction.getUIActionTag() == 'ToggleRowEdit'>
${item.getName()?lower_case}: { name: '${item.getName()?lower_case}', caption: '${item.caption}','isShowCaption':${item.isShowCaption()?c},'isShowIcon':${item.isShowIcon()?c}, tooltip: '${item.getTooltip()}'${icon}, disabled: false, type: '${item.getItemType()}', visabled: true, dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' }, class: '<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' }, ${item.getName()?lower_case}: { name: '${item.getName()?lower_case}', <#if item.isShowCaption()>caption: '${item.caption}', </#if>disabled: false, type: '${item.getItemType()}', visabled: true,noprivdisplaymode:<#if item.getNoPrivDisplayMode()??>${item.getNoPrivDisplayMode()}</#if>,dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' } },
<#else> <#else>
${item.getName()?lower_case}: { name: '${item.getName()?lower_case}', caption: '${item.caption}','isShowCaption':${item.isShowCaption()?c},'isShowIcon':${item.isShowIcon()?c}, tooltip: '${item.getTooltip()}'${icon}, disabled: false, type: '${item.getItemType()}', visabled: true, dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' }, class: '<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' }, ${item.getName()?lower_case}: { name: '${item.getName()?lower_case}', <#if item.isShowCaption()>caption: '${item.caption}', </#if>disabled: false, type: '${item.getItemType()}', visabled: true,noprivdisplaymode:<#if item.getNoPrivDisplayMode()??>${item.getNoPrivDisplayMode()}</#if>,dataaccaction: '<#if deuiaction.getDataAccessAction()??>${deuiaction.getDataAccessAction()}</#if>', uiaction: { tag: '${deuiaction.getUIActionTag()}', target: '${deuiaction.getActionTarget()}' } },
</#if> </#if>
\ No newline at end of file
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<template slot-scope="{ data }"> <template slot-scope="{ data }">
<#if ctrl.getPSSearchBarFilters()??> <#if ctrl.getPSSearchBarFilters()??>
<#list ctrl.getPSSearchBarFilters() as filter> <#list ctrl.getPSSearchBarFilters() as filter>
<template v-if="Object.is(data.field, '${filter.getName()}')"> <template v-if="Object.is(data.editor, '${filter.getName()}')">
${P.getEditorCode(filter, "EDITOR.vue").code} ${P.getEditorCode(filter, "EDITOR.vue").code}
</template> </template>
</#list> </#list>
...@@ -18,15 +18,30 @@ ...@@ -18,15 +18,30 @@
<i-input v-model="query" placeholder="<#if ctrl.getPSSearchBarQuickSearchs()??><#list ctrl.getPSSearchBarQuickSearchs() as search><#if search_index gt 0>,</#if><#if search.getPSDEField()??>${search.getPSDEField().getLogicName()}</#if></#list></#if>" style="<#if ctrl.getQuickSearchWidth() gt 0>width: ${ctrl.getQuickSearchWidth()?c}px;</#if>"></i-input> <i-input v-model="query" placeholder="<#if ctrl.getPSSearchBarQuickSearchs()??><#list ctrl.getPSSearchBarQuickSearchs() as search><#if search_index gt 0>,</#if><#if search.getPSDEField()??>${search.getPSDEField().getLogicName()}</#if></#list></#if>" style="<#if ctrl.getQuickSearchWidth() gt 0>width: ${ctrl.getQuickSearchWidth()?c}px;</#if>"></i-input>
</#if> --> </#if> -->
<div class="search-bar-action"> <div class="search-bar-action">
<i-button type="primary" @click="onSearch">搜索</i-button> <el-select size="small" v-if="historyItems.length > 0" v-model="selectItem" @change="onFilterChange">
<i-button @click="onReset">重置</i-button> <el-option v-for="item in historyItems" :key="item.value" :label="item.name" :value="item.value"></el-option>
<i-button @click="onSave"><i class="fa fa-floppy-o" aria-hidden="true"></i></i-button> </el-select>
<i-button type="primary" @click="onSearch">{{ $t('app.searchButton.search') }}</i-button>
<i-button @click="onReset">{{ $t('app.searchButton.reset') }}</i-button>
<Poptip ref="propip" trigger="hover" placement="top-end" :title="$t('app.searchForm.custom')" :width="250" @on-popper-show="openPoper">
<i-button><i class="fa fa-floppy-o" aria-hidden="true"></i></i-button>
<template slot="content">
<div>
<i-input v-model="saveItemName" :placeholder="$t('app.searchForm.title')"></i-input>
<div class="save-action">
<i-button @click="onCancel">{{ $t('app.commonWords.cancel') }}</i-button>
<i-button type="primary" @click="onOk">{{ $t('app.commonWords.save') }}</i-button>
</div>
</div>
</template>
</Poptip>
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<#assign import_block> <#assign import_block>
import FilterTree from '@components/filter-tree/filter-tree.vue'; import FilterTree from '@components/filter-tree/filter-tree.vue';
import moment from 'moment';
</#assign> </#assign>
<#assign component_block> <#assign component_block>
...@@ -68,6 +83,9 @@ FilterTree, ...@@ -68,6 +83,9 @@ FilterTree,
label: '<#if filter.getPSDEField()??>${filter.getPSDEField().getLogicName()}</#if>', label: '<#if filter.getPSDEField()??>${filter.getPSDEField().getLogicName()}</#if>',
name: '${filter.getName()}', name: '${filter.getName()}',
prop: '<#if filter.getPSDEField()??>${filter.getPSDEField().getCodeName()?lower_case}<#else>${filter.getName()}</#if>', prop: '<#if filter.getPSDEField()??>${filter.getPSDEField().getCodeName()?lower_case}<#else>${filter.getName()}</#if>',
<#if filter.getPSDEFSearchMode()??>
mode: '${filter.getPSDEFSearchMode().getValueOP()}',
</#if>
disabled: false disabled: false
}, },
</#list> </#list>
...@@ -106,6 +124,30 @@ FilterTree, ...@@ -106,6 +124,30 @@ FilterTree,
*/ */
public utilServiceName: string = "<#if app.getPSAppFilterStorageUtil?? && app.getPSAppFilterStorageUtil()??>${app.getPSAppFilterStorageUtil().getCodeName()?lower_case}</#if>"; public utilServiceName: string = "<#if app.getPSAppFilterStorageUtil?? && app.getPSAppFilterStorageUtil()??>${app.getPSAppFilterStorageUtil().getCodeName()?lower_case}</#if>";
/**
* 历史记录
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
protected historyItems: any[] = [];
/**
* 选中记录
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
protected selectItem: any = null;
/**
* 存储项名称
*
* @type {string}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
protected saveItemName: string = '';
/** /**
* 获取多项数据 * 获取多项数据
* *
...@@ -128,7 +170,8 @@ FilterTree, ...@@ -128,7 +170,8 @@ FilterTree,
Object.assign(data, { query: this.query }) Object.assign(data, { query: this.query })
} --> } -->
if(this.filterFields.length > 0) { if(this.filterFields.length > 0) {
Object.assign(data, { filter: this.getFilter() }) let filter: any = this.getFilter();
Object.assign(data, { filter: filter ? JSON.stringify(filter) : null })
} }
return data; return data;
} }
...@@ -145,6 +188,9 @@ FilterTree, ...@@ -145,6 +188,9 @@ FilterTree,
} }
let ands: any[] = this.transformAnd(this.filterItems); let ands: any[] = this.transformAnd(this.filterItems);
this.transformResult(ands, '$and'); this.transformResult(ands, '$and');
if(ands.length === 0) {
return null;
}
return { '$and': ands }; return { '$and': ands };
} }
...@@ -184,9 +230,9 @@ FilterTree, ...@@ -184,9 +230,9 @@ FilterTree,
datas.forEach((data: any) => { datas.forEach((data: any) => {
let item: any = {}; let item: any = {};
if(data.field && data.mode) { if(data.field && data.mode) {
let field: any = this.detailsModel[data.field]; item[data.field] = {};
item[field.prop] = {}; let valField: string = data.editor ? data.editor : data.field;
item[field.prop][data.mode] = (data[data.field] == null ? '' : data[data.field]); item[data.field][data.mode] = (data[valField] == null ? '' : data[valField]);
result.push(item) result.push(item)
} else if(Object.is(data.label, '$and')) { } else if(Object.is(data.label, '$and')) {
let items: any[] = this.transformAnd(data.children); let items: any[] = this.transformAnd(data.children);
...@@ -210,9 +256,9 @@ FilterTree, ...@@ -210,9 +256,9 @@ FilterTree,
datas.forEach((data: any) => { datas.forEach((data: any) => {
let item: any = {}; let item: any = {};
if(data.field && data.mode) { if(data.field && data.mode) {
let field: any = this.detailsModel[data.field]; item[data.field] = {};
item[field.prop] = {}; let valField: string = data.editor ? data.editor : data.field;
item[field.prop][data.mode] = (data[data.field] == null ? '' : data[data.field]); item[data.field][data.mode] = (data[valField] == null ? '' : data[valField]);
result.push(item); result.push(item);
} else if(Object.is(data.label, '$and')) { } else if(Object.is(data.label, '$and')) {
item[data.label] = this.transformAnd(data.children); item[data.label] = this.transformAnd(data.children);
...@@ -266,10 +312,18 @@ FilterTree, ...@@ -266,10 +312,18 @@ FilterTree,
* @return {*} * @return {*}
* @memberof ${srfclassname('${ctrl.codeName}')}Base * @memberof ${srfclassname('${ctrl.codeName}')}Base
*/ */
public onSave() { public onSave(name?: string) {
let time = moment();
this.historyItems.push({
name: (name ? name : time.format('YYYY-MM-DD HH:mm:ss')),
value: time.unix().toString(),
data: JSON.parse(JSON.stringify(this.filterItems))
})
this.selectItem = time.unix().toString();
let param: any = {}; let param: any = {};
Object.assign(param, { Object.assign(param, {
model: this.filterItems, model: JSON.parse(JSON.stringify(this.historyItems)),
appdeName: this.appdeName, appdeName: this.appdeName,
modelid: this.modelId, modelid: this.modelId,
utilServiceName: this.utilServiceName, utilServiceName: this.utilServiceName,
...@@ -311,15 +365,59 @@ FilterTree, ...@@ -311,15 +365,59 @@ FilterTree,
let post = this.service.loadModel(this.utilServiceName, this.context, param); let post = this.service.loadModel(this.utilServiceName, this.context, param);
post.then((response: any) => { post.then((response: any) => {
if(response.status == 200) { if(response.status == 200) {
this.filterItems = response.data; this.historyItems = response.data;
this.$nextTick(() => {
this.onSearch();
})
} }
}).catch((response: any) => { }).catch((response: any) => {
console.log(response); console.log(response);
}); });
} }
/**
* 改变过滤条件
*
* @return {*}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public onFilterChange(evt: any) {
let item: any = this.historyItems.find((item: any) => Object.is(evt, item.value));
if(item) {
this.filterItems = JSON.parse(JSON.stringify(item.data));
}
}
/**
* 打开弹框
*
* @return {*}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public openPoper() {
this.saveItemName = '';
}
/**
* 确定
*
* @return {*}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public onOk() {
let propip: any = this.$refs.propip;
propip.handleMouseleave();
this.onSave(this.saveItemName);
}
/**
* 取消设置
*
* @return {*}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public onCancel() {
let propip: any = this.$refs.propip;
propip.handleMouseleave();
this.onSave();
}
<#ibizinclude> <#ibizinclude>
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl ../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
</#ibizinclude> </#ibizinclude>
......
...@@ -2,8 +2,17 @@ ...@@ -2,8 +2,17 @@
height: 32px; height: 32px;
.search-bar-action { .search-bar-action {
float: right; float: right;
> .ivu-btn { display: flex;
align-items: center;
> * {
margin-left: 5px; margin-left: 5px;
.save-action {
text-align: right;
margin-top: 10px;
> * {
margin-left: 5px;
}
}
} }
} }
} }
......
...@@ -467,7 +467,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -467,7 +467,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
if (value && value.startsWith('%') && value.endsWith('%')) { if (value && value.startsWith('%') && value.endsWith('%')) {
const key: string = value.substring(1, value.length - 1); const key: string = value.substring(1, value.length - 1);
if (!this.data.hasOwnProperty(key)) { if (!this.data.hasOwnProperty(key)) {
this.$Notice.error({ title: '错误', desc: `操作失败,未能找到当前表单项${r'${key}'},无法继续操作` }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: `<#noparse>${(this.$t('app.formpage.desc1') as string)}${r'${key}'},${(this.$t('app.formpage.desc2') as string)}</#noparse>` });
return false; return false;
} }
value = this.data[key]; value = this.data[key];
...@@ -609,7 +609,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -609,7 +609,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
*/ */
public load(opt: any = {}): void { public load(opt: any = {}): void {
if(!this.loadAction){ if(!this.loadAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图搜索表单loadAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.searchForm.notConfig.loadAction') as string) });
return; return;
} }
const arg: any = { ...opt }; const arg: any = { ...opt };
...@@ -629,7 +629,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -629,7 +629,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
return; return;
} }
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
return; return;
} }
...@@ -646,7 +646,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -646,7 +646,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
*/ */
public loadDraft(opt: any = {},mode?:string): void { public loadDraft(opt: any = {},mode?:string): void {
if(!this.loaddraftAction){ if(!this.loaddraftAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图搜索表单loaddraftAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.searchForm.notConfig.loaddraftAction') as string) });
return; return;
} }
const arg: any = { ...opt } ; const arg: any = { ...opt } ;
...@@ -655,7 +655,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -655,7 +655,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
post.then((response: any) => { post.then((response: any) => {
if (!response.status || response.status !== 200) { if (!response.status || response.status !== 200) {
if (response.errorMessage) { if (response.errorMessage) {
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
} }
return; return;
} }
...@@ -687,7 +687,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators'; ...@@ -687,7 +687,7 @@ import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
return; return;
} }
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
return; return;
} }
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<#if ctrl.render??><#t> <#if ctrl.render??><#t>
${ctrl.render.code} ${ctrl.render.code}
<#else><#t> <#else><#t>
<div v-if="isNoData" class="chart-no-data"><i class="el-icon-data-analysis"></i>暂无数据</div> <div v-if="isNoData" class="chart-no-data"><i class="el-icon-data-analysis"></i>{{$t('app.commonWords.noData')}}</div>
<div v-else class="app-charts" :id="chartId" style="<#if ctrl.getWidth() gt 0>width: ${ctrl.getWidth()};</#if>height: <#if ctrl.getHeight() gt 0>${ctrl.getHeight()}px<#else>100%</#if>;padding: 6px 0;"></div> <div v-else class="app-charts" :id="chartId" style="<#if ctrl.getWidth() gt 0>width: ${ctrl.getWidth()};</#if>height: <#if ctrl.getHeight() gt 0>${ctrl.getHeight()}px<#else>100%</#if>;padding: 6px 0;"></div>
</#if> </#if>
</div> </div>
...@@ -635,7 +635,7 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char ...@@ -635,7 +635,7 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char
} }
// 补全空白分类 // 补全空白分类
if(returnArray.length >0){ if(returnArray.length >0){
let emptyText = (groupFieldModel[0] && groupFieldModel[0].codeList)?groupFieldModel[0].codeList.emptytext:"未定义"; let emptyText = (groupFieldModel[0] && groupFieldModel[0].codeList)?groupFieldModel[0].codeList.emptytext:(this.$t('app.chart.undefined') as string);
returnArray.forEach((item:any) =>{ returnArray.forEach((item:any) =>{
if(!item[groupField[0]]){ if(!item[groupField[0]]){
item[groupField[0]] = emptyText; item[groupField[0]] = emptyText;
...@@ -701,11 +701,11 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char ...@@ -701,11 +701,11 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char
return Number(a[groupField[0].name]) - Number(b[groupField[0].name]); return Number(a[groupField[0].name]) - Number(b[groupField[0].name]);
}); });
}else if(Object.is(groupField[0].groupMode,"QUARTER")){ }else if(Object.is(groupField[0].groupMode,"QUARTER")){
returnArray = this.handleSortGroupData(arr,groupField,"季度"); returnArray = this.handleSortGroupData(arr,groupField,(this.$t('app.chart.quarter') as string));
}else if(Object.is(groupField[0].groupMode,"MONTH")){ }else if(Object.is(groupField[0].groupMode,"MONTH")){
returnArray = this.handleSortGroupData(arr,groupField,"月"); returnArray = this.handleSortGroupData(arr,groupField,(this.$t('app.calendar.month') as string));
}else if(Object.is(groupField[0].groupMode,"YEARWEEK")){ }else if(Object.is(groupField[0].groupMode,"YEARWEEK")){
returnArray = this.handleSortGroupData(arr,groupField,"周"); returnArray = this.handleSortGroupData(arr,groupField,(this.$t('app.calendar.week') as string));
}else if(Object.is(groupField[0].groupMode,"DAY")){ }else if(Object.is(groupField[0].groupMode,"DAY")){
returnArray = arr.sort((a:any, b:any) => { returnArray = arr.sort((a:any, b:any) => {
return moment(a[groupField[0].name]).unix() - moment(b[groupField[0].name]).unix(); return moment(a[groupField[0].name]).unix() - moment(b[groupField[0].name]).unix();
...@@ -743,7 +743,7 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char ...@@ -743,7 +743,7 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char
arr.forEach((item:any) =>{ arr.forEach((item:any) =>{
let sortFieldValue:Array<any> = item[groupField[0].name].split("-"); let sortFieldValue:Array<any> = item[groupField[0].name].split("-");
Object.assign(item,{sortField:Number(sortFieldValue[0])*10000+Number(sortFieldValue[1])}); Object.assign(item,{sortField:Number(sortFieldValue[0])*10000+Number(sortFieldValue[1])});
item[groupField[0].name] = sortFieldValue[0]+"年"+sortFieldValue[1]+label; item[groupField[0].name] = sortFieldValue[0]+(this.$t('app.chart.year') as string)+sortFieldValue[1]+label;
}) })
arr.sort((a:any, b:any) => { arr.sort((a:any, b:any) => {
return Number(a.sortField) - Number(b.sortField); return Number(a.sortField) - Number(b.sortField);
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<#if ctrl.render??><#t> <#if ctrl.render??><#t>
${ctrl.render.code} ${ctrl.render.code}
<#else><#t> <#else><#t>
<div v-if="isNoData" class="chart-no-data"><i class="el-icon-data-analysis"></i>暂无数据</div> <div v-if="isNoData" class="chart-no-data"><i class="el-icon-data-analysis"></i>{{$t('app.commonWords.noData')}}</div>
<div v-else class="app-charts" :id="chartId" style="<#if ctrl.getWidth() gt 0>width: ${ctrl.getWidth()};</#if>height: <#if ctrl.getHeight() gt 0>${ctrl.getHeight()}px<#else>100%</#if>;padding: 6px 0;"></div> <div v-else class="app-charts" :id="chartId" style="<#if ctrl.getWidth() gt 0>width: ${ctrl.getWidth()};</#if>height: <#if ctrl.getHeight() gt 0>${ctrl.getHeight()}px<#else>100%</#if>;padding: 6px 0;"></div>
</#if> </#if>
</div> </div>
...@@ -635,7 +635,7 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char ...@@ -635,7 +635,7 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char
} }
// 补全空白分类 // 补全空白分类
if(returnArray.length >0){ if(returnArray.length >0){
let emptyText = (groupFieldModel[0] && groupFieldModel[0].codeList)?groupFieldModel[0].codeList.emptytext:"未定义"; let emptyText = (groupFieldModel[0] && groupFieldModel[0].codeList)?groupFieldModel[0].codeList.emptytext:(this.$t('app.chart.undefined') as string);
returnArray.forEach((item:any) =>{ returnArray.forEach((item:any) =>{
if(!item[groupField[0]]){ if(!item[groupField[0]]){
item[groupField[0]] = emptyText; item[groupField[0]] = emptyText;
...@@ -701,11 +701,11 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char ...@@ -701,11 +701,11 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char
return Number(a[groupField[0].name]) - Number(b[groupField[0].name]); return Number(a[groupField[0].name]) - Number(b[groupField[0].name]);
}); });
}else if(Object.is(groupField[0].groupMode,"QUARTER")){ }else if(Object.is(groupField[0].groupMode,"QUARTER")){
returnArray = this.handleSortGroupData(arr,groupField,"季度"); returnArray = this.handleSortGroupData(arr,groupField,(this.$t('app.chart.quarter') as string));
}else if(Object.is(groupField[0].groupMode,"MONTH")){ }else if(Object.is(groupField[0].groupMode,"MONTH")){
returnArray = this.handleSortGroupData(arr,groupField,"月"); returnArray = this.handleSortGroupData(arr,groupField,(this.$t('app.calendar.month') as string));
}else if(Object.is(groupField[0].groupMode,"YEARWEEK")){ }else if(Object.is(groupField[0].groupMode,"YEARWEEK")){
returnArray = this.handleSortGroupData(arr,groupField,"周"); returnArray = this.handleSortGroupData(arr,groupField,(this.$t('app.calendar.week') as string));
}else if(Object.is(groupField[0].groupMode,"DAY")){ }else if(Object.is(groupField[0].groupMode,"DAY")){
returnArray = arr.sort((a:any, b:any) => { returnArray = arr.sort((a:any, b:any) => {
return moment(a[groupField[0].name]).unix() - moment(b[groupField[0].name]).unix(); return moment(a[groupField[0].name]).unix() - moment(b[groupField[0].name]).unix();
...@@ -743,7 +743,7 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char ...@@ -743,7 +743,7 @@ import { ChartDataSetField,ChartLineSeries,ChartFunnelSeries,ChartPieSeries,Char
arr.forEach((item:any) =>{ arr.forEach((item:any) =>{
let sortFieldValue:Array<any> = item[groupField[0].name].split("-"); let sortFieldValue:Array<any> = item[groupField[0].name].split("-");
Object.assign(item,{sortField:Number(sortFieldValue[0])*10000+Number(sortFieldValue[1])}); Object.assign(item,{sortField:Number(sortFieldValue[0])*10000+Number(sortFieldValue[1])});
item[groupField[0].name] = sortFieldValue[0]+"年"+sortFieldValue[1]+label; item[groupField[0].name] = sortFieldValue[0]+(this.$t('app.chart.year') as string)+sortFieldValue[1]+label;
}) })
arr.sort((a:any, b:any) => { arr.sort((a:any, b:any) => {
return Number(a.sortField) - Number(b.sortField); return Number(a.sortField) - Number(b.sortField);
......
...@@ -278,7 +278,7 @@ import UtilService from '@/utilservice/util-service'; ...@@ -278,7 +278,7 @@ import UtilService from '@/utilservice/util-service';
public handleClick(){ public handleClick(){
const view:any ={ const view:any ={
viewname: 'app-portal-design', viewname: 'app-portal-design',
title: '面板设计', title: (this.$t('app.dashBoard.handleClick.title')),
width: 1600, width: 1600,
placement: 'DRAWER_RIGHT' placement: 'DRAWER_RIGHT'
} }
......
...@@ -54,7 +54,7 @@ ...@@ -54,7 +54,7 @@
</i-col> </i-col>
</a> </a>
</row> </row>
<div v-else class="app-data-empty">暂无数据</div> <div v-else class="app-data-empty">{{ $t('app.commonWords.noData') }}</div>
</#if> </#if>
</div> </div>
</template> </template>
...@@ -410,7 +410,7 @@ ...@@ -410,7 +410,7 @@
*/ */
public load(opt: any = {}, isReset: boolean = false): void { public load(opt: any = {}, isReset: boolean = false): void {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图列表fetchAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.list.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -434,7 +434,7 @@ ...@@ -434,7 +434,7 @@
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
if (response.errorMessage) { if (response.errorMessage) {
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
} }
return; return;
} }
...@@ -463,7 +463,7 @@ ...@@ -463,7 +463,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
}); });
} }
...@@ -476,7 +476,7 @@ ...@@ -476,7 +476,7 @@
*/ */
public async remove(datas: any[]): Promise<any> { public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图表格removeAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.gridpage.notConfig.removeAction') as string) });
return; return;
} }
let _datas:any[] = []; let _datas:any[] = [];
...@@ -509,9 +509,9 @@ ...@@ -509,9 +509,9 @@
}); });
if (_datas.length < 5) { if (_datas.length < 5) {
dataInfo = dataInfo + ' 共' + _datas.length + '条数据'; dataInfo = dataInfo + ' ' + (this.$t('app.dataView.sum') as string) + _datas.length + (this.$t('app.dataView.data') as string);
} else { } else {
dataInfo = dataInfo + '...' + ' 共' + _datas.length + '条数据'; dataInfo = dataInfo + '...' + ' ' + (this.$t('app.dataView.sum') as string) + _datas.length + (this.$t('app.dataView.data') as string);
} }
const removeData = () => { const removeData = () => {
...@@ -525,10 +525,10 @@ ...@@ -525,10 +525,10 @@
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: '', desc: '删除数据失败,' + response.info }); this.$Notice.error({ title: '', desc: (this.$t('app.commonWords.delDataFail') as string) + ',' + response.info });
return; return;
} else { } else {
this.$Notice.success({ title: '', desc: '删除成功!' }); this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.deleteSuccess') as string) });
} }
//删除items中已删除的项 //删除items中已删除的项
_datas.forEach((data: any) => { _datas.forEach((data: any) => {
...@@ -547,7 +547,7 @@ ...@@ -547,7 +547,7 @@
return; return;
} }
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
reject(response); reject(response);
return; return;
} }
...@@ -558,8 +558,8 @@ ...@@ -558,8 +558,8 @@
dataInfo = dataInfo.replace(/[null]/g, '').replace(/[undefined]/g, '').replace(/[ ]/g, ''); dataInfo = dataInfo.replace(/[null]/g, '').replace(/[undefined]/g, '').replace(/[ ]/g, '');
this.$Modal.confirm({ this.$Modal.confirm({
title: '警告', title: (this.$t('app.commonWords.warning') as string),
content: '确认要删除 ' + dataInfo + ',删除操作将不可恢复?', content: (this.$t('app.gridpage.confirmDel') as string) + ' ' + dataInfo + ',' + (this.$t('app.gridpage.notRecoverable') as string),
onOk: () => { onOk: () => {
removeData(); removeData();
}, },
...@@ -585,7 +585,7 @@ ...@@ -585,7 +585,7 @@
try { try {
if(Object.is(item.rowDataState, 'create')){ if(Object.is(item.rowDataState, 'create')){
if(!this.createAction){ if(!this.createAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图列表createAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.list.notConfig.createAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator); let response = await this.service.add(this.createAction, JSON.parse(JSON.stringify(this.context)),item, this.showBusyIndicator);
...@@ -593,7 +593,7 @@ ...@@ -593,7 +593,7 @@
} }
}else if(Object.is(item.rowDataState, 'update')){ }else if(Object.is(item.rowDataState, 'update')){
if(!this.updateAction){ if(!this.updateAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图列表updateAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.list.notConfig.updateAction') as string) });
}else{ }else{
Object.assign(item,{viewparams:this.viewparams}); Object.assign(item,{viewparams:this.viewparams});
<#if de??> <#if de??>
...@@ -613,10 +613,10 @@ ...@@ -613,10 +613,10 @@
this.$emit('save', successItems); this.$emit('save', successItems);
this.refresh(); this.refresh();
if(errorItems.length === 0){ if(errorItems.length === 0){
this.$Notice.success({ title: '', desc: '保存成功!' }); this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.saveSuccess') as string) });
}else{ }else{
errorItems.forEach((item:any,index:number)=>{ errorItems.forEach((item:any,index:number)=>{
this.$Notice.error({ title: '保存失败', desc: item.majorentityname+'保存失败!' }); this.$Notice.error({ title: (this.$t('app.commonWords.saveFailed') as string), desc: item.majorentityname + (this.$t('app.commonWords.saveFailed') as string) + '!' });
console.error(errorMessage[index]); console.error(errorMessage[index]);
}); });
} }
......
...@@ -112,9 +112,9 @@ ...@@ -112,9 +112,9 @@
const _appEntityService: any = this.appEntityService; const _appEntityService: any = this.appEntityService;
let result: Promise<any>; let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) { if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Data,Context,isloading); result = _appEntityService[action](Context,Data,isloading);
}else{ }else{
result =_appEntityService.Update(Data,Context,isloading); result =_appEntityService.Update(Context,Data,isloading);
} }
result.then((response) => { result.then((response) => {
this.handleResponse(action, response); this.handleResponse(action, response);
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div slot='<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">left<#else>top</#if>'> <div slot='<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">left<#else>top</#if>'>
<#if ctrl.isShowTitleBar()> <#if ctrl.isShowTitleBar()>
<div class='calendar-exp-bar-header'> <div class='calendar-exp-bar-header'>
<div><icon type='ios-home-outline'/><#if ctrl.getTitle() == ''>日历导航栏<#else>${ctrl.getTitle()}</#if></div> <div><icon type='ios-home-outline'/><#if ctrl.getTitle() == ''>{{ $t('app.calendarExpBar.title') }}<#else>${ctrl.getTitle()}</#if></div>
</div> </div>
</#if> </#if>
<div class="container-header"> <div class="container-header">
......
...@@ -31,7 +31,7 @@ ...@@ -31,7 +31,7 @@
<context-menu :contextMenuStyle="{width: '100%'}" :data="item" :renderContent="renderContextMenu"> <context-menu :contextMenuStyle="{width: '100%'}" :data="item" :renderContent="renderContextMenu">
<el-card @click.native="onEventClick(item,true,$event)" :class="item.className"> <el-card @click.native="onEventClick(item,true,$event)" :class="item.className">
<h4>{{item.title}}</h4> <h4>{{item.title}}</h4>
<p>从 {{item.start}} 至 {{item.end}}</p> <p>{{$t('app.calendar.from')}} {{item.start}} {{$t('app.calendar.to')}} {{item.end}}</p>
</el-card> </el-card>
</context-menu> </context-menu>
</el-timeline-item> </el-timeline-item>
...@@ -405,7 +405,7 @@ FullCalendar, ...@@ -405,7 +405,7 @@ FullCalendar,
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
if (response.errorMessage) { if (response.errorMessage) {
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
} }
return; return;
} }
...@@ -416,7 +416,7 @@ FullCalendar, ...@@ -416,7 +416,7 @@ FullCalendar,
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
}); });
} }
...@@ -606,7 +606,7 @@ FullCalendar, ...@@ -606,7 +606,7 @@ FullCalendar,
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
if (response.errorMessage) { if (response.errorMessage) {
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
} }
return; return;
} }
...@@ -614,7 +614,7 @@ FullCalendar, ...@@ -614,7 +614,7 @@ FullCalendar,
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
}); });
} }
......
...@@ -446,7 +446,7 @@ ...@@ -446,7 +446,7 @@
Object.assign(params,{viewparams:tempViewParams}); Object.assign(params,{viewparams:tempViewParams});
this.service.getNodes(tempContext,params).then((response: any) => { this.service.getNodes(tempContext,params).then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: "错误", desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
resolve([]); resolve([]);
return; return;
} }
...@@ -466,7 +466,7 @@ ...@@ -466,7 +466,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: "错误", desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
}); });
} }
...@@ -530,7 +530,7 @@ ...@@ -530,7 +530,7 @@
const get: Promise<any> = this.service.getNodes(JSON.parse(JSON.stringify(this.context)),arg); const get: Promise<any> = this.service.getNodes(JSON.parse(JSON.stringify(this.context)),arg);
get.then((response: any) => { get.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: '错误', desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
return; return;
} }
const _items = [...response.data]; const _items = [...response.data];
...@@ -545,7 +545,7 @@ ...@@ -545,7 +545,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
}); });
} }
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div slot='left'> <div slot='left'>
<#if ctrl.isShowTitleBar()> <#if ctrl.isShowTitleBar()>
<div class='tree-exp-bar-header'> <div class='tree-exp-bar-header'>
<div class="tree-exp-bar-title"><#if ctrl.getTitle() == ''>树视图导航栏<#else>${ctrl.getTitle()}</#if></div> <div class="tree-exp-bar-title"><#if ctrl.getTitle() == ''>{{ $t('app.treeExpBar.title') }}<#else>${ctrl.getTitle()}</#if></div>
<#if ctrl.getPSControls()??> <#if ctrl.getPSControls()??>
<#assign controls = ctrl.getPSControls()/> <#assign controls = ctrl.getPSControls()/>
<#list controls as singleControl> <#list controls as singleControl>
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<div slot='left'> <div slot='left'>
<#if ctrl.isShowTitleBar()> <#if ctrl.isShowTitleBar()>
<div class='workflow-exp-bar-header'> <div class='workflow-exp-bar-header'>
<div><icon type='ios-home-outline'/><#if ctrl.getTitle() == ''>流程导航栏<#else>${ctrl.getTitle()}</#if></div> <div><icon type='ios-home-outline'/><#if ctrl.getTitle() == ''>{{$t('app.wfExpBar.title')}}<#else>${ctrl.getTitle()}</#if></div>
</div> </div>
</#if> </#if>
<#if ctrl.isEnableSearch()> <#if ctrl.isEnableSearch()>
......
...@@ -63,8 +63,8 @@ ...@@ -63,8 +63,8 @@
</div> </div>
<div class="app-wizard-footer"> <div class="app-wizard-footer">
<i-button v-if="isVisiable('${form.name}','PREV')" @click="onClickPrev('${form.name}')" ><Icon type="ios-arrow-back"></Icon></i-button> <i-button v-if="isVisiable('${form.name}','PREV')" @click="onClickPrev('${form.name}')" ><Icon type="ios-arrow-back"></Icon></i-button>
<i-button v-if="isVisiable('${form.name}','NEXT')" @click="onClickNext('${form.name}')" type="primary" long>下一步</i-button> <i-button v-if="isVisiable('${form.name}','NEXT')" @click="onClickNext('${form.name}')" type="primary" long>{{$t('app.wizardPanel.next')}}</i-button>
<i-button v-if="isVisiable('${form.name}','FINISH')" @click="onClickFinish('${form.name}')" type="primary" long>完成</i-button> <i-button v-if="isVisiable('${form.name}','FINISH')" @click="onClickFinish('${form.name}')" type="primary" long>{{$t('app.wizardPanel.complete')}}</i-button>
</div> </div>
</div> </div>
</el-popover> </el-popover>
...@@ -358,7 +358,7 @@ ...@@ -358,7 +358,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
}); });
</#if> </#if>
} }
...@@ -395,7 +395,7 @@ ...@@ -395,7 +395,7 @@
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
}); });
</#if> </#if>
} }
...@@ -543,7 +543,7 @@ ...@@ -543,7 +543,7 @@
this.curState = 'NEXT'; this.curState = 'NEXT';
this.wizardState.next({ tag: name, action: 'save', data: this.formParam }); this.wizardState.next({ tag: name, action: 'save', data: this.formParam });
} else { } else {
this.$Notice.error({ title: '错误', desc: '值规则校验异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
} }
} }
} }
...@@ -562,7 +562,7 @@ ...@@ -562,7 +562,7 @@
this.curState = 'FINISH'; this.curState = 'FINISH';
this.wizardState.next({ tag: name, action: 'save', data: this.formParam }); this.wizardState.next({ tag: name, action: 'save', data: this.formParam });
} else { } else {
this.$Notice.error({ title: '错误', desc: '值规则校验异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
} }
} }
} }
......
...@@ -257,7 +257,7 @@ GanttElastic, ...@@ -257,7 +257,7 @@ GanttElastic,
Object.assign(params,{viewparams:tempViewParams}); Object.assign(params,{viewparams:tempViewParams});
this.service.getNodes(tempContext,params).then((response: any) => { this.service.getNodes(tempContext,params).then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: "错误", desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
return; return;
} }
this.tasks = [...this.tasks, ...response.data]; this.tasks = [...this.tasks, ...response.data];
...@@ -271,7 +271,7 @@ GanttElastic, ...@@ -271,7 +271,7 @@ GanttElastic,
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: "错误", desc: response.info }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.info });
}); });
} }
......
...@@ -384,7 +384,7 @@ draggable, ...@@ -384,7 +384,7 @@ draggable,
*/ */
public load(opt: any = {}, isReset: boolean = false): void { public load(opt: any = {}, isReset: boolean = false): void {
if(!this.fetchAction){ if(!this.fetchAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图列表fetchAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.kanban.notConfig.fetchAction') as string) });
return; return;
} }
const arg: any = {...opt}; const arg: any = {...opt};
...@@ -408,7 +408,7 @@ draggable, ...@@ -408,7 +408,7 @@ draggable,
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
if (response.errorMessage) { if (response.errorMessage) {
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
} }
return; return;
} }
...@@ -438,7 +438,7 @@ draggable, ...@@ -438,7 +438,7 @@ draggable,
if (response && response.status === 401) { if (response && response.status === 401) {
return; return;
} }
this.$Notice.error({ title: '错误', desc: response.errorMessage }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.errorMessage });
}); });
} }
...@@ -451,7 +451,7 @@ draggable, ...@@ -451,7 +451,7 @@ draggable,
*/ */
public async remove(datas: any[]): Promise<any> { public async remove(datas: any[]): Promise<any> {
if(!this.removeAction){ if(!this.removeAction){
this.$Notice.error({ title: '错误', desc: '${view.getName()}视图表格removeAction参数未配置' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: '${view.getName()}' + (this.$t('app.kanban.notConfig.removeAction') as string) });
return; return;
} }
let _datas:any[] = []; let _datas:any[] = [];
...@@ -500,10 +500,10 @@ draggable, ...@@ -500,10 +500,10 @@ draggable,
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
post.then((response: any) => { post.then((response: any) => {
if (!response || response.status !== 200) { if (!response || response.status !== 200) {
this.$Notice.error({ title: '', desc: '删除数据失败,' + response.info }); this.$Notice.error({ title: '', desc: (this.$t('app.commonWords.delDataFail') as string) + ',' + response.info });
return; return;
} else { } else {
this.$Notice.success({ title: '', desc: '删除成功!' }); this.$Notice.success({ title: '', desc: (this.$t('app.commonWords.deleteSuccess') as string) });
} }
//删除items中已删除的项 //删除items中已删除的项
_datas.forEach((data: any) => { _datas.forEach((data: any) => {
...@@ -522,7 +522,7 @@ draggable, ...@@ -522,7 +522,7 @@ draggable,
return; return;
} }
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
reject(response); reject(response);
return; return;
} }
...@@ -533,8 +533,8 @@ draggable, ...@@ -533,8 +533,8 @@ draggable,
dataInfo = dataInfo.replace(/[null]/g, '').replace(/[undefined]/g, '').replace(/[ ]/g, ''); dataInfo = dataInfo.replace(/[null]/g, '').replace(/[undefined]/g, '').replace(/[ ]/g, '');
this.$Modal.confirm({ this.$Modal.confirm({
title: '警告', title: (this.$t('app.commonWords.warning') as string),
content: '确认要删除 ' + dataInfo + ',删除操作将不可恢复?', content: (this.$t('app.kanban.delete1') as string) + dataInfo + ',' + (this.$t('app.kanban.delete2') as string),
onOk: () => { onOk: () => {
removeData(); removeData();
}, },
...@@ -560,7 +560,7 @@ draggable, ...@@ -560,7 +560,7 @@ draggable,
post.then((response: any) => { post.then((response: any) => {
if (!response.status || response.status !== 200) { if (!response.status || response.status !== 200) {
if (response.data) { if (response.data) {
this.$Notice.error({ title: '错误', desc: response.data.message }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data.message });
} }
this.setGroups(); this.setGroups();
return; return;
...@@ -571,11 +571,11 @@ draggable, ...@@ -571,11 +571,11 @@ draggable,
this.$emit('update', this.items); this.$emit('update', this.items);
}).catch((response: any) => { }).catch((response: any) => {
if (response && response.status && response.data) { if (response && response.status && response.data) {
this.$Notice.error({ title: '错误', desc: response.data.message }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data.message });
return; return;
} }
if (!response || !response.status || !response.data) { if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常' }); this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
return; return;
} }
}); });
......
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
<#if item.render??> <#if item.render??>
${item.render.code} ${item.render.code}
<#else> <#else>
<app-form-group :manageContainerStatus="detailsModel.${item.name}.manageContainerStatus" :isManageContainer="detailsModel.${item.name}.isManageContainer" @managecontainerclick="manageContainerClick('${item.name}')" layoutType="<#if item.getPSLayout()??>${item.getPSLayout().getLayout()}</#if>" titleStyle="<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??>${item.getLabelPSSysCss().getCssName()}</#if>" class='<#if item.getPSSysCss?? && item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' :uiActionGroup="detailsModel.${item.name}.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="<#if langbase??>$t('${langbase}.details.${item.name}')<#else>'${item.getCaption()}'</#if>" :isShowCaption="${item.isShowCaption()?c}" uiStyle="${item.getDetailStyle()}" :titleBarCloseMode="${item.getTitleBarCloseMode()}" :isInfoGroupMode="${item.isInfoGroupMode()?c}" <#if item.getPSSysImage()??>:iconInfo="{<#assign img=item.getPSSysImage()><#if img.getImagePath() == "">'iconclass':'${img.getCssClass()}'<#else>'iconpath':'${img.getImagePath()}'</#if>}"</#if>> <app-form-group :uiService="appUIService" :data="transformData(data)" :manageContainerStatus="detailsModel.${item.name}.manageContainerStatus" :isManageContainer="detailsModel.${item.name}.isManageContainer" @managecontainerclick="manageContainerClick('${item.name}')" layoutType="<#if item.getPSLayout()??>${item.getPSLayout().getLayout()}</#if>" titleStyle="<#if item.getLabelPSSysCss?? && item.getLabelPSSysCss()??>${item.getLabelPSSysCss().getCssName()}</#if>" class='<#if item.getPSSysCss?? && item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>' :uiActionGroup="detailsModel.${item.name}.uiActionGroup" @groupuiactionclick="groupUIActionClick($event)" :caption="<#if langbase??>$t('${langbase}.details.${item.name}')<#else>'${item.getCaption()}'</#if>" :isShowCaption="${item.isShowCaption()?c}" uiStyle="${item.getDetailStyle()}" :titleBarCloseMode="${item.getTitleBarCloseMode()}" :isInfoGroupMode="${item.isInfoGroupMode()?c}" <#if item.getPSSysImage()??>:iconInfo="{<#assign img=item.getPSSysImage()><#if img.getImagePath() == "">'iconclass':'${img.getCssClass()}'<#else>'iconpath':'${img.getImagePath()}'</#if>}"</#if>>
<#assign content> <#assign content>
<#list item.getPSDEFormDetails() as formmenber> <#list item.getPSDEFormDetails() as formmenber>
<#if !(formmenber.isHidden?? && formmenber.isHidden())> <#if !(formmenber.isHidden?? && formmenber.isHidden())>
......
...@@ -14,7 +14,7 @@ new FormPageModel({ ${detail} }) ...@@ -14,7 +14,7 @@ new FormPageModel({ ${detail} })
<#elseif item.getDetailType() == 'FORMPART'> <#elseif item.getDetailType() == 'FORMPART'>
new FormPartModel({ ${detail} }) new FormPartModel({ ${detail} })
<#elseif item.getDetailType() == 'GROUPPANEL'> <#elseif item.getDetailType() == 'GROUPPANEL'>
new FormGroupPanelModel({ ${detail}, uiActionGroup: { caption: '<#if item.getPSUIActionGroup()??>${item.getPSUIActionGroup().getName()}</#if>', langbase: '<#if langbase??>${langbase}</#if>', extractMode: '<#if item.getActionGroupExtractMode?? && item.getActionGroupExtractMode()??>${item.getActionGroupExtractMode()}<#else>ITEM</#if>', details: [<#if item.getPSUIActionGroup()??><#list item.getPSUIActionGroup().getPSUIActionGroupDetails() as uadetails><#if uadetails_index gt 0>, </#if>{ name: '${item.getName()}_${uadetails.getName()}', caption: '${uadetails.getPSUIAction().getCaption()}', uiactiontag: '<#if uadetails.getPSUIAction().getPSAppDataEntity?? && uadetails.getPSUIAction().getPSAppDataEntity()??>${uadetails.getPSUIAction().getPSAppDataEntity().getCodeName()?lower_case}_</#if>${uadetails.getPSUIAction().getUIActionTag()?lower_case}'<#if uadetails.getPSUIAction().getPSSysImage()??>, <#assign viewimg=uadetails.getPSUIAction().getPSSysImage()/><#if viewimg.getCssClass() != ''>icon: '${viewimg.getCssClass()}'<#else>img: '${viewimg.getImagePath()}'</#if></#if>,isShowCaption:${uadetails.isShowCaption()?c},isShowIcon:${uadetails.isShowIcon()?c} }</#list></#if>] }, isManageContainer: <#if item.getShowMoreMode?? && item.getShowMoreMode()?? && item.getShowMoreMode() == 2>true<#else>false</#if>, showMoreModeItems: [<#if item.getPSDEFormDetails()??><#list item.getPSDEFormDetails() as moreItem><#if moreItem.getShowMoreMode?? && moreItem.getShowMoreMode()?? && moreItem.getShowMoreMode() == 1>'${moreItem.getName()}',</#if></#list></#if>] }) new FormGroupPanelModel({ ${detail}, uiActionGroup: { caption: '<#if item.getPSUIActionGroup()??>${item.getPSUIActionGroup().getName()}</#if>', langbase: '<#if langbase??>${langbase}</#if>', extractMode: '<#if item.getActionGroupExtractMode?? && item.getActionGroupExtractMode()??>${item.getActionGroupExtractMode()}<#else>ITEM</#if>', details: [<#if item.getPSUIActionGroup()??><#list item.getPSUIActionGroup().getPSUIActionGroupDetails() as uadetails><#if uadetails_index gt 0>, </#if>{ name: '${item.getName()}_${uadetails.getName()}', caption: '${uadetails.getPSUIAction().getCaption()}',disabled: false, visabled: true, noprivdisplaymode:<#if uadetails.getPSUIAction()?? && uadetails.getPSUIAction().getNoPrivDisplayMode(view)??>${uadetails.getPSUIAction().getNoPrivDisplayMode(view)}</#if>,dataaccaction: '<#if uadetails.getPSUIAction()?? && uadetails.getPSUIAction().getDataAccessAction()??>${uadetails.getPSUIAction().getDataAccessAction()}</#if>',uiactiontag: '<#if uadetails.getPSUIAction().getPSAppDataEntity?? && uadetails.getPSUIAction().getPSAppDataEntity()??>${uadetails.getPSUIAction().getPSAppDataEntity().getCodeName()?lower_case}_</#if>${uadetails.getPSUIAction().getUIActionTag()?lower_case}'<#if uadetails.getPSUIAction().getPSSysImage()??>, <#assign viewimg=uadetails.getPSUIAction().getPSSysImage()/><#if viewimg.getCssClass() != ''>icon: '${viewimg.getCssClass()}'<#else>img: '${viewimg.getImagePath()}'</#if></#if>,isShowCaption:${uadetails.isShowCaption()?c},isShowIcon:${uadetails.isShowIcon()?c} }</#list></#if>] }, isManageContainer: <#if item.getShowMoreMode?? && item.getShowMoreMode()?? && item.getShowMoreMode() == 2>true<#else>false</#if>, showMoreModeItems: [<#if item.getPSDEFormDetails()??><#list item.getPSDEFormDetails() as moreItem><#if moreItem.getShowMoreMode?? && moreItem.getShowMoreMode()?? && moreItem.getShowMoreMode() == 1>'${moreItem.getName()}',</#if></#list></#if>] })
<#elseif item.getDetailType() == 'IFRAME'> <#elseif item.getDetailType() == 'IFRAME'>
new FormIFrameModel({ ${detail} }) new FormIFrameModel({ ${detail} })
<#elseif item.getDetailType() == 'RAWITEM'> <#elseif item.getDetailType() == 'RAWITEM'>
......
...@@ -75,22 +75,23 @@ ...@@ -75,22 +75,23 @@
<div style="text-align: center;"> <div style="text-align: center;">
<#if item.getPSDEUIActionGroup().getPSDEUIActions()??> <#if item.getPSDEUIActionGroup().getPSDEUIActions()??>
<#list item.getPSDEUIActionGroup().getPSUIActionGroupDetails() as uiactionDetail> <#list item.getPSDEUIActionGroup().getPSUIActionGroupDetails() as uiactionDetail>
<#if uiactionDetail_index gt 0>
<divider type='vertical'></divider>
</#if>
<#if uiactionDetail.getPSUIAction?? && uiactionDetail.getPSUIAction()??> <#if uiactionDetail.getPSUIAction?? && uiactionDetail.getPSUIAction()??>
<#assign uiaction = uiactionDetail.getPSUIAction() /> <#assign uiaction = uiactionDetail.getPSUIAction() />
<#if preUIAction??>
<divider type='vertical' v-show="scope.row.${preUIAction.getUIActionTag()}.visabled && scope.row.${uiaction.getUIActionTag()}.visabled" ></divider>
</#if>
<#if !uiactionDetail.isShowCaption()> <#if !uiactionDetail.isShowCaption()>
<tooltip :transfer="true" :max-width="600"> <tooltip :transfer="true" :max-width="600">
</#if> </#if>
<a @click="uiAction(scope.row, '${uiaction.getUIActionTag()}', $event)"> <a v-show="scope.row.${uiaction.getUIActionTag()}.visabled" :style="{'pointer-events':scope.row.${uiaction.getUIActionTag()}.disabled?'none':'auto'}" @click="uiAction(scope.row, '${uiaction.getUIActionTag()}', $event)">
<#if uiactionDetail.isShowIcon()><i class='<#if uiaction.getIconCls?? && uiaction.getIconCls()??>${uiaction.getIconCls()}</#if>'></i></#if> <#if uiactionDetail.isShowIcon()><i class='<#if uiaction.getIconCls?? && uiaction.getIconCls()??>${uiaction.getIconCls()}</#if>'></i></#if>
<#if uiactionDetail.isShowCaption()>{{<#if langbase??>$t('${langbase}.uiactions.${uiaction.getUIActionTag()?lower_case}')<#else>'${uiaction.getCaption()}'</#if>}}</#if> <#if uiactionDetail.isShowCaption()>{{<#if langbase??>$t('${langbase}.uiactions.${uiaction.getFullCodeName()?lower_case}')<#else>'${uiaction.getCaption()}'</#if>}}</#if>
</a> </a>
<#if !uiactionDetail.isShowCaption()> <#if !uiactionDetail.isShowCaption()>
<div slot='content'>{{<#if langbase??>$t('${langbase}.uiactions.${uiaction.getUIActionTag()?lower_case}')<#else>'${uiaction.getCaption()}'</#if>}}</div> <div slot='content'>{{<#if langbase??>$t('${langbase}.uiactions.<#if uiaction.getPSAppDataEntity?? && uiaction.getPSAppDataEntity()??>${uiaction.getPSAppDataEntity().getCodeName()?lower_case}_</#if>${uiaction.getUIActionTag()?lower_case}')<#else>'${uiaction.getCaption()}'</#if>}}</div>
</tooltip> </tooltip>
</#if> </#if>
<#assign preUIAction = uiaction />
</#if> </#if>
</#list> </#list>
</#if> </#if>
...@@ -168,7 +169,12 @@ ...@@ -168,7 +169,12 @@
</app-column-link> </app-column-link>
<#else> <#else>
<#if item.getPSDEGridEditItem()?? && item.getPSDEGridEditItem().getPSEditorType?? && item.getPSDEGridEditItem().getPSEditorType()??> <#if item.getPSDEGridEditItem()?? && item.getPSDEGridEditItem().getPSEditorType?? && item.getPSDEGridEditItem().getPSEditorType()??>
<app-span name='${item.name}' editorType="${item.getPSDEGridEditItem().getPSEditorType().getStandardPSEditorType()}" :value="row.${item.getName()?lower_case}"></app-span> <app-span name='${item.name}' editorType="${item.getPSDEGridEditItem().getPSEditorType().getStandardPSEditorType()}" :value="row.${item.getName()?lower_case}" <#t>
<#if item.getPSDEField().getDataType()!="">
dataType="${item.getPSDEField().getDataType()}" <#t>
</#if>
<#if item.getPSDEField().getPrecision()??>
precision="${item.getPSDEField().getPrecision()}" <#t></#if>></app-span>
<#else> <#else>
<#if item.getValueFormat()?? && item.getValueFormat() != "%1$s"> <#if item.getValueFormat()?? && item.getValueFormat() != "%1$s">
<app-format-data format="${item.getValueFormat()}" :data="row.${item.getName()?lower_case}"></app-format-data> <app-format-data format="${item.getValueFormat()}" :data="row.${item.getName()?lower_case}"></app-format-data>
......
...@@ -27,6 +27,15 @@ ...@@ -27,6 +27,15 @@
<#if dataitem.getPSDEField()??> <#if dataitem.getPSDEField()??>
prop: '${dataitem.getPSDEField().getCodeName()?lower_case}', prop: '${dataitem.getPSDEField().getCodeName()?lower_case}',
dataType: '${dataitem.getPSDEField().getDataType()}', dataType: '${dataitem.getPSDEField().getDataType()}',
</#if>
<#if ctrl.getPSDEGridEditItems()??>
<#list ctrl.getPSDEGridEditItems() as editItem>
<#if editItem.getName() == dataitem.getName()>
<#if editItem.isEditable()>
isEditable:${editItem.isEditable()?c}
</#if>
</#if>
</#list>
</#if> </#if>
}, },
</#list> </#list>
...@@ -42,6 +51,15 @@ ...@@ -42,6 +51,15 @@
<#if dataitem.getPSDEField()??> <#if dataitem.getPSDEField()??>
prop: '${dataitem.getPSDEField().getCodeName()?lower_case}', prop: '${dataitem.getPSDEField().getCodeName()?lower_case}',
dataType: '${dataitem.getPSDEField().getDataType()}', dataType: '${dataitem.getPSDEField().getDataType()}',
</#if>
<#if ctrl.getPSDEGridEditItems()??>
<#list ctrl.getPSDEGridEditItems() as editItem>
<#if editItem.getName() == dataitem.getName()>
<#if editItem.isEditable()>
isEditable:${editItem.isEditable()?c}
</#if>
</#if>
</#list>
</#if> </#if>
}, },
</#list> </#list>
...@@ -88,6 +106,10 @@ ${P.getCtrlCode('searchform', 'MODEL_CONTENT.ts').code} ...@@ -88,6 +106,10 @@ ${P.getCtrlCode('searchform', 'MODEL_CONTENT.ts').code}
name:'query', name:'query',
prop:'query' prop:'query'
}, },
{
name:'filter',
prop:'filter'
},
{ {
name:'page', name:'page',
prop:'page' prop:'page'
......
...@@ -110,7 +110,7 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi ...@@ -110,7 +110,7 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
*/ */
@Errorlog @Errorlog
public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { public add(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true); const {data:Data,context:Context} = this.handleRequestDataWithUpdate(action,context,data,true);
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService; const _appEntityService: any = this.appEntityService;
let result: Promise<any>; let result: Promise<any>;
...@@ -169,14 +169,14 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi ...@@ -169,14 +169,14 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
*/ */
@Errorlog @Errorlog
public update(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> { public update(action: string, context: any = {},data: any = {}, isloading?: boolean): Promise<any> {
const {data:Data,context:Context} = this.handleRequestData(action,context,data,true); const {data:Data,context:Context} = this.handleRequestDataWithUpdate(action,context,data,true);
return new Promise((resolve: any, reject: any) => { return new Promise((resolve: any, reject: any) => {
const _appEntityService: any = this.appEntityService; const _appEntityService: any = this.appEntityService;
let result: Promise<any>; let result: Promise<any>;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) { if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](Data,Context,isloading); result = _appEntityService[action](Context,Data,isloading);
}else{ }else{
result =_appEntityService.Update(Data,Context,isloading); result =_appEntityService.Update(Context,Data,isloading);
} }
result.then((response) => { result.then((response) => {
this.handleResponse(action, response); this.handleResponse(action, response);
...@@ -361,7 +361,7 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi ...@@ -361,7 +361,7 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
* @param {*} [data={}] * @param {*} [data={}]
* @param {boolean} [isloading] * @param {boolean} [isloading]
* @returns {Promise<any>} * @returns {Promise<any>}
* @memberof MainService * @memberof ${srfclassname('${ctrl.codeName}')}Service
*/ */
@Errorlog @Errorlog
public frontLogic(action:string,context: any = {}, data: any = {}, isloading?: boolean): Promise<any> { public frontLogic(action:string,context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
...@@ -382,6 +382,42 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi ...@@ -382,6 +382,42 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
}); });
}) })
} }
/**
* 处理请求数据(修改或增加数据)
*
* @param action 行为
* @param data 数据
* @memberof ${srfclassname('${ctrl.codeName}')}Service
*/
public handleRequestDataWithUpdate(action: string,context:any ={},data: any = {},isMerge:boolean = false){
let model: any = this.getMode();
if (!model && model.getDataItems instanceof Function) {
return data;
}
let dataItems: any[] = model.getDataItems();
let requestData:any = {};
if(isMerge && (data && data.viewparams)){
Object.assign(requestData,data.viewparams);
}
dataItems.forEach((item:any) =>{
if(item && item.dataType && Object.is(item.dataType,'FONTKEY')){
if(item && item.prop && item.name ){
requestData[item.prop] = context[item.name];
}
}else{
if(item && item.isEditable && item.prop && item.name && (data[item.name] || Object.is(data[item.name],0)) ){
requestData[item.prop] = data[item.name];
}
}
});
let tempContext:any = JSON.parse(JSON.stringify(context));
if(tempContext && tempContext.srfsessionid){
tempContext.srfsessionkey = tempContext.srfsessionid;
delete tempContext.srfsessionid;
}
return {context:tempContext,data:requestData};
}
<#ibizinclude> <#ibizinclude>
../@MACRO/SERVICE/SERVICE_BOTTOM.ts.ftl ../@MACRO/SERVICE/SERVICE_BOTTOM.ts.ftl
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<div slot='<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">left<#else>top</#if>'> <div slot='<#if view.getSideBarLayout()?? && view.getSideBarLayout() == "LEFT">left<#else>top</#if>'>
<#if ctrl.isShowTitleBar()> <#if ctrl.isShowTitleBar()>
<div class='grid-exp-bar-header'> <div class='grid-exp-bar-header'>
<div><icon type='ios-home-outline'/><#if ctrl.getTitle() == ''>表格导航栏<#else>${ctrl.getTitle()}</#if></div> <div><icon type='ios-home-outline'/><#if ctrl.getTitle() == ''>{{ $t('app.gridBar.title') }}<#else>${ctrl.getTitle()}</#if></div>
</div> </div>
</#if> </#if>
<div class="container-header"> <div class="container-header">
......
...@@ -17,4 +17,4 @@ ...@@ -17,4 +17,4 @@
</#assign> </#assign>
<#ibizinclude> <#ibizinclude>
../@MACRO/VIEW_LAYOUT_BASE.ftl ../@MACRO/VIEW_LAYOUT_BASE.ftl
</#ibizinclude> </#ibizinclude>
\ No newline at end of file
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="${view.getCodeName()?lower_case}"></app-studioaction> <app-studioaction :viewTitle="$t(model.srfTitle)" viewName="${view.getCodeName()?lower_case}"></app-studioaction>
<img class="logout-bg" src="/assets/img/logout_bg.png"/> <img class="logout-bg" src="/assets/img/logout_bg.png"/>
<div class="logout-container"> <div class="logout-container">
尊敬的客户您好,您已成功退出系统,将在 <a>{{this.countdown}}</a> 秒后跳转至<a @click="gotoLoginView">登录页</a>! {{ $t('app.viewLayoutPanel.appLogoutView.prompt1') }} <a>{{this.countdown}}</a> {{ $t('app.viewLayoutPanel.appLogoutView.prompt2') }} <a @click="gotoLoginView">{{ $t('app.viewLayoutPanel.appLogoutView.loginpage') }}</a>!
</div> </div>
</div> </div>
\ No newline at end of file
<div class="${srffilepath2(view.getCodeName())}<#if view.getPSSysCss?? && view.getPSSysCss()??> ${view.getPSSysCss().getCssName()}</#if>"> <div class="${srffilepath2(view.getCodeName())}<#if view.getPSSysCss?? && view.getPSSysCss()??> ${view.getPSSysCss().getCssName()}</#if>">
<app-studioaction :viewTitle="$t(model.srfTitle)" viewName="${view.getCodeName()?lower_case}"></app-studioaction> <app-studioaction :viewTitle="$t(model.srfTitle)" viewName="${view.getCodeName()?lower_case}"></app-studioaction>
<div>应用流程处理记录视图</div> <div>{{$t('app.viewLayoutPanel.appWfstepTraceView.title')}}</div>
</div> </div>
\ No newline at end of file
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
../@MACRO/VIEW_CAPTION.vue.ftl ../@MACRO/VIEW_CAPTION.vue.ftl
</#ibizinclude> </#ibizinclude>
<div class='content-container'> <div class='content-container'>
应用流程跟踪视图 {{$t('app.viewLayoutPanel.appWfstepDataView.title')}}
</div> </div>
</card> </card>
</div> </div>
\ No newline at end of file
...@@ -5,18 +5,18 @@ ...@@ -5,18 +5,18 @@
<div class="login-title">{{$t(model.srfTitle)}}</div> <div class="login-title">{{$t(model.srfTitle)}}</div>
<i-form class="login-form"> <i-form class="login-form">
<form-item> <form-item>
<i-input type="text" v-model="formData.loginname" placeholder="用户名" clearable> <i-input type="text" v-model="formData.loginname" :placeholder="$t('app.viewLayoutPanel.appLoginView.username')" clearable>
<icon type="ios-person-outline" slot="prepend"></icon> <icon type="ios-person-outline" slot="prepend"></icon>
</i-input> </i-input>
</form-item> </form-item>
<form-item> <form-item>
<i-input type="password" v-model="formData.password" placeholder="密码" clearable> <i-input type="password" v-model="formData.password" :placeholder="$t('app.viewLayoutPanel.appLoginView.password')" clearable>
<icon type="ios-lock-outline" slot="prepend"></icon> <icon type="ios-lock-outline" slot="prepend"></icon>
</i-input> </i-input>
</form-item> </form-item>
</i-form> </i-form>
<div class="form-submit"> <div class="form-submit">
<i-button @click="handleSubmit" long type="primary">登录</i-button> <i-button @click="handleSubmit" long type="primary">{{ $t('app.viewLayoutPanel.appLoginView.login') }}</i-button>
</div> </div>
</div> </div>
</div> </div>
...@@ -93,7 +93,7 @@ ...@@ -93,7 +93,7 @@
<#if ctrl.render??> <#if ctrl.render??>
${ctrl.render.code} ${ctrl.render.code}
<#else> <#else>
<div>无扩展插件</div> <div>{{$t('app.portlet.noExtensions')}}</div>
</#if> </#if>
</div> </div>
<#-- 操作栏 --> <#-- 操作栏 -->
...@@ -110,7 +110,7 @@ ...@@ -110,7 +110,7 @@
<#if ctrl.render??> <#if ctrl.render??>
${ctrl.render.code} ${ctrl.render.code}
<#else> <#else>
<app-actionbar :items="actionBarModelData" @itemClick="handleItemClick"></app-actionbar> <app-actionbar :viewState="viewState" :uiService="appUIService" :items="actionBarModelData" @itemClick="handleItemClick"></app-actionbar>
</#if> </#if>
</div> </div>
<#-- HTML --> <#-- HTML -->
...@@ -208,6 +208,9 @@ import { Environment } from '@/environments/environment'; ...@@ -208,6 +208,9 @@ import { Environment } from '@/environments/environment';
<#assign counter = uiaction.getPSAppCounter() /> <#assign counter = uiaction.getPSAppCounter() />
counterService:this.${srfclassname('${counter.getCodeName()}')}counterservice, counterService:this.${srfclassname('${counter.getCodeName()}')}counterservice,
<#if uiaction.getCounterId()??>counterId:"${uiaction.getCounterId()}",</#if> <#if uiaction.getCounterId()??>counterId:"${uiaction.getCounterId()}",</#if>
noprivdisplaymode:'<#if uiaction.getNoPrivDisplayMode(view)??>${uiaction.getNoPrivDisplayMode(view)}</#if>',
dataaccaction:'<#if uiaction.getDataAccessAction()??>${uiaction.getDataAccessAction()}</#if>',
visabled:true,disabled:false
</#if> </#if>
</#if> </#if>
</#if> </#if>
......
<#if item.render??>
${item.render.code}
<#else>
<input-box <input-box
:disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"
v-model="row[column.property]" v-model="row[column.property]"
...@@ -6,4 +9,5 @@ ...@@ -6,4 +9,5 @@
<#if item.getUnitName?? && item.getUnitName()??>unit="${item.getUnitName()}"</#if> <#if item.getUnitName?? && item.getUnitName()??>unit="${item.getUnitName()}"</#if>
<#if item.getPlaceHolder()??>placeholder="${item.getPlaceHolder()}"</#if> <#if item.getPlaceHolder()??>placeholder="${item.getPlaceHolder()}"</#if>
@change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"> @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}">
</input-box> </input-box>
\ No newline at end of file </#if>
<#if item.render??>
${item.render.code}
<#else>
<input-box <input-box
<#if item.getEnableCond??> <#if item.getEnableCond??>
:disabled="data.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" :disabled="data.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"
...@@ -9,3 +12,4 @@ ...@@ -9,3 +12,4 @@
<#if item.getPlaceHolder()??>placeholder="${item.getPlaceHolder()}"</#if> <#if item.getPlaceHolder()??>placeholder="${item.getPlaceHolder()}"</#if>
@change="($event)=>{panelEditItemChange(data, ${editor.getName()?lower_case}, $event)}"> @change="($event)=>{panelEditItemChange(data, ${editor.getName()?lower_case}, $event)}">
</input-box> </input-box>
</#if>
<app-rich-text-editor :formState="formState" :value="data.${editor.name}" @change="(val) =>{this.data.${editor.name} =val}" :disabled="detailsModel.${editor.name}.disabled" name="${editor.name}"<#if editor.getEditorHeight() gt 0> height={${editor.getEditorHeight()?c}}</#if> style="${editor.getEditorCssStyle()}"></app-rich-text-editor> <#if item.render??>
\ No newline at end of file ${item.render.code}
<#else>
<app-rich-text-editor :formState="formState" :value="data.${editor.name}" @change="(val) =>{this.data.${editor.name} =val}" :disabled="detailsModel.${editor.name}.disabled" :data="JSON.stringify(this.data)" name="${editor.name}" :uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>' <#if editor.getEditorHeight() gt 0> height={${editor.getEditorHeight()?c}}</#if> style="${editor.getEditorCssStyle()}"></app-rich-text-editor>
</#if>
\ No newline at end of file
<#if item.render??>
${item.render.code}
<#else>
<app-rich-text-editor :formState="formState" :value="data.${editor.name?lower_case}" @change="(val) =>{this.data.${editor.name?lower_case} =val}" <#if item.getEnableCond??>:disabled="data.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"</#if> name="${editor.name?lower_case}"<#if editor.getEditorHeight() gt 0> height={${editor.getEditorHeight()?c}}</#if> style="${editor.getEditorCssStyle()}"></app-rich-text-editor> <app-rich-text-editor :formState="formState" :value="data.${editor.name?lower_case}" @change="(val) =>{this.data.${editor.name?lower_case} =val}" <#if item.getEnableCond??>:disabled="data.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"</#if> name="${editor.name?lower_case}"<#if editor.getEditorHeight() gt 0> height={${editor.getEditorHeight()?c}}</#if> style="${editor.getEditorCssStyle()}"></app-rich-text-editor>
</#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<dropdown-list <dropdown-list
v-model="data.${editor.name}" v-model="data.${editor.name}"
:data="data" :data="data"
...@@ -13,4 +16,5 @@ ...@@ -13,4 +16,5 @@
codelistType='${codelist.getCodeListType()}' codelistType='${codelist.getCodeListType()}'
</#if> </#if>
placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if> style="${editor.getEditorCssStyle()}"> placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if> style="${editor.getEditorCssStyle()}">
</dropdown-list> </dropdown-list>
\ No newline at end of file </#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<dropdown-list <dropdown-list
v-model="row[column.property]" v-model="row[column.property]"
:disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"
...@@ -16,3 +19,4 @@ ...@@ -16,3 +19,4 @@
style="${item.getEditorCssStyle()}" style="${item.getEditorCssStyle()}"
@change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"> @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}">
</dropdown-list> </dropdown-list>
</#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<dropdown-list <dropdown-list
v-model="data.${editor.name?lower_case}" v-model="data.${editor.name?lower_case}"
<#if item.getEnableCond??> <#if item.getEnableCond??>
...@@ -18,3 +21,4 @@ ...@@ -18,3 +21,4 @@
style="${item.getEditorCssStyle()}" style="${item.getEditorCssStyle()}"
@change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}"> @change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}">
</dropdown-list> </dropdown-list>
</#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<dropdown-list <dropdown-list
v-model="data.${editor.name}" v-model="data.${editor.name}"
:data="data" :data="data"
...@@ -14,4 +17,5 @@ ...@@ -14,4 +17,5 @@
codelistType='${codelist.getCodeListType()}' codelistType='${codelist.getCodeListType()}'
</#if> </#if>
placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if>> placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if>>
</dropdown-list> </dropdown-list>
\ No newline at end of file </#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<dropdown-list <dropdown-list
v-model="row[column.property]" v-model="row[column.property]"
:disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"
...@@ -16,3 +19,4 @@ ...@@ -16,3 +19,4 @@
placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if> placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if>
@change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"> @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}">
</dropdown-list> </dropdown-list>
</#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<dropdown-list <dropdown-list
v-model="data.${editor.name?lower_case}" v-model="data.${editor.name?lower_case}"
<#if item.getEnableCond??> <#if item.getEnableCond??>
...@@ -18,3 +21,4 @@ ...@@ -18,3 +21,4 @@
style="${item.getEditorCssStyle()}width: 100px;" style="${item.getEditorCssStyle()}width: 100px;"
@change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}"> @change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}">
</dropdown-list> </dropdown-list>
</#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<dropdown-list-mpicker <dropdown-list-mpicker
v-model="data.${editor.name}" v-model="data.${editor.name}"
:data="data" :data="data"
...@@ -6,6 +9,7 @@ ...@@ -6,6 +9,7 @@
:viewparams="viewparams" :viewparams="viewparams"
:localContext =<@getNavigateContext editor /> :localContext =<@getNavigateContext editor />
:localParam =<@getNavigateParams editor /> :localParam =<@getNavigateParams editor />
:disabled="detailsModel.${editor.name}.disabled"
<#if editor.getPSCodeList()??> <#if editor.getPSCodeList()??>
<#assign codelist=editor.getPSCodeList()> <#assign codelist=editor.getPSCodeList()>
tag='${codelist.codeName}' tag='${codelist.codeName}'
...@@ -15,4 +19,5 @@ ...@@ -15,4 +19,5 @@
</#if> </#if>
</#if> </#if>
placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if> style="${editor.getEditorCssStyle()}"> placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if> style="${editor.getEditorCssStyle()}">
</dropdown-list-mpicker> </dropdown-list-mpicker>
\ No newline at end of file </#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<dropdown-list-mpicker <dropdown-list-mpicker
v-model="row[column.property]" v-model="row[column.property]"
:data="row" :data="row"
...@@ -16,4 +19,5 @@ ...@@ -16,4 +19,5 @@
placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if> placeholder=<#if item.getPlaceHolder()??>'${item.getPlaceHolder()}'<#else>'请选择...'</#if>
@change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}" @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"
style="${item.getEditorCssStyle()}"> style="${item.getEditorCssStyle()}">
</dropdown-list-mpicker> </dropdown-list-mpicker>
\ No newline at end of file </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<dropdown-list-mpicker <dropdown-list-mpicker
v-model="data.${editor.name?lower_case}" v-model="data.${editor.name?lower_case}"
:data="data" :data="data"
...@@ -19,3 +22,4 @@ ...@@ -19,3 +22,4 @@
@change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}" @change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}"
style="${item.getEditorCssStyle()}"> style="${item.getEditorCssStyle()}">
</dropdown-list-mpicker> </dropdown-list-mpicker>
</#if>
<app-code-editor :code="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" @change="(val) =>{this.data.${editor.name} =val}" codetype="javascript" ></app-code-editor> <#if item.render??>
\ No newline at end of file ${item.render.code}
<#else>
<app-code-editor :code="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" @change="(val) =>{this.data.${editor.name} =val}" codetype="javascript" ></app-code-editor>
</#if>
\ No newline at end of file
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="<#if item.getEditorParam('fillMap','') != ''>${item.getEditorParam('fillMap','')}<#else>{'id':'${editor.getValueItemName()}','label':'${editor.name}'}</#if>" url="<#if item.getEditorParam('url','') != ''>${item.getEditorParam('url','')}</#if>" filter="<#if item.getEditorParam('filter','') != ''>${item.getEditorParam('filter','')}<#else>srforgid</#if>" :multiple="<#if item.getEditorParam('multiple','') != ''>${item.getEditorParam('multiple','')}<#else>false</#if>" style="${editor.getEditorCssStyle()}" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.${editor.name}.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="<#if item.getEditorParam('fillMap','') != ''>${item.getEditorParam('fillMap','')}<#else>{'id':'${editor.getValueItemName()}','label':'${editor.name}'}</#if>" url="<#if item.getEditorParam('url','') != ''>${item.getEditorParam('url','')}</#if>" filter="<#if item.getEditorParam('filter','') != ''>${item.getEditorParam('filter','')}<#else>srforgid</#if>" :multiple="<#if item.getEditorParam('multiple','') != ''>${item.getEditorParam('multiple','')}<#else>false</#if>" style="${editor.getEditorCssStyle()}" @select-change="onFormItemValueChange"></app-org-select>
\ No newline at end of file
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="<#if item.getEditorParam('fillMap','') != ''>${item.getEditorParam('fillMap','')}<#else>{'id':'${editor.getValueItemName()}','label':'${editor.name}'}</#if>" url="<#if item.getEditorParam('url','') != ''>${item.getEditorParam('url','')}</#if>" filter="<#if item.getEditorParam('filter','') != ''>${item.getEditorParam('filter','')}<#else>srforgid</#if>" :multiple="<#if item.getEditorParam('multiple','') != ''>${item.getEditorParam('multiple','')}<#else>false</#if>" style="${editor.getEditorCssStyle()}" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.${editor.name}.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="<#if item.getEditorParam('fillMap','') != ''>${item.getEditorParam('fillMap','')}<#else>{'id':'${editor.getValueItemName()}','label':'${editor.name}'}</#if>" url="<#if item.getEditorParam('url','') != ''>${item.getEditorParam('url','')}</#if>" filter="<#if item.getEditorParam('filter','') != ''>${item.getEditorParam('filter','')}<#else>srforgid</#if>" :multiple="<#if item.getEditorParam('multiple','') != ''>${item.getEditorParam('multiple','')}<#else>false</#if>" style="${editor.getEditorCssStyle()}" @select-change="onFormItemValueChange"></app-org-select>
\ No newline at end of file
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="<#if item.getEditorParam('fillMap','') != ''>${item.getEditorParam('fillMap','')}<#else>{'id':'${editor.getValueItemName()}','label':'${editor.name}'}</#if>" url="<#if item.getEditorParam('url','') != ''>${item.getEditorParam('url','')}</#if>" filter="<#if item.getEditorParam('filter','') != ''>${item.getEditorParam('filter','')}<#else>srforgid</#if>" :multiple="<#if item.getEditorParam('multiple','') != ''>${item.getEditorParam('multiple','')}<#else>false</#if>" style="${editor.getEditorCssStyle()}" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.${editor.name}.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="<#if item.getEditorParam('fillMap','') != ''>${item.getEditorParam('fillMap','')}<#else>{'id':'${editor.getValueItemName()}','label':'${editor.name}'}</#if>" url="<#if item.getEditorParam('url','') != ''>${item.getEditorParam('url','')}</#if>" filter="<#if item.getEditorParam('filter','') != ''>${item.getEditorParam('filter','')}<#else>srforgid</#if>" :multiple="<#if item.getEditorParam('multiple','') != ''>${item.getEditorParam('multiple','')}<#else>false</#if>" style="${editor.getEditorCssStyle()}" @select-change="onFormItemValueChange"></app-org-select>
\ No newline at end of file
<app-org-select :data="data" :context="JSON.parse(JSON.stringify(context))" :fillMap="<#if item.getEditorParam('fillMap','') != ''>${item.getEditorParam('fillMap','')}<#else>{'id':'${editor.getValueItemName()}','label':'${editor.name}'}</#if>" url="<#if item.getEditorParam('url','') != ''>${item.getEditorParam('url','')}</#if>" filter="<#if item.getEditorParam('filter','') != ''>${item.getEditorParam('filter','')}<#else>srforgid</#if>" :multiple="<#if item.getEditorParam('multiple','') != ''>${item.getEditorParam('multiple','')}<#else>false</#if>" style="${editor.getEditorCssStyle()}" @select-change="onFormItemValueChange"></app-org-select> <app-org-select :data="data" :disabled="detailsModel.${editor.name}.disabled" :context="JSON.parse(JSON.stringify(context))" :fillMap="<#if item.getEditorParam('fillMap','') != ''>${item.getEditorParam('fillMap','')}<#else>{'id':'${editor.getValueItemName()}','label':'${editor.name}'}</#if>" url="<#if item.getEditorParam('url','') != ''>${item.getEditorParam('url','')}</#if>" filter="<#if item.getEditorParam('filter','') != ''>${item.getEditorParam('filter','')}<#else>srforgid</#if>" :multiple="<#if item.getEditorParam('multiple','') != ''>${item.getEditorParam('multiple','')}<#else>false</#if>" style="${editor.getEditorCssStyle()}" @select-change="onFormItemValueChange"></app-org-select>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<app-radio-group <app-radio-group
v-model="data.${editor.name}" v-model="data.${editor.name}"
:data="data" :data="data"
...@@ -14,4 +17,5 @@ ...@@ -14,4 +17,5 @@
codelistType='${codelist.getCodeListType()}' codelistType='${codelist.getCodeListType()}'
</#if> </#if>
style="${editor.getEditorCssStyle()}"> style="${editor.getEditorCssStyle()}">
</app-radio-group> </app-radio-group>
\ No newline at end of file </#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<app-radio-group <app-radio-group
v-model="row[column.property]" v-model="row[column.property]"
:disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"
...@@ -16,3 +19,4 @@ ...@@ -16,3 +19,4 @@
</#if> </#if>
style="${item.getEditorCssStyle()}"> style="${item.getEditorCssStyle()}">
</app-radio-group> </app-radio-group>
</#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<app-radio-group <app-radio-group
v-model="data.${editor.name?lower_case}" v-model="data.${editor.name?lower_case}"
<#if item.getEnableCond??> <#if item.getEnableCond??>
...@@ -18,3 +21,4 @@ ...@@ -18,3 +21,4 @@
</#if> </#if>
style="${item.getEditorCssStyle()}"> style="${item.getEditorCssStyle()}">
</app-radio-group> </app-radio-group>
</#if>
<app-image-upload :multiple="true" :formState="formState" :ignorefieldvaluechange="ignorefieldvaluechange" @formitemvaluechange="onFormItemValueChange" :data="JSON.stringify(this.data)" name='${editor.name}' :value="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" :uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>' style="${editor.getEditorCssStyle()}overflow: auto;"></app-image-upload> <#if item.render??>
\ No newline at end of file ${item.render.code}
<#else>
<app-image-upload :multiple="true" :formState="formState" :ignorefieldvaluechange="ignorefieldvaluechange" @formitemvaluechange="onFormItemValueChange" :data="JSON.stringify(this.data)" name='${editor.name}' :value="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" :uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>' style="${editor.getEditorCssStyle()}overflow: auto;"></app-image-upload>
</#if>
<#if item.render??>
${item.render.code}
<#else>
<app-file-upload <app-file-upload
:formState="viewState" :formState="viewState"
:ignorefieldvaluechange="false" :ignorefieldvaluechange="false"
...@@ -10,4 +13,5 @@ ...@@ -10,4 +13,5 @@
:imageOnly="true" :imageOnly="true"
:uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>' :uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>'
style="${editor.getEditorCssStyle()}overflow: auto;"> style="${editor.getEditorCssStyle()}overflow: auto;">
</app-file-upload> </app-file-upload>
\ No newline at end of file </#if>
<#if item.render??>
${item.render.code}
<#else>
<app-file-upload <app-file-upload
:formState="viewState" :formState="viewState"
:ignorefieldvaluechange="false" :ignorefieldvaluechange="false"
...@@ -14,3 +17,4 @@ ...@@ -14,3 +17,4 @@
:exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>'
style="${editor.getEditorCssStyle()}overflow: auto;"> style="${editor.getEditorCssStyle()}overflow: auto;">
</app-file-upload> </app-file-upload>
</#if>
<app-image-upload :multiple="false" :formState="formState" :ignorefieldvaluechange="ignorefieldvaluechange" @formitemvaluechange="onFormItemValueChange" :data="JSON.stringify(this.data)" name='${editor.name}' :value="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" :uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>' ></app-image-upload> <#if item.render??>
\ No newline at end of file ${item.render.code}
<#else>
<app-image-upload :multiple="false" :formState="formState" :ignorefieldvaluechange="ignorefieldvaluechange" @formitemvaluechange="onFormItemValueChange" :data="JSON.stringify(this.data)" name='${editor.name}' :value="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" :uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>' ></app-image-upload>
</#if>
<#if item.render??>
${item.render.code}
<#else>
<app-file-upload <app-file-upload
:formState="viewState" :formState="viewState"
:ignorefieldvaluechange="false" :ignorefieldvaluechange="false"
...@@ -10,4 +13,5 @@ ...@@ -10,4 +13,5 @@
:imageOnly="true" :imageOnly="true"
:uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>' :uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>'
style="${editor.getEditorCssStyle()}overflow: auto;"> style="${editor.getEditorCssStyle()}overflow: auto;">
</app-file-upload> </app-file-upload>
\ No newline at end of file </#if>
<#if item.render??>
${item.render.code}
<#else>
<app-file-upload <app-file-upload
:formState="viewState" :formState="viewState"
:ignorefieldvaluechange="false" :ignorefieldvaluechange="false"
...@@ -13,3 +16,4 @@ ...@@ -13,3 +16,4 @@
:uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>' :uploadparams='<#if editor.getEditorParam('uploadparams','') != ''>${editor.getEditorParam('uploadparams','')}<#else>{}</#if>' :exportparams='<#if editor.getEditorParam('exportparams','') != ''>${editor.getEditorParam('exportparams','')}<#else>{}</#if>'
style="${editor.getEditorCssStyle()}overflow: auto;"> style="${editor.getEditorCssStyle()}overflow: auto;">
</app-file-upload> </app-file-upload>
</#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-mpicker <app-mpicker
:activeData="data" :activeData="data"
...@@ -20,4 +23,5 @@ ...@@ -20,4 +23,5 @@
@formitemvaluechange="onFormItemValueChange" @formitemvaluechange="onFormItemValueChange"
style="${editor.getEditorCssStyle()}"> style="${editor.getEditorCssStyle()}">
</app-mpicker> </app-mpicker>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-mpicker <app-mpicker
:activeData="row" :activeData="row"
...@@ -20,4 +23,5 @@ ...@@ -20,4 +23,5 @@
@formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}" @formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}"
style="${editor.getEditorCssStyle()}"> style="${editor.getEditorCssStyle()}">
</app-mpicker> </app-mpicker>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-mpicker <app-mpicker
:activeData="data" :activeData="data"
...@@ -20,4 +23,5 @@ ...@@ -20,4 +23,5 @@
@formitemvaluechange="onFormItemValueChange" @formitemvaluechange="onFormItemValueChange"
style="${editor.getEditorCssStyle()}"> style="${editor.getEditorCssStyle()}">
</app-mpicker> </app-mpicker>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-mpicker <app-mpicker
:activeData="row" :activeData="row"
...@@ -20,4 +23,5 @@ ...@@ -20,4 +23,5 @@
@formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}" @formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}"
style="${editor.getEditorCssStyle()}"> style="${editor.getEditorCssStyle()}">
</app-mpicker> </app-mpicker>
</#if>
</#if> </#if>
\ No newline at end of file
<input-box v-model="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" type='textarea' style="${editor.getEditorCssStyle()}" <#if item.getPlaceHolder()??> placeholder="${item.getPlaceHolder()}"</#if>></input-box> <#if item.render??>
\ No newline at end of file ${item.render.code}
<#else>
<input-box v-model="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" type='textarea' style="${editor.getEditorCssStyle()}" <#if item.getPlaceHolder()??> placeholder="${item.getPlaceHolder()}"</#if>></input-box>
</#if>
<#if item.render??>
${item.render.code}
<#else>
<div class="ivu-input-wrapper ivu-input-wrapper-default ivu-input-type"> <div class="ivu-input-wrapper ivu-input-wrapper-default ivu-input-type">
<textarea class="ivu-input" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" v-model="row[column.property]" style="${item.getEditorCssStyle()}" <#if item.getPlaceHolder()??> placeholder="${item.getPlaceHolder()}"</#if> @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"></textarea> <textarea class="ivu-input" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" v-model="row[column.property]" style="${item.getEditorCssStyle()}" <#if item.getPlaceHolder()??> placeholder="${item.getPlaceHolder()}"</#if> @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"></textarea>
</div> </div>
\ No newline at end of file </#if>
<#if item.render??>
${item.render.code}
<#else>
<div class="ivu-input-wrapper ivu-input-wrapper-default ivu-input-type"> <div class="ivu-input-wrapper ivu-input-wrapper-default ivu-input-type">
<textarea <textarea
class="ivu-input" class="ivu-input"
...@@ -12,3 +15,4 @@ ...@@ -12,3 +15,4 @@
@change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}"> @change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}">
</textarea> </textarea>
</div> </div>
</#if>
<#if item.render??>
${item.render.code}
<#else>
<input-box v-model="data.${editor.name}" :textareaId="this.$util.createUUID()" :disabled="detailsModel.${editor.name}.disabled" type='textarea' textareaStyle="${editor.getEditorCssStyle()}" <#if item.getPlaceHolder()??> placeholder="${item.getPlaceHolder()}"</#if>></input-box> <input-box v-model="data.${editor.name}" :textareaId="this.$util.createUUID()" :disabled="detailsModel.${editor.name}.disabled" type='textarea' textareaStyle="${editor.getEditorCssStyle()}" <#if item.getPlaceHolder()??> placeholder="${item.getPlaceHolder()}"</#if>></input-box>
</#if>
<#if item.render??>
${item.render.code}
<#else>
<div class="ivu-input-wrapper ivu-input-wrapper-default ivu-input-type"> <div class="ivu-input-wrapper ivu-input-wrapper-default ivu-input-type">
<textarea class="ivu-input" rows="10" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" v-model="row[column.property]" style="${item.getEditorCssStyle()}" <#if item.getPlaceHolder()??> placeholder="${item.getPlaceHolder()}"</#if> @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"></textarea> <textarea class="ivu-input" rows="10" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" v-model="row[column.property]" style="${item.getEditorCssStyle()}" <#if item.getPlaceHolder()??> placeholder="${item.getPlaceHolder()}"</#if> @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"></textarea>
</div> </div>
\ No newline at end of file </#if>
<#if item.render??>
${item.render.code}
<#else>
<div class="ivu-input-wrapper ivu-input-wrapper-default ivu-input-type"> <div class="ivu-input-wrapper ivu-input-wrapper-default ivu-input-type">
<textarea <textarea
class="ivu-input" class="ivu-input"
...@@ -13,3 +16,4 @@ ...@@ -13,3 +16,4 @@
@change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}"> @change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}">
</textarea> </textarea>
</div> </div>
</#if>
<i-input type="password" v-model="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" style="${editor.getEditorCssStyle()}"></i-input> <#if item.render??>
\ No newline at end of file ${item.render.code}
<#else>
<i-input type="password" v-model="data.${editor.name}" :disabled="detailsModel.${editor.name}.disabled" style="${editor.getEditorCssStyle()}"></i-input>
</#if>
\ No newline at end of file
<input-box type="password" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" v-model="row[column.property]" style="${item.getEditorCssStyle()}" @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"></input-box> <#if item.render??>
\ No newline at end of file ${item.render.code}
<#else>
<input-box type="password" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" v-model="row[column.property]" style="${item.getEditorCssStyle()}" @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"></input-box>
</#if>
<#if item.render??>
${item.render.code}
<#else>
<input-box <input-box
type="password" type="password"
<#if item.getEnableCond??> <#if item.getEnableCond??>
...@@ -7,3 +10,4 @@ ...@@ -7,3 +10,4 @@
style="${item.getEditorCssStyle()}" style="${item.getEditorCssStyle()}"
@change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}"> @change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}">
</input-box> </input-box>
</#if>
<app-switch name='${editor.name}' :value="this.data.${editor.name}" @change="($event)=>{this.data.${editor.name} = $event} " :disabled="detailsModel.${editor.name}.disabled" style="${editor.getEditorCssStyle()}"></app-switch> <#if item.render??>
\ No newline at end of file ${item.render.code}
<#else>
<app-switch name='${editor.name}' :value="this.data.${editor.name}" @change="($event)=>{this.data.${editor.name} = $event} " :disabled="detailsModel.${editor.name}.disabled" style="${editor.getEditorCssStyle()}"></app-switch>
</#if>
\ No newline at end of file
<app-switch name='${editor.name}' :value="row[column.property]" @change="($event)=>{row[column.property] = $event;gridEditItemChange(row, column.property, $event, $index)} " :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" style="${item.getEditorCssStyle()}"></app-switch> <#if item.render??>
\ No newline at end of file ${item.render.code}
<#else>
<app-switch name='${editor.name}' :value="row[column.property]" @change="($event)=>{row[column.property] = $event;gridEditItemChange(row, column.property, $event, $index)} " :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" style="${item.getEditorCssStyle()}"></app-switch>
</#if>
<#if item.render??>
${item.render.code}
<#else>
<app-switch <app-switch
name='${editor.name?lower_case}' name='${editor.name?lower_case}'
:value="data.${editor.name?lower_case}" :value="data.${editor.name?lower_case}"
...@@ -7,3 +10,4 @@ ...@@ -7,3 +10,4 @@
</#if> </#if>
style="${item.getEditorCssStyle()}"> style="${item.getEditorCssStyle()}">
</app-switch> </app-switch>
</#if>
<#if item.render??>
${item.render.code}
<#else>
<input-box <input-box
v-model="data.${editor.name}" v-model="data.${editor.name}"
@enter="onEnter($event)" @enter="onEnter($event)"
<#if editor.getUnitName?? && editor.getUnitName()??>unit="${editor.getUnitName()}"</#if> <#if editor.getUnitName?? && editor.getUnitName()??>unit="${editor.getUnitName()}"</#if>
:disabled="detailsModel.${editor.name}.disabled" :disabled="detailsModel.${editor.name}.disabled"
type='number' type='number'
<#if item.getPSAppDEField().getPSDEField().getPrecision??> <#if item.getPSAppDEField()?? && item.getPSAppDEField().getPSDEField()?? && item.getPSAppDEField().getPSDEField().getPrecision??>
<#if item.getPSAppDEField().getPSDEField().getDataType() == 'FLOAT' && item.getPSAppDEField().getPSDEField().getPrecision() == 0> <#if item.getPSAppDEField().getPSDEField().getDataType() == 'FLOAT' && item.getPSAppDEField().getPSDEField().getPrecision() == 0>
:precision="2" :precision="2"
<#else> <#else>
...@@ -13,4 +16,5 @@ ...@@ -13,4 +16,5 @@
</#if> </#if>
<#if editor.getPlaceHolder()??>placeholder="${editor.getPlaceHolder()}"</#if> <#if editor.getPlaceHolder()??>placeholder="${editor.getPlaceHolder()}"</#if>
style="${editor.getEditorCssStyle()}"> style="${editor.getEditorCssStyle()}">
</input-box> </input-box>
\ No newline at end of file </#if>
\ No newline at end of file
<#if item.render??>
${item.render.code}
<#else>
<input-box <input-box
:disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" :disabled="row.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"
v-model="row[column.property]" v-model="row[column.property]"
...@@ -5,7 +8,7 @@ ...@@ -5,7 +8,7 @@
unit="${item.getUnitName()}" unit="${item.getUnitName()}"
</#if> </#if>
type="number" type="number"
<#if item.getPSAppDEField().getPSDEField().getPrecision??> <#if item.getPSAppDEField()?? && item.getPSAppDEField().getPSDEField()?? && item.getPSAppDEField().getPSDEField().getPrecision??>
<#if item.getPSAppDEField().getPSDEField().getDataType() == 'FLOAT' && item.getPSAppDEField().getPSDEField().getPrecision() == 0> <#if item.getPSAppDEField().getPSDEField().getDataType() == 'FLOAT' && item.getPSAppDEField().getPSDEField().getPrecision() == 0>
:precision="2" :precision="2"
<#else> <#else>
...@@ -17,4 +20,5 @@ ...@@ -17,4 +20,5 @@
placeholder="${item.getPlaceHolder()}" placeholder="${item.getPlaceHolder()}"
</#if> </#if>
@change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}"> @change="($event)=>{gridEditItemChange(row, column.property, $event, $index)}">
</input-box> </input-box>
\ No newline at end of file </#if>
<#if item.render??>
${item.render.code}
<#else>
<input-box <input-box
type="number" type="number"
<#if item.getEnableCond??> <#if item.getEnableCond??>
:disabled="data.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1" :disabled="data.srfuf === 1 ? (${item.getEnableCond()?c} & 2) !== 2 : (${item.getEnableCond()?c} & 1) !== 1"
</#if> </#if>
<#if item.getUnitName()??>unit="${item.getUnitName()}"</#if> <#if item.getUnitName?? && item.getUnitName()??>unit="${item.getUnitName()}"</#if>
:precision="2"
v-model="data.${editor.name?lower_case}" v-model="data.${editor.name?lower_case}"
style="${item.getEditorCssStyle()}" style="${item.getEditorCssStyle()}"
<#if item.getPlaceHolder()??>placeholder="${item.getPlaceHolder()}"</#if> <#if item.getPlaceHolder()??>placeholder="${item.getPlaceHolder()}"</#if>
@change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}"> @change="($event)=>{panelEditItemChange(data, '${editor.name?lower_case}', $event)}">
</input-box> </input-box>
</#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getEditorParam("PICKUPVIEW",true)??> <#if editor.getEditorParam("PICKUPVIEW",true)??>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-picker <app-picker
...@@ -25,4 +28,5 @@ ...@@ -25,4 +28,5 @@
<@getItemRender editor /> <@getItemRender editor />
</app-picker> </app-picker>
</#if> </#if>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getEditorParam("PICKUPVIEW",true)??> <#if editor.getEditorParam("PICKUPVIEW",true)??>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-picker <app-picker
...@@ -25,4 +28,5 @@ ...@@ -25,4 +28,5 @@
<@getItemRender editor /> <@getItemRender editor />
</app-picker> </app-picker>
</#if> </#if>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getEditorParam("PICKUPVIEW",true)??> <#if editor.getEditorParam("PICKUPVIEW",true)??>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-picker <app-picker
...@@ -26,3 +29,4 @@ ...@@ -26,3 +29,4 @@
</app-picker> </app-picker>
</#if> </#if>
</#if> </#if>
</#if>
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getEditorParam("PICKUPVIEW",true)??> <#if editor.getEditorParam("PICKUPVIEW",true)??>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-picker-select-view <app-picker-select-view
...@@ -23,4 +26,5 @@ ...@@ -23,4 +26,5 @@
@formitemvaluechange="onFormItemValueChange"> @formitemvaluechange="onFormItemValueChange">
</app-picker-select-view> </app-picker-select-view>
</#if> </#if>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getEditorParam("PICKUPVIEW",true)??> <#if editor.getEditorParam("PICKUPVIEW",true)??>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-picker-select-view <app-picker-select-view
...@@ -23,4 +26,5 @@ ...@@ -23,4 +26,5 @@
@formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}"> @formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}">
</app-picker-select-view> </app-picker-select-view>
</#if> </#if>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getEditorParam("PICKUPVIEW",true)??> <#if editor.getEditorParam("PICKUPVIEW",true)??>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-picker-select-view <app-picker-select-view
...@@ -25,4 +28,5 @@ ...@@ -25,4 +28,5 @@
@formitemvaluechange="onFormItemValueChange"> @formitemvaluechange="onFormItemValueChange">
</app-picker-select-view> </app-picker-select-view>
</#if> </#if>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getEditorParam("PICKUPVIEW",true)??> <#if editor.getEditorParam("PICKUPVIEW",true)??>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-picker-select-view <app-picker-select-view
...@@ -25,4 +28,5 @@ ...@@ -25,4 +28,5 @@
@formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}"> @formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}">
</app-picker-select-view> </app-picker-select-view>
</#if> </#if>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<app-picker <app-picker
:formState="formState" :formState="formState"
:data="data" :data="data"
...@@ -20,4 +23,5 @@ ...@@ -20,4 +23,5 @@
style="${editor.getEditorCssStyle()}" style="${editor.getEditorCssStyle()}"
@formitemvaluechange="onFormItemValueChange"> @formitemvaluechange="onFormItemValueChange">
<@getItemRender editor /> <@getItemRender editor />
</app-picker> </app-picker>
\ No newline at end of file </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<app-picker <app-picker
:formState="viewState" :formState="viewState"
:data="row" :data="row"
...@@ -20,4 +23,5 @@ ...@@ -20,4 +23,5 @@
style="${item.getEditorCssStyle()}" style="${item.getEditorCssStyle()}"
@formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}"> @formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}">
<@getItemRender editor /> <@getItemRender editor />
</app-picker> </app-picker>
\ No newline at end of file </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if item.getRefPickupPSAppView()??> <#if item.getRefPickupPSAppView()??>
<#assign pickupview = item.getRefPickupPSAppView()> <#assign pickupview = item.getRefPickupPSAppView()>
<app-embed-picker <app-embed-picker
...@@ -25,4 +28,5 @@ ...@@ -25,4 +28,5 @@
@formitemvaluechange="onFormItemValueChange" @formitemvaluechange="onFormItemValueChange"
style="${editor.getEditorCssStyle()}"> style="${editor.getEditorCssStyle()}">
</app-embed-picker> </app-embed-picker>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if item.getRefPickupPSAppView()??> <#if item.getRefPickupPSAppView()??>
<#assign pickupview = item.getRefPickupPSAppView()> <#assign pickupview = item.getRefPickupPSAppView()>
<app-embed-picker <app-embed-picker
...@@ -25,4 +28,5 @@ ...@@ -25,4 +28,5 @@
@formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}" @formitemvaluechange="($event)=>{onGridItemValueChange(row,$event,$index)}"
style="${editor.getEditorCssStyle()}"> style="${editor.getEditorCssStyle()}">
</app-embed-picker> </app-embed-picker>
</#if>
</#if> </#if>
\ No newline at end of file
<#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude> <#ibizinclude>../@MACRO/FUNC/PUBLIC.vue.ftl</#ibizinclude>
<#if item.render??>
${item.render.code}
<#else>
<#if editor.getEditorParam("PICKUPVIEW",true)??> <#if editor.getEditorParam("PICKUPVIEW",true)??>
<#if editor.getPickupPSAppView()??> <#if editor.getPickupPSAppView()??>
<app-picker <app-picker
...@@ -26,4 +29,5 @@ ...@@ -26,4 +29,5 @@
<@getItemRender editor /> <@getItemRender editor />
</app-picker> </app-picker>
</#if> </#if>
</#if>
</#if> </#if>
\ No newline at end of file
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
此差异已折叠。
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册