Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
22
议题
22
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7
提交
ae91881e
提交
ae91881e
编写于
8月 26, 2020
作者:
tony001
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'dev'
上级
c303fb34
04455eb4
变更
31
显示空白字符变更
内嵌
并排
正在显示
31 个修改的文件
包含
329 行增加
和
36 行删除
+329
-36
CONTROL-BASE.vue.ftl
@CONTROL/向导面板/CONTROL-BASE.vue.ftl
+0
-4
MODEL_CONTENT.ts.ftl
@CONTROL/搜索表单/MODEL_CONTENT.ts.ftl
+1
-1
CONTROL-BASE.vue.ftl
@CONTROL/日历部件/CONTROL-BASE.vue.ftl
+10
-0
CONTROL-BASE.vue#DETAIL_BUTTON.ftl
@CONTROL/表单/CONTROL-BASE.vue#DETAIL_BUTTON.ftl
+1
-1
CONTROL-BASE.vue.ftl
@CONTROL/表单/CONTROL-BASE.vue.ftl
+8
-6
CONTROL.less.ftl
@CONTROL/表单/CONTROL.less.ftl
+5
-1
CONTROL-BASE.vue.ftl
@CONTROL/表格/CONTROL-BASE.vue.ftl
+42
-1
MODEL.ts.ftl
@CONTROL/表格/MODEL.ts.ftl
+12
-6
SERVICE.ts.ftl
@CONTROL/表格/SERVICE.ts.ftl
+102
-0
VIEW.less.ftl
@CONTROL/视图布局面板/实体工作流动态导航表格视图/VIEW.less.ftl
+8
-0
VIEW.vue.ftl
@CONTROL/视图布局面板/实体工作流动态导航表格视图/VIEW.vue.ftl
+10
-0
VIEW.vue.ftl
@CONTROL/视图布局面板/应用首页视图/VIEW.vue.ftl
+4
-0
CONTROL-BASE.vue#ITEM_TABPANEL.ftl
@CONTROL/面板/CONTROL-BASE.vue#ITEM_TABPANEL.ftl
+13
-0
PANELEDITOR.vue.ftl
@EDITOR/HTML编辑器/PANELEDITOR.vue.ftl
+2
-1
PANELEDITOR.vue.ftl
@EDITOR/图片控件/PANELEDITOR.vue.ftl
+1
-1
PANELEDITOR.vue.ftl
@EDITOR/图片控件(单项)/PANELEDITOR.vue.ftl
+1
-1
PANELEDITOR.vue.ftl
@EDITOR/文件上传/PANELEDITOR.vue.ftl
+1
-1
PANELEDITOR.vue.ftl
@EDITOR/文件上传(支持拖拽)/PANELEDITOR.vue.ftl
+1
-1
PANELEDITOR.vue.ftl
@EDITOR/时间选择器(新)/PANELEDITOR.vue.ftl
+2
-1
PANELEDITOR.vue.ftl
@EDITOR/时间选择控件/PANELEDITOR.vue.ftl
+2
-1
PANELEDITOR.vue.ftl
@EDITOR/时间选择控件_分钟/PANELEDITOR.vue.ftl
+2
-1
PANELEDITOR.vue.ftl
@EDITOR/时间选择控件_小时/PANELEDITOR.vue.ftl
+2
-1
PANELEDITOR.vue.ftl
@EDITOR/时间选择控件_无小时/PANELEDITOR.vue.ftl
+2
-1
PANELEDITOR.vue.ftl
@EDITOR/时间选择控件_无日期/PANELEDITOR.vue.ftl
+2
-1
PANELEDITOR.vue.ftl
@EDITOR/时间选择控件_无日期无秒钟/PANELEDITOR.vue.ftl
+2
-1
PANELEDITOR.vue.ftl
@EDITOR/时间选择控件_秒钟/PANELEDITOR.vue.ftl
+2
-1
VIEW-BASE.vue.ftl
@VIEW/实体工作流动态导航表格视图/VIEW-BASE.vue.ftl
+60
-1
data-dictionary.json.ftl
APP/public/assets/json/data-dictionary.json.ftl
+1
-0
environment.ts.ftl
APP/src/environments/environment.ts.ftl
+8
-2
codelist.ts.ftl
APP/src/mock/codelist/codelist.ts.ftl
+1
-0
app-code-list.less.ftl
APP/src/styles/app-code-list.less.ftl
+21
-0
未找到文件。
@CONTROL/向导面板/CONTROL-BASE.vue.ftl
浏览文件 @
ae91881e
...
@@ -397,16 +397,12 @@ ${ctrl.render.code}
...
@@ -397,16 +397,12 @@ ${ctrl.render.code}
if(this.activeForm) {
if(this.activeForm) {
if(this.$refs && this.$refs[this.activeForm]){
if(this.$refs && this.$refs[this.activeForm]){
let form: any = this.$refs[this.activeForm];
let form: any = this.$refs[this.activeForm];
if(form.formValidateStatus()) {
this.curState = 'PREV';
this.curState = 'PREV';
if(!this.stepActions[this.activeForm].preAction){
if(!this.stepActions[this.activeForm].preAction){
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc:this.$t('app.wizardPanel.preactionmessage') as string });
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc:this.$t('app.wizardPanel.preactionmessage') as string });
return;
return;
}
}
this.wizardState.next({ tag: this.activeForm, action:'panelaction',data: {action:this.stepActions[this.activeForm].preAction,emitAction:'save',data:this.formParam} });
this.wizardState.next({ tag: this.activeForm, action:'panelaction',data: {action:this.stepActions[this.activeForm].preAction,emitAction:'save',data:this.formParam} });
} else {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.rulesException') as string) });
}
}
}
}
}
}
}
...
...
@CONTROL/搜索表单/MODEL_CONTENT.ts.ftl
浏览文件 @
ae91881e
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
name: '${dataitem.getName()}',
name: '${dataitem.getName()}',
prop: '${dataitem.getName()}',
prop: '${dataitem.getName()}',
<#if dataitem.getPSDEField()??>
<#if dataitem.getPSDEField()??>
dataType: '
${dataitem.getPSDEField().getDataType()}',
dataType: '
QUERYPARAM'
</#if>
</#if>
},
},
</#list>
</#list>
...
...
@CONTROL/日历部件/CONTROL-BASE.vue.ftl
浏览文件 @
ae91881e
...
@@ -377,6 +377,14 @@ FullCalendar,
...
@@ -377,6 +377,14 @@ FullCalendar,
*/
*/
public searchArgCache: any = {};
public searchArgCache: any = {};
<#if ctrl.getPSSysCalendarItems()?? >
<#assign itemPanel = false />
<#list ctrl.getPSSysCalendarItems() as calendarItem>
<#if calendarItem.getPSLayoutPanel()??>
<#assign itemPanel = true />
</#if>
</#list>
<#if itemPanel>
/**
/**
* 面板数据变化处理事件
* 面板数据变化处理事件
* @param {any} item 当前数据
* @param {any} item 当前数据
...
@@ -387,6 +395,8 @@ FullCalendar,
...
@@ -387,6 +395,8 @@ FullCalendar,
public onPanelDataChange(item:any,$event:any) {
public onPanelDataChange(item:any,$event:any) {
Object.assign(item, $event, {rowDataState:'update'});
Object.assign(item, $event, {rowDataState:'update'});
}
}
</#if>
</#if>
/**
/**
* 搜索获取日程事件
* 搜索获取日程事件
...
...
@CONTROL/表单/CONTROL-BASE.vue#DETAIL_BUTTON.ftl
浏览文件 @
ae91881e
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
${item.render.code}
${item.render.code}
<#else>
<#else>
<@badge item>
<@badge item>
<i-button type="primary" :disabled="detailsModel.${item.getName()}.disabled" @click="${item.getName()}_click($event)"
<#if item.getPSSysCss?? && item.getPSSysCss()??> class="${item.getPSSysCss().getCssName()}"</#if>
<i-button type="primary" :disabled="detailsModel.${item.getName()}.disabled" @click="${item.getName()}_click($event)"
class="app-form-button<#if item.getPSSysCss?? && item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>"
style="<#if item.getHeight() gt 0>height: ${item.getHeight()?c}px;</#if><#if item.getWidth() gt 0>width: ${item.getWidth()?c}px;</#if>">
style="<#if item.getHeight() gt 0>height: ${item.getHeight()?c}px;</#if><#if item.getWidth() gt 0>width: ${item.getWidth()?c}px;</#if>">
<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)><i class="${img.getCssClass()}" style="margin-right: 2px;"></i></#if></#if>
<#if item.getPSSysImage()??><#assign img=item.getPSSysImage()><#if img.getCssClass()?? && (img.getCssClass()?length gt 0)><i class="${img.getCssClass()}" style="margin-right: 2px;"></i></#if></#if>
<#if item.isShowCaption()><span ><#if item.getCaptionItemName()?? && item.getCaptionItemName()?length gt 0>{{data.${item.getCaptionItemName()}}}<#else><#if langbase??>{{$t('${langbase}.details.${item.name}')}}<#else>${item.getCaption()}</#if></#if></span></#if>
<#if item.isShowCaption()><span ><#if item.getCaptionItemName()?? && item.getCaptionItemName()?length gt 0>{{data.${item.getCaptionItemName()}}}<#else><#if langbase??>{{$t('${langbase}.details.${item.name}')}}<#else>${item.getCaption()}</#if></#if></span></#if>
...
...
@CONTROL/表单/CONTROL-BASE.vue.ftl
浏览文件 @
ae91881e
...
@@ -13,6 +13,7 @@ ${ctrl.render.code}
...
@@ -13,6 +13,7 @@ ${ctrl.render.code}
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { FormButtonModel, FormPageModel, FormItemModel, FormDRUIPartModel, FormPartModel, FormGroupPanelModel, FormIFrameModel, FormRowItemModel, FormTabPageModel, FormTabPanelModel, FormUserControlModel } from '@/model/form-detail';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import { debounceTime, distinctUntilChanged } from 'rxjs/operators';
import schema from 'async-validator';
import schema from 'async-validator';
import { Environment } from '@/environments/environment';
</#assign>
</#assign>
<#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_HEADER-BASE.vue.ftl
../@MACRO/CONTROL/CONTROL_HEADER-BASE.vue.ftl
...
@@ -562,6 +563,7 @@ import schema from 'async-validator';
...
@@ -562,6 +563,7 @@ import schema from 'async-validator';
}
}
</#if>
</#if>
this.setFormEnableCond(data);
this.setFormEnableCond(data);
this.computeButtonState(data);
this.fillForm(data,action);
this.fillForm(data,action);
<#if ctrl.getControlType() == 'FORM'>
<#if ctrl.getControlType() == 'FORM'>
this.oldData = {};
this.oldData = {};
...
@@ -737,18 +739,22 @@ import schema from 'async-validator';
...
@@ -737,18 +739,22 @@ import schema from 'async-validator';
* @memberof ${srfclassname('${ctrl.codeName}')}Base
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
*/
public computeButtonState(data:any){
public computeButtonState(data:any){
if(Environment.enablePermissionValid){
let targetData:any = this.transformData(data);
let targetData:any = this.transformData(data);
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
if(this.detailsModel && Object.keys(this.detailsModel).length >0){
Object.keys(this.detailsModel).forEach((name:any) =>{
Object.keys(this.detailsModel).forEach((name:any) =>{
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].detailType,"BUTTON")){
if(this.detailsModel[name] && this.detailsModel[name].uiaction && this.detailsModel[name].uiaction.dataaccaction && Object.is(this.detailsModel[name].detailType,"BUTTON")){
this.detailsModel[name].isPower = true;
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
let tempUIAction:any = JSON.parse(JSON.stringify(this.detailsModel[name].uiaction));
ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService);
let result: any[] =
ViewTool.calcActionItemAuthState(targetData,[tempUIAction],this.appUIService);
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].visible = tempUIAction.visabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].disabled = tempUIAction.disabled;
this.detailsModel[name].isPower = result[0] === 1 ? true : false;
}
}
})
})
}
}
}
}
}
<#list ctrl.getAllPSDEFormDetails() as formdetail>
<#list ctrl.getAllPSDEFormDetails() as formdetail>
<#if formdetail.getDetailType?? && formdetail.getDetailType() == 'BUTTON'>
<#if formdetail.getDetailType?? && formdetail.getDetailType() == 'BUTTON'>
...
@@ -925,7 +931,7 @@ import schema from 'async-validator';
...
@@ -925,7 +931,7 @@ import schema from 'async-validator';
this.refresh(data);
this.refresh(data);
}
}
if (Object.is('panelaction', action)) {
if (Object.is('panelaction', action)) {
this.panelAction(data.action,data.emitAction,data);
this.panelAction(data.action,data.emitAction,data
.data
);
}
}
});
});
}
}
...
@@ -1044,7 +1050,6 @@ import schema from 'async-validator';
...
@@ -1044,7 +1050,6 @@ import schema from 'async-validator';
const data = response.data;
const data = response.data;
this.onFormLoad(data,'load');
this.onFormLoad(data,'load');
this.$emit('load', data);
this.$emit('load', data);
this.computeButtonState(data);
this.$nextTick(() => {
this.$nextTick(() => {
this.formState.next({ type: 'load', data: data });
this.formState.next({ type: 'load', data: data });
});
});
...
@@ -1095,7 +1100,6 @@ import schema from 'async-validator';
...
@@ -1095,7 +1100,6 @@ import schema from 'async-validator';
</#list>
</#list>
data.${appde.getCodeName()?lower_case} = null;
data.${appde.getCodeName()?lower_case} = null;
this.$emit('load', data);
this.$emit('load', data);
this.computeButtonState(data);
this.$nextTick(() => {
this.$nextTick(() => {
this.formState.next({ type: 'load', data: data });
this.formState.next({ type: 'load', data: data });
});
});
...
@@ -1153,7 +1157,6 @@ import schema from 'async-validator';
...
@@ -1153,7 +1157,6 @@ import schema from 'async-validator';
const data = response.data;
const data = response.data;
this.onFormLoad(data,'autoSave');
this.onFormLoad(data,'autoSave');
this.$emit('save', data);
this.$emit('save', data);
this.computeButtonState(data);
<#if ctrl.getControlType() == 'FORM'>
<#if ctrl.getControlType() == 'FORM'>
AppCenterService.notifyMessage({name:"${ctrl.getPSAppDataEntity().getCodeName()}",action:'appRefresh',data:data});
AppCenterService.notifyMessage({name:"${ctrl.getPSAppDataEntity().getCodeName()}",action:'appRefresh',data:data});
</#if>
</#if>
...
@@ -1240,7 +1243,6 @@ import schema from 'async-validator';
...
@@ -1240,7 +1243,6 @@ import schema from 'async-validator';
const data = response.data;
const data = response.data;
this.onFormLoad(data,'save');
this.onFormLoad(data,'save');
this.$emit('save', data);
this.$emit('save', data);
this.computeButtonState(data);
<#if ctrl.getControlType() == 'FORM'>
<#if ctrl.getControlType() == 'FORM'>
AppCenterService.notifyMessage({name:"${ctrl.getPSAppDataEntity().getCodeName()}",action:'appRefresh',data:data});
AppCenterService.notifyMessage({name:"${ctrl.getPSAppDataEntity().getCodeName()}",action:'appRefresh',data:data});
</#if>
</#if>
...
...
@CONTROL/表单/CONTROL.less.ftl
浏览文件 @
ae91881e
...
@@ -40,11 +40,15 @@
...
@@ -40,11 +40,15 @@
}
}
}
}
}
}
// 表单行间距
.app-form{
.app-form{
// 表单行间距
.app-form-item{
.app-form-item{
margin-bottom: 20px;
margin-bottom: 20px;
}
}
// 表单按钮margin
.app-form-button{
margin:0 6px;
}
}
}
<#ibizinclude>
<#ibizinclude>
../@MACRO/CSS/DEFAULT.less.ftl
../@MACRO/CSS/DEFAULT.less.ftl
...
...
@CONTROL/表格/CONTROL-BASE.vue.ftl
浏览文件 @
ae91881e
...
@@ -107,6 +107,7 @@ ${ctrl.render.code}
...
@@ -107,6 +107,7 @@ ${ctrl.render.code}
<#assign import_block>
<#assign import_block>
import CodeListService from "@service/app/codelist-service";
import CodeListService from "@service/app/codelist-service";
import { FormItemModel } from '@/model/form-detail';
import { FormItemModel } from '@/model/form-detail';
import { Environment } from '@/environments/environment';
</#assign>
</#assign>
<#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_HEADER-BASE.vue.ftl
../@MACRO/CONTROL/CONTROL_HEADER-BASE.vue.ftl
...
@@ -545,9 +546,11 @@ import { FormItemModel } from '@/model/form-detail';
...
@@ -545,9 +546,11 @@ import { FormItemModel } from '@/model/form-detail';
* @memberof ${srfclassname('${ctrl.codeName}')}Base
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
*/
public getActionState(data:any){
public getActionState(data:any){
let targetData:any = this.transformData(data);
let tempActionModel:any = JSON.parse(JSON.stringify(this.ActionModel));
let tempActionModel:any = JSON.parse(JSON.stringify(this.ActionModel));
if(Environment.enablePermissionValid){
let targetData:any = this.transformData(data);
ViewTool.calcActionItemAuthState(targetData,tempActionModel,this.appUIService);
ViewTool.calcActionItemAuthState(targetData,tempActionModel,this.appUIService);
}
return tempActionModel;
return tempActionModel;
}
}
...
@@ -2034,6 +2037,44 @@ import { FormItemModel } from '@/model/form-detail';
...
@@ -2034,6 +2037,44 @@ import { FormItemModel } from '@/model/form-detail';
return falg;
return falg;
}
}
/**
* 工作流提交
*
* @param {*} [data={}]
* @param {*} [localdata={}]
* @returns {Promise<any>}
* @memberof ${srfclassname('${ctrl.codeName}')}Base
*/
public async submitbatch(data: any,localdata:any): Promise<any> {
return new Promise((resolve: any, reject: any) => {
const _this: any = this;
const arg: any = data;
const result: Promise<any> = this.service.submitbatch(_this.WFSubmitAction, JSON.parse(JSON.stringify(this.context)),arg,localdata,this.showBusyIndicator);
result.then((response: any) => {
if (!response || response.status !== 200) {
if(response.data){
this.$Notice.error({ title: '', desc: (this.$t('app.formpage.workflow.submiterror') as string) + ', ' + response.data.message });
}
return;
}
this.$Notice.info({ title: '', desc: (this.$t('app.formpage.workflow.submitsuccess') as string) });
resolve(response);
}).catch((response: any) => {
if (response && response.status && response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: response.data.message });
reject(response);
return;
}
if (!response || !response.status || !response.data) {
this.$Notice.error({ title: (this.$t('app.commonWords.wrong') as string), desc: (this.$t('app.commonWords.sysException') as string) });
reject(response);
return;
}
reject(response);
});
})
}
<#ibizinclude>
<#ibizinclude>
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
../@MACRO/CONTROL/CONTROL_BOTTOM-BASE.vue.ftl
</#ibizinclude>
</#ibizinclude>
...
...
@CONTROL/表格/MODEL.ts.ftl
浏览文件 @
ae91881e
...
@@ -100,27 +100,33 @@ ${P.getCtrlCode('searchform', 'MODEL_CONTENT.ts').code}
...
@@ -100,27 +100,33 @@ ${P.getCtrlCode('searchform', 'MODEL_CONTENT.ts').code}
</#if>
</#if>
{
{
name:'size',
name:'size',
prop:'size'
prop:'size',
dataType: 'QUERYPARAM'
},
},
{
{
name:'query',
name:'query',
prop:'query'
prop:'query',
dataType: 'QUERYPARAM'
},
},
{
{
name:'filter',
name:'filter',
prop:'filter'
prop:'filter',
dataType: 'QUERYPARAM'
},
},
{
{
name:'page',
name:'page',
prop:'page'
prop:'page',
dataType: 'QUERYPARAM'
},
},
{
{
name:'sort',
name:'sort',
prop:'sort'
prop:'sort',
dataType: 'QUERYPARAM'
},
},
{
{
name:'srfparentdata',
name:'srfparentdata',
prop:'srfparentdata'
prop:'srfparentdata',
dataType: 'QUERYPARAM'
},
},
// 前端新增修改标识,新增为"0",修改为"1"或未设值
// 前端新增修改标识,新增为"0",修改为"1"或未设值
{
{
...
...
@CONTROL/表格/SERVICE.ts.ftl
浏览文件 @
ae91881e
...
@@ -18,6 +18,14 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
...
@@ -18,6 +18,14 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
../@MACRO/SERVICE/SERVICE_HEADER.ts.ftl
../@MACRO/SERVICE/SERVICE_HEADER.ts.ftl
</#ibizinclude>
</#ibizinclude>
/**
* 备份原生数据
*
* @type {*}
* @memberof ${srfclassname('${ctrl.codeName}')}Service
*/
public copynativeData:any;
<#list ctrl.getPSDEGridEditItems() as deItem>
<#list ctrl.getPSDEGridEditItems() as deItem>
<#if deItem.getPSEditor()?? && deItem.getPSEditor().getPSAppDataEntity?? && deItem.getPSEditor().getPSAppDataEntity()??>
<#if deItem.getPSEditor()?? && deItem.getPSEditor().getPSAppDataEntity?? && deItem.getPSEditor().getPSAppDataEntity()??>
<#assign _appde = deItem.getPSEditor().getPSAppDataEntity()/>
<#assign _appde = deItem.getPSEditor().getPSAppDataEntity()/>
...
@@ -242,6 +250,7 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
...
@@ -242,6 +250,7 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
result =_appEntityService.FetchDefault(Context,Data, isloading);
result =_appEntityService.FetchDefault(Context,Data, isloading);
}
}
result.then((response) => {
result.then((response) => {
this.copynativeData = Util.deepCopy(response.data);
this.handleResponse(action, response);
this.handleResponse(action, response);
resolve(response);
resolve(response);
}).catch(response => {
}).catch(response => {
...
@@ -419,6 +428,98 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
...
@@ -419,6 +428,98 @@ import ${srfclassname('${aggAppDataEntity.getCodeName()}')}Service from '@/servi
return {context:tempContext,data:requestData};
return {context:tempContext,data:requestData};
}
}
/**
* 处理工作流数据
*
* @param data 传入数据
* @memberof ${srfclassname('${ctrl.codeName}')}Service
*/
public handleWFData(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 = {};
dataItems.forEach((item:any) =>{
if(item && item.prop){
if(item.dataType){
if(!Object.is(item.dataType,'QUERYPARAM')){
requestData[item.prop] = data[item.name];
}
}else{
requestData[item.prop] = data[item.name];
}
}
});
if(isMerge && (data.viewparams && Object.keys(data.viewparams).length > 0)){
Object.assign(requestData,data.viewparams);
}
// 删除前端srffrontuf标识
if(requestData.hasOwnProperty('srffrontuf')){
delete requestData.srffrontuf;
}
//补充工作流所需主键
requestData.srfkey = data.${appde.getCodeName()?lower_case};
//补充全量数据
requestData = this.fillNativeData(requestData);
return requestData;
}
/**
* 补充全量数据
*
* @param {*} [data]
* @memberof ${srfclassname('${ctrl.codeName}')}Service
*/
public fillNativeData(data:any){
if(this.copynativeData && this.copynativeData.length >0){
let targetData:any = this.copynativeData.find((item:any) =>{
return item.${appde.getKeyPSAppDEField().getCodeName()?lower_case} === data.srfkey;
})
data = Object.assign(targetData,data);
return data;
}
}
/**
* 提交工作流
*
* @param {string} action
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof ${srfclassname('${ctrl.codeName}')}Service
*/
@Errorlog
public submitbatch(action: string,context: any = {}, data: any,localdata:any,isloading?: boolean): Promise<any> {
let tempData:any = [];
if(data && data.length > 0){
data.forEach((item:any) => {
let data:any = this.handleWFData(item,true);
tempData.push(data);
});
}
context = this.handleRequestData(action,context,data,true).context;
return new Promise((resolve: any, reject: any) => {
let result: Promise<any>;
const _appEntityService: any = this.appEntityService;
if (_appEntityService[action] && _appEntityService[action] instanceof Function) {
result = _appEntityService[action](context,tempData, localdata,isloading);
} else {
result = this.appEntityService.wfSubmitBatch(context,tempData,localdata,isloading);
}
result.then((response) => {
this.handleResponse(action, response);
resolve(response);
}).catch(response => {
reject(response);
});
});
}
<#ibizinclude>
<#ibizinclude>
../@MACRO/SERVICE/SERVICE_BOTTOM.ts.ftl
../@MACRO/SERVICE/SERVICE_BOTTOM.ts.ftl
</#ibizinclude>
</#ibizinclude>
\ No newline at end of file
@CONTROL/视图布局面板/实体工作流动态导航表格视图/VIEW.less.ftl
浏览文件 @
ae91881e
...
@@ -48,3 +48,10 @@
...
@@ -48,3 +48,10 @@
}
}
}
}
}
}
.dewfdynaexpgridview{
>.view-card{
.ivu-card-extra{
top: 6px;
}
}
}
\ No newline at end of file
@CONTROL/视图布局面板/实体工作流动态导航表格视图/VIEW.vue.ftl
浏览文件 @
ae91881e
...
@@ -4,6 +4,16 @@
...
@@ -4,6 +4,16 @@
<#ibizinclude>
<#ibizinclude>
../@MACRO/VIEW_CAPTION.vue.ftl
../@MACRO/VIEW_CAPTION.vue.ftl
</#ibizinclude>
</#ibizinclude>
<div slot="extra">
<div class='toolbar-container'>
<tooltip :transfer="true" :max-width="600" v-for="(linkItem, index) in linkModel" :key="index">
<i-button :disabled="linkItem.disabled" @click="dynamic_toolbar_click(linkItem, $event)">
<span class='caption'>{{linkItem.sequenceFlowName}}</span>
</i-button>
<div slot='content'>{{linkItem.sequenceFlowName}}</div>
</tooltip>
</div>
</div>
<split id="${view.getCodeName()?lower_case}" v-model="split" mode="horizontal">
<split id="${view.getCodeName()?lower_case}" v-model="split" mode="horizontal">
<div slot='left'>
<div slot='left'>
<el-tree ref="tree" :data="wfStepModel" node-key="userTaskId" :highlight-current="true" :props="defaultProps" @node-click="handleNodeClick">
<el-tree ref="tree" :data="wfStepModel" node-key="userTaskId" :highlight-current="true" :props="defaultProps" @node-click="handleNodeClick">
...
...
@CONTROL/视图布局面板/应用首页视图/VIEW.vue.ftl
浏览文件 @
ae91881e
...
@@ -39,6 +39,7 @@
...
@@ -39,6 +39,7 @@
<app-lang style='font-size: 15px;padding: 0 10px;'></app-lang>
<app-lang style='font-size: 15px;padding: 0 10px;'></app-lang>
<app-orgsector></app-orgsector>
<app-orgsector></app-orgsector>
<app-user></app-user>
<app-user></app-user>
<app-message-popover></app-message-popover>
<app-lock-scren />
<app-lock-scren />
<app-full-scren />
<app-full-scren />
<app-theme style="width:45px;display: flex;justify-content: center;"></app-theme>
<app-theme style="width:45px;display: flex;justify-content: center;"></app-theme>
...
@@ -72,6 +73,9 @@
...
@@ -72,6 +73,9 @@
<app-lang style='font-size: 15px;padding: 0 10px;'></app-lang>
<app-lang style='font-size: 15px;padding: 0 10px;'></app-lang>
<app-orgsector></app-orgsector>
<app-orgsector></app-orgsector>
<app-user></app-user>
<app-user></app-user>
<app-message-popover></app-message-popover>
<app-lock-scren />
<app-full-scren />
<app-theme style="width:45px;display: flex;justify-content: center;"></app-theme>
<app-theme style="width:45px;display: flex;justify-content: center;"></app-theme>
</div>
</div>
</header>
</header>
...
...
@CONTROL/面板/CONTROL-BASE.vue#ITEM_TABPANEL.ftl
0 → 100644
浏览文件 @
ae91881e
<#ibizinclude>
./@MACRO/PLAYOUT.vue.ftl
</#ibizinclude>
<div v-show="detailsModel.${item.name}.visible" class="app-layoutpanel-tabpanel<#if item.getPSSysCss()??> ${item.getPSSysCss().getCssName()}</#if>" ${tableAttr} style="${flexAttr}<#if item.getWidth() gt 0>width: ${item.getWidth()?c}px;</#if><#if item.getHeight() gt 0>height: ${item.getHeight()?c}px;</#if>">
<#if item.render??>
${item.render.code}
<#else>
<@ibizindent blank=8>
获取面板分页面板代码
</@ibizindent>
</#if>
</div>
\ No newline at end of file
@EDITOR/HTML编辑器/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
<#if item.render??>
<#if item.render??>
${item.render.code}
${item.render.code}
<#else>
<#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
}" @change="(val) =>{this.data.${editor.name} =val;panelEditItemChange(data, '${editor.name?lower_case}', 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>
</#if>
\ No newline at end of file
@EDITOR/图片控件/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
:ignorefieldvaluechange="false"
:ignorefieldvaluechange="false"
@formitemvaluechange="($event)=>{onPanelItemValueChange(data,$event)}"
@formitemvaluechange="($event)=>{onPanelItemValueChange(data,$event)}"
:data="JSON.stringify(data)"
:data="JSON.stringify(data)"
:
name='${editor.name?lower_case}'
name='${editor.name?lower_case}'
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
<#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"
...
...
@EDITOR/图片控件(单项)/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
:ignorefieldvaluechange="false"
:ignorefieldvaluechange="false"
@formitemvaluechange="($event)=>{onPanelItemValueChange(data,$event)}"
@formitemvaluechange="($event)=>{onPanelItemValueChange(data,$event)}"
:data="JSON.stringify(data)"
:data="JSON.stringify(data)"
:
name='${editor.name?lower_case}'
name='${editor.name?lower_case}'
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
<#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"
...
...
@EDITOR/文件上传/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -6,7 +6,7 @@
...
@@ -6,7 +6,7 @@
:ignorefieldvaluechange="false"
:ignorefieldvaluechange="false"
@formitemvaluechange="($event)=>{onPanelItemValueChange(data,$event)}"
@formitemvaluechange="($event)=>{onPanelItemValueChange(data,$event)}"
:data="JSON.stringify(data)"
:data="JSON.stringify(data)"
:
name='${editor.name?lower_case}'
name='${editor.name?lower_case}'
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
<#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"
...
...
@EDITOR/文件上传(支持拖拽)/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -4,7 +4,7 @@
...
@@ -4,7 +4,7 @@
:ignorefieldvaluechange="false"
:ignorefieldvaluechange="false"
@formitemvaluechange="($event)=>{onPanelItemValueChange(data,$event)}"
@formitemvaluechange="($event)=>{onPanelItemValueChange(data,$event)}"
:data="JSON.stringify(data)"
:data="JSON.stringify(data)"
:
name='${editor.name?lower_case}'
name='${editor.name?lower_case}'
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
<#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"
...
...
@EDITOR/时间选择器(新)/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -11,6 +11,6 @@
...
@@ -11,6 +11,6 @@
</#if>
</#if>
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
@on-change="(val1, val2) => { data.${editor.name?lower_case} = val1;
grid
EditItemChange(data, '${editor.name?lower_case}', val1)}">
@on-change="(val1, val2) => { data.${editor.name?lower_case} = val1;
panel
EditItemChange(data, '${editor.name?lower_case}', val1)}">
</date-picker>
</date-picker>
</#if>
</#if>
\ No newline at end of file
@EDITOR/时间选择控件/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -11,6 +11,6 @@
...
@@ -11,6 +11,6 @@
</#if>
</#if>
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
@on-change="(val1, val2) => { data.${editor.name?lower_case} = val1;
grid
EditItemChange(data, '${editor.name?lower_case}', val1)}">
@on-change="(val1, val2) => { data.${editor.name?lower_case} = val1;
panel
EditItemChange(data, '${editor.name?lower_case}', val1)}">
</date-picker>
</date-picker>
</#if>
</#if>
\ No newline at end of file
@EDITOR/时间选择控件_分钟/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -10,6 +10,6 @@
...
@@ -10,6 +10,6 @@
</#if>
</#if>
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
@on-change="(val) => { data.${editor.name?lower_case} = val;
grid
EditItemChange(data, '${editor.name?lower_case}', val)}">
@on-change="(val) => { data.${editor.name?lower_case} = val;
panel
EditItemChange(data, '${editor.name?lower_case}', val)}">
</time-picker>
</time-picker>
</#if>
</#if>
\ No newline at end of file
@EDITOR/时间选择控件_小时/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -10,6 +10,6 @@
...
@@ -10,6 +10,6 @@
</#if>
</#if>
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
@on-change="(val) => { data.${editor.name?lower_case} = val;
grid
EditItemChange(data, '${editor.name?lower_case}', val)}">
@on-change="(val) => { data.${editor.name?lower_case} = val;
panel
EditItemChange(data, '${editor.name?lower_case}', val)}">
</time-picker>
</time-picker>
</#if>
</#if>
\ No newline at end of file
@EDITOR/时间选择控件_无小时/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -11,6 +11,6 @@
...
@@ -11,6 +11,6 @@
</#if>
</#if>
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
@on-change="(val1, val2) => { data.${editor.name?lower_case} = val1;
grid
EditItemChange(data, '${editor.name?lower_case}', val1)}">
@on-change="(val1, val2) => { data.${editor.name?lower_case} = val1;
panel
EditItemChange(data, '${editor.name?lower_case}', val1)}">
</date-picker>
</date-picker>
</#if>
</#if>
\ No newline at end of file
@EDITOR/时间选择控件_无日期/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -10,6 +10,6 @@
...
@@ -10,6 +10,6 @@
</#if>
</#if>
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
@on-change="(val) => { data.${editor.name?lower_case} = val;
grid
EditItemChange(data, '${editor.name?lower_case}', val)}">
@on-change="(val) => { data.${editor.name?lower_case} = val;
panel
EditItemChange(data, '${editor.name?lower_case}', val)}">
</time-picker>
</time-picker>
</#if>
</#if>
\ No newline at end of file
@EDITOR/时间选择控件_无日期无秒钟/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -10,6 +10,6 @@
...
@@ -10,6 +10,6 @@
</#if>
</#if>
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
@on-change="(val) => { data.${editor.name?lower_case} = val;
grid
EditItemChange(data, '${editor.name?lower_case}', val)}">
@on-change="(val) => { data.${editor.name?lower_case} = val;
panel
EditItemChange(data, '${editor.name?lower_case}', val)}">
</time-picker>
</time-picker>
</#if>
</#if>
\ No newline at end of file
@EDITOR/时间选择控件_秒钟/PANELEDITOR.vue.ftl
浏览文件 @
ae91881e
...
@@ -10,6 +10,6 @@
...
@@ -10,6 +10,6 @@
</#if>
</#if>
:value="data.${editor.name?lower_case}"
:value="data.${editor.name?lower_case}"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
style="${item.getEditorCssStyle()}<#if item.getEditorParam('width','') == 'auto'>width:100%;</#if>"
@on-change="(val) => { data.${editor.name?lower_case} = val;
grid
EditItemChange(data, '${editor.name?lower_case}', val)}">
@on-change="(val) => { data.${editor.name?lower_case} = val;
panel
EditItemChange(data, '${editor.name?lower_case}', val)}">
</time-picker>
</time-picker>
</#if>
</#if>
\ No newline at end of file
@VIEW/实体工作流动态导航表格视图/VIEW-BASE.vue.ftl
浏览文件 @
ae91881e
...
@@ -29,7 +29,14 @@
...
@@ -29,7 +29,14 @@
* @type {any}
* @type {any}
* @memberof ${srfclassname('${view.codeName}')}Base
* @memberof ${srfclassname('${view.codeName}')}Base
*/
*/
public isSingleSelect:boolean = true;
public isSingleSelect:boolean = false;
/**
* 工具栏模型数据
*
* @memberof ${srfclassname('${view.codeName}')}Base
*/
public linkModel:Array<any> = [];
/**
/**
* 左侧树的默认配置
* 左侧树的默认配置
...
@@ -73,6 +80,7 @@
...
@@ -73,6 +80,7 @@
if(this.curSelectedNode){
if(this.curSelectedNode){
Object.assign(this.viewparams,{'userTaskId':this.curSelectedNode['userTaskId'],'processDefinitionKey':this.curSelectedNode['processDefinitionKey']});
Object.assign(this.viewparams,{'userTaskId':this.curSelectedNode['userTaskId'],'processDefinitionKey':this.curSelectedNode['processDefinitionKey']});
this.setTreeNodeHighLight(this.curSelectedNode);
this.setTreeNodeHighLight(this.curSelectedNode);
this.getWFLinkModel({'userTaskId':this.curSelectedNode['userTaskId'],'processDefinitionKey':this.curSelectedNode['processDefinitionKey']});
}
}
resolve(response.data);
resolve(response.data);
}
}
...
@@ -89,6 +97,56 @@
...
@@ -89,6 +97,56 @@
})
})
}
}
/**
* 获取工具栏按钮
*
* @memberof ${srfclassname('${view.codeName}')}Base
*/
public getWFLinkModel(data:any){
this.appEntityService.getWFLinks(JSON.parse(JSON.stringify(this.context)),data,true).then((response:any) =>{
if (response && response.status === 200) {
this.linkModel = response.data;
if(this.linkModel.length >0){
this.linkModel.forEach((item:any) =>{
item.disabled = true;
})
}
}
}).catch((response: any) => {
if (response && response.status) {
this.$Notice.error({ title: '错误', desc: response.message });
return;
}
if (!response || !response.status || !response.data) {
this.$Notice.error({ title: '错误', desc: '系统异常' });
return;
}
});
}
/**
* 工具栏点击事件
*
* @memberof ${srfclassname('${view.codeName}')}Base
*/
public dynamic_toolbar_click(linkItem:any, $event:any){
let datas: any[] = [];
let xData: any = this.$refs.grid;
if (xData.getDatas && xData.getDatas instanceof Function) {
datas = [...xData.getDatas()];
}
xData.submitbatch(datas,linkItem).then((response: any) => {
if (!response || response.status !== 200) {
return;
}
const { data: _data } = response;
this.engine.load();
if (this.viewdata) {
this.$emit('viewdataschange', [{ ..._data }]);
}
});
}
/**
/**
* 左侧树选中节点
* 左侧树选中节点
*
*
...
@@ -99,6 +157,7 @@
...
@@ -99,6 +157,7 @@
this.curSelectedNode = data;
this.curSelectedNode = data;
this.setTreeNodeHighLight(this.curSelectedNode);
this.setTreeNodeHighLight(this.curSelectedNode);
Object.assign(this.viewparams,{'userTaskId':data['userTaskId'],'processDefinitionKey':data['processDefinitionKey']});
Object.assign(this.viewparams,{'userTaskId':data['userTaskId'],'processDefinitionKey':data['processDefinitionKey']});
this.getWFLinkModel({'userTaskId':this.curSelectedNode['userTaskId'],'processDefinitionKey':this.curSelectedNode['processDefinitionKey']});
(this.$refs.searchform as any).onSearch();
(this.$refs.searchform as any).onSearch();
}
}
...
...
APP/public/assets/json/data-dictionary.json.ftl
浏览文件 @
ae91881e
...
@@ -23,6 +23,7 @@ TARGET=PSSYSAPP
...
@@ -23,6 +23,7 @@ TARGET=PSSYSAPP
"icon":"${sysimage.getImagePath()}",
"icon":"${sysimage.getImagePath()}",
</#if>
</#if>
</#if>
</#if>
"class":"<#if codeitem.getPSSysCss()??>${codeitem.getPSSysCss().getCssName()}</#if>",
"data":<#if codeitem.getData() !="">${codeitem.getData()}<#else>""</#if>,
"data":<#if codeitem.getData() !="">${codeitem.getData()}<#else>""</#if>,
<#if codeitem.getCodeName()??>
<#if codeitem.getCodeName()??>
"codename":"${codeitem.getCodeName()}",
"codename":"${codeitem.getCodeName()}",
...
...
APP/src/environments/environment.ts.ftl
浏览文件 @
ae91881e
...
@@ -28,8 +28,10 @@ export const Environment = {
...
@@ -28,8 +28,10 @@ export const Environment = {
enablePermissionValid:false,
enablePermissionValid:false,
// 项目模板地址
// 项目模板地址
ProjectUrl: "http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7",
ProjectUrl: "http://demo.ibizlab.cn/ibizr7pfstdtempl/ibizvuer7",
// 打开目标工具,可选参数:sln、mos
debugOpenMode:'mos',
// 配置平台地址
// 配置平台地址
StudioUrl: "http://172.16.170.145/
slnstudio
/",
StudioUrl: "http://172.16.170.145/
mos
/",
// 中心标识
// 中心标识
SlnId: "B4BF5C84-D020-4D9A-A986-8FA4FD72816C",
SlnId: "B4BF5C84-D020-4D9A-A986-8FA4FD72816C",
// 系统标识
// 系统标识
...
@@ -43,3 +45,7 @@ export const Environment = {
...
@@ -43,3 +45,7 @@ export const Environment = {
// ibiz论坛地址
// ibiz论坛地址
ibizbbstUrl: 'https://bbs.ibizlab.cn',
ibizbbstUrl: 'https://bbs.ibizlab.cn',
};
};
// 挂载外部配置文件
if ((window as any).Environment) {
Object.assign(Environment, (window as any).Environment);
}
\ No newline at end of file
APP/src/mock/codelist/codelist.ts.ftl
浏览文件 @
ae91881e
...
@@ -32,6 +32,7 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
...
@@ -32,6 +32,7 @@ mock.onGet('./assets/json/data-dictionary.json').reply((config: any) => {
"icon":"${sysimage.getImagePath()}",
"icon":"${sysimage.getImagePath()}",
</#if>
</#if>
</#if>
</#if>
"class":"<#if codeitem.getPSSysCss()??>${codeitem.getPSSysCss().getCssName()}</#if>",
"data":<#if codeitem.getData() != "">${codeitem.getData()}<#else>""</#if>,
"data":<#if codeitem.getData() != "">${codeitem.getData()}<#else>""</#if>,
<#if codeitem.getCodeName()??>
<#if codeitem.getCodeName()??>
"codename":"${codeitem.getCodeName()}",
"codename":"${codeitem.getCodeName()}",
...
...
APP/src/styles/app-code-list.less.ftl
0 → 100644
浏览文件 @
ae91881e
<#ibiztemplate>
TARGET=PSSYSAPP
</#ibiztemplate>
<#if app.getAllPSAppCodeLists?? && app.getAllPSAppCodeLists()??>
<#assign allAppCodeLists = app.getAllPSAppCodeLists() />
<#list allAppCodeLists as singleCodeList>
<#-- 静态代码表start -->
<#if singleCodeList.getCodeListType() == "STATIC">
<#if singleCodeList.getAllPSCodeItems()??>
<#list singleCodeList.getAllPSCodeItems() as codeItem>
<#if codeItem.getPSSysCss()??>
.${codeItem.getPSSysCss().getCssName()}{
${codeItem.getPSSysCss().getRawCssStyle()}
}
</#if>
</#list>
</#if>
</#if>
<#-- 静态代码表end -->
</#list>
</#if>
\ No newline at end of file
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录