提交 e8af0a80 编写于 作者: ibizdev's avatar ibizdev

ibiz4j 发布系统代码 [ibz-data,web]

上级 c2e78922
...@@ -41,7 +41,7 @@ ...@@ -41,7 +41,7 @@
"vue-amap": "^0.5.10", "vue-amap": "^0.5.10",
"vue-class-component": "^7.0.2", "vue-class-component": "^7.0.2",
"vue-grid-layout": "^2.3.7", "vue-grid-layout": "^2.3.7",
"vue-i18n": "^8.15.3", "vue-i18n": "^8.23.0",
"vue-property-decorator": "^9.1.2", "vue-property-decorator": "^9.1.2",
"vue-router": "^3.1.3", "vue-router": "^3.1.3",
"vuex": "^3.1.2", "vuex": "^3.1.2",
......
...@@ -159,7 +159,7 @@ export default class AppMpicker extends Vue { ...@@ -159,7 +159,7 @@ export default class AppMpicker extends Vue {
} }
}); });
} catch (error) { } catch (error) {
if(error.name === 'SyntaxError'){ if((error as any).name === 'SyntaxError'){
let srfkeys:any = newVal.split(','); let srfkeys:any = newVal.split(',');
let srfmajortexts:any = null; let srfmajortexts:any = null;
if(this.valueitem && this.activeData[this.valueitem]){ if(this.valueitem && this.activeData[this.valueitem]){
......
...@@ -229,9 +229,9 @@ export default class AppSpan extends Vue { ...@@ -229,9 +229,9 @@ export default class AppSpan extends Vue {
public dateFormat(){ public dateFormat(){
if(this.valueFormat){ if(this.valueFormat){
if(this.valueFormat.indexOf('%1$t') !== -1){ if(this.valueFormat.indexOf('%1$t') !== -1){
this.text= moment(this.data).format("YYYY-MM-DD HH:mm:ss"); this.text= moment(this.value).format("YYYY-MM-DD HH:mm:ss");
}else if(this.valueFormat.indexOf('%1$s') == -1){ }else if(this.valueFormat.indexOf('%1$s') == -1){
this.text= moment(this.data).format(this.valueFormat); this.text= moment(this.value).format(this.valueFormat);
}else{ }else{
this.text= this.value; this.text= this.value;
} }
......
...@@ -9,14 +9,6 @@ import GridViewEngine from './grid-view-engine'; ...@@ -9,14 +9,6 @@ import GridViewEngine from './grid-view-engine';
*/ */
export default class GridView8Engine extends GridViewEngine { export default class GridView8Engine extends GridViewEngine {
/**
* 表格部件
*
* @type {*}
* @memberof GridView8Engine
*/
protected grid: any;
/** /**
* 表格部件 * 表格部件
* *
......
...@@ -41,7 +41,7 @@ export default class TabExpViewEngine extends ViewEngine { ...@@ -41,7 +41,7 @@ export default class TabExpViewEngine extends ViewEngine {
if (!Object.is(_item.type, 'TABEXPPANEL')) { if (!Object.is(_item.type, 'TABEXPPANEL')) {
return; return;
} }
if(this.view.context && this.view.context[(this.keyPSDEField as string)]){ if(this.view.context && !this.view.context[(this.keyPSDEField as string)]){
return; return;
} }
this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context }); this.setViewState2({ tag: _item.name, action: 'load', viewdata: this.view.context });
......
...@@ -902,6 +902,23 @@ export default class EntityService { ...@@ -902,6 +902,23 @@ export default class EntityService {
} }
} }
/**
* 获取标准工作流版本信息
*
* @param {*} [context={}]
* @param {*} [data={}]
* @param {boolean} [isloading]
* @param {*} [localdata]
* @returns {Promise<any>}
* @memberof EntityService
*/
public async getStandWorkflow(context: any = {}, data: any = {}, isloading?: boolean): Promise<any> {
return Http.getInstance().get(
`/wfcore/${this.SYSTEMNAME}-app-${this.APPNAME}/${this.APPDENAME}/process-definitions`,
isloading,
);
}
/** /**
* WFGetProxyData接口方法 * WFGetProxyData接口方法
* *
......
...@@ -274,6 +274,11 @@ ...@@ -274,6 +274,11 @@
} }
} }
// 工作流流程版本选择
.start-workflow-select-wraper {
z-index: 3000 !important;
}
/*** END:多数据视图属性布局 ***/ /*** END:多数据视图属性布局 ***/
// 看板视图,卡片模式 // 看板视图,卡片模式
......
...@@ -17,7 +17,7 @@ export declare interface Http { ...@@ -17,7 +17,7 @@ export declare interface Http {
* @returns {Promise<any>} * @returns {Promise<any>}
* @memberof Http * @memberof Http
*/ */
post(url: string, params: any, isloading?: boolean, serialnumber?: number): Promise<any>; post(url: string, params?: any, isloading?: boolean, serialnumber?: number): Promise<any>;
/** /**
* 获取 * 获取
* *
...@@ -27,7 +27,7 @@ export declare interface Http { ...@@ -27,7 +27,7 @@ export declare interface Http {
* @returns {Promise<any>} * @returns {Promise<any>}
* @memberof Http * @memberof Http
*/ */
get(url: string, isloading?: boolean, serialnumber?: number): Promise<any>; get(url: string, params?: any, isloading?: boolean, serialnumber?: number): Promise<any>;
/** /**
* 删除 * 删除
* *
......
...@@ -76,7 +76,7 @@ export class ViewTool { ...@@ -76,7 +76,7 @@ export class ViewTool {
* @memberof ViewTool * @memberof ViewTool
*/ */
public static getIndexRoutePath(route: Route): string { public static getIndexRoutePath(route: Route): string {
const { parameters: _parameters }: { parameters: any[] } = route.meta; const { parameters: _parameters }: { parameters: any[] } = route.meta as any;
const { pathName: _pathName, parameterName: _parameterName }: { pathName: string, parameterName: string } = _parameters[0]; const { pathName: _pathName, parameterName: _parameterName }: { pathName: string, parameterName: string } = _parameters[0];
const param = route.params[_parameterName]; const param = route.params[_parameterName];
if (param && !Object.is(param, '')) { if (param && !Object.is(param, '')) {
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
"esModuleInterop": true, "esModuleInterop": true,
"experimentalDecorators": true, "experimentalDecorators": true,
"allowSyntheticDefaultImports": true, "allowSyntheticDefaultImports": true,
"skipLibCheck": true,
"sourceMap": true, "sourceMap": true,
"baseUrl": ".", "baseUrl": ".",
"types": [ "types": [
......
...@@ -32,6 +32,7 @@ import org.springframework.util.ClassUtils; ...@@ -32,6 +32,7 @@ import org.springframework.util.ClassUtils;
import org.springframework.util.DigestUtils; import org.springframework.util.DigestUtils;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils; import org.springframework.util.StringUtils;
import org.springframework.core.annotation.Order;
import javax.xml.stream.XMLInputFactory; import javax.xml.stream.XMLInputFactory;
import javax.xml.stream.XMLStreamReader; import javax.xml.stream.XMLStreamReader;
...@@ -52,6 +53,7 @@ import java.util.concurrent.ConcurrentMap; ...@@ -52,6 +53,7 @@ import java.util.concurrent.ConcurrentMap;
@Aspect @Aspect
@Component @Component
@Slf4j @Slf4j
@Order(100)
public class DELogicAspect { public class DELogicAspect {
private static BpmnXMLConverter bpmnXMLConverter = new BpmnXMLConverter(); private static BpmnXMLConverter bpmnXMLConverter = new BpmnXMLConverter();
......
...@@ -9,6 +9,8 @@ import org.springframework.web.bind.MethodArgumentNotValidException; ...@@ -9,6 +9,8 @@ import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.ControllerAdvice; import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.context.request.NativeWebRequest; import org.springframework.web.context.request.NativeWebRequest;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.multipart.MaxUploadSizeExceededException;
import org.zalando.problem.DefaultProblem; import org.zalando.problem.DefaultProblem;
import org.zalando.problem.Problem; import org.zalando.problem.Problem;
import org.zalando.problem.ProblemBuilder; import org.zalando.problem.ProblemBuilder;
...@@ -105,4 +107,31 @@ public class ExceptionTranslator implements ProblemHandling { ...@@ -105,4 +107,31 @@ public class ExceptionTranslator implements ProblemHandling {
headers.add("X-ibz-params", entityName); headers.add("X-ibz-params", entityName);
return headers; return headers;
} }
/**
* 上传文件大小超出限制异常
*/
@Value("${spring.servlet.multipart.max-file-size}")
private String maxFileSize;
@ExceptionHandler(MaxUploadSizeExceededException.class)
public ResponseEntity<Problem> handlerMaxUploadFile(MaxUploadSizeExceededException ex,NativeWebRequest request){
Problem problem = Problem.builder()
.withStatus(Status.BAD_REQUEST)
.withDetail("上传文件不能大于"+maxFileSize)
.with("message", "上传文件不能大于"+maxFileSize)
.with("exmessage",""+ex.getMessage())
.build();
return create(ex, problem, request);
}
@ExceptionHandler(Exception.class)
public ResponseEntity<Problem> handlerTest(Exception ex,NativeWebRequest request){
Problem problem = Problem.builder()
.withStatus(Status.INTERNAL_SERVER_ERROR)
.withDetail("内部服务器异常")
.with("message", "内部服务器异常")
.with("exmessage",""+ex.getMessage())
.build();
return create(ex, problem, request);
}
} }
...@@ -13,6 +13,7 @@ import org.springframework.security.core.Authentication; ...@@ -13,6 +13,7 @@ import org.springframework.security.core.Authentication;
import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.GrantedAuthority;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.util.ObjectUtils; import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.io.Serializable; import java.io.Serializable;
import java.lang.reflect.ParameterizedType; import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type; import java.lang.reflect.Type;
...@@ -300,20 +301,22 @@ public class AuthPermissionEvaluator implements PermissionEvaluator { ...@@ -300,20 +301,22 @@ public class AuthPermissionEvaluator implements PermissionEvaluator {
Map <String, DEField> preFields= DEFieldCacheMap.getDEFields(entityBase.getClass()); //从缓存中获取当前类预置属性 Map <String, DEField> preFields= DEFieldCacheMap.getDEFields(entityBase.getClass()); //从缓存中获取当前类预置属性
for (Map.Entry<String,DEField> entry : preFields.entrySet()){ for (Map.Entry<String,DEField> entry : preFields.entrySet()){
String fieldName=entry.getKey();//获取注解字段
DEField fieldAnnotation=entry.getValue();//获取注解值 DEField fieldAnnotation=entry.getValue();//获取注解值
String fieldName=fieldAnnotation.name();//获取注解字段
DEPredefinedFieldType prefieldType=fieldAnnotation.preType(); DEPredefinedFieldType prefieldType=fieldAnnotation.preType();
//用户配置系统预置属性-组织机构标识 if(!StringUtils.isEmpty(fieldName)){
if(prefieldType==prefieldType.ORGID){ //用户配置系统预置属性-组织机构标识
orgField=fieldName; if(prefieldType==prefieldType.ORGID){
} orgField=fieldName;
//用户配置系统预置属性-部门标识 }
if(prefieldType==prefieldType.ORGSECTORID){ //用户配置系统预置属性-部门标识
orgDeptField=fieldName; if(prefieldType==prefieldType.ORGSECTORID){
} orgDeptField=fieldName;
//用户配置系统预置属性-部门标识 }
if(prefieldType==prefieldType.CREATEMAN){ //用户配置系统预置属性-部门标识
createManField=fieldName; if(prefieldType==prefieldType.CREATEMAN){
createManField=fieldName;
}
} }
} }
permissionFiled.put("orgfield",orgField); permissionFiled.put("orgfield",orgField);
......
...@@ -20,7 +20,7 @@ public class AuthenticationEntryPoint implements org.springframework.security.we ...@@ -20,7 +20,7 @@ public class AuthenticationEntryPoint implements org.springframework.security.we
/** /**
* 当用户尝试访问安全的REST资源而不提供任何凭据时,将调用此方法发送401 响应 * 当用户尝试访问安全的REST资源而不提供任何凭据时,将调用此方法发送401 响应
*/ */
response.sendError(HttpServletResponse.SC_UNAUTHORIZED, authException==null?"Unauthorized":authException.getMessage()); response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "账号身份已过期,请重新登录。");
} }
......
...@@ -21,9 +21,9 @@ spring: ...@@ -21,9 +21,9 @@ spring:
max-file-size: 100MB max-file-size: 100MB
max-request-size: 100MB max-request-size: 100MB
datasource: datasource:
username: a_A_5d9d78509 username: root
password: '@6dEfb3@' password: 'root'
url: jdbc:mysql://172.16.180.232:3306/a_A_5d9d78509?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true url: jdbc:mysql://127.0.0.1:3306/ibzdata?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&useOldAliasMetadataBehavior=true&allowMultiQueries=true
driver-class-name: com.mysql.jdbc.Driver driver-class-name: com.mysql.jdbc.Driver
filters: stat,wall,log4j2 filters: stat,wall,log4j2
#配置初始化大小/最小/最大 #配置初始化大小/最小/最大
...@@ -44,7 +44,7 @@ spring: ...@@ -44,7 +44,7 @@ spring:
pool-prepared-statements: false pool-prepared-statements: false
max-pool-prepared-statement-per-connection-size: 20 max-pool-prepared-statement-per-connection-size: 20
isSyncDBSchema: false isSyncDBSchema: false
defaultSchema: a_A_5d9d78509 defaultSchema: ibzdata
conf: classpath:liquibase/master.xml conf: classpath:liquibase/master.xml
#Mybatis-plus配置 #Mybatis-plus配置
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册