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

ibiz4j 发布系统代码

上级 634d6cc2
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
:key="item.path" :key="item.path"
> >
<span <span
v-if="item.redirect === 'noredirect' || index === breadcrumbs.length-1" v-if="index === breadcrumbs.length-1"
class="no-redirect" class="no-redirect"
>{{ $t(item.meta.caption) }}</span> >{{ $t(item.meta.caption) }}</span>
<a <a
...@@ -22,64 +22,57 @@ ...@@ -22,64 +22,57 @@
</template> </template>
<script lang="ts"> <script lang="ts">
import { compile } from 'path-to-regexp'
import { Component, Vue, Watch, Prop } from 'vue-property-decorator' import { Component, Vue, Watch, Prop } from 'vue-property-decorator'
import { RouteRecord, Route } from 'vue-router' import { RouteRecord, Route } from 'vue-router'
@Component({ @Component({
name: 'Breadcrumb'
}) })
export default class extends Vue { export default class Breadcrumb extends Vue {
private breadcrumbs: RouteRecord[] = []
private breadcrumbs: RouteRecord[] = []; //面包屑列表
@Prop() public defPSAppView?: any; @Prop() public defPSAppView: any; //默认视图
/**
* 监听路由
*
* @memberof Breadcrumb
*/
@Watch('$route') @Watch('$route')
private onRouteChange(route: Route) { private onRouteChange(route: Route) {
// if you go to the redirect page, do not update the breadcrumbs
if (route.path.startsWith('/redirect/')) {
return
}
this.getBreadcrumb() this.getBreadcrumb()
} }
/**
* vue 生命周期
*
* @memberof Breadcrumb
*/
created() { created() {
this.getBreadcrumb() this.getBreadcrumb()
} }
/**
* 获取面包屑数据
*
* @memberof Breadcrumb
*/
private getBreadcrumb() { private getBreadcrumb() {
let matched = this.$route.matched.filter((item) => item.meta && item.meta.caption) this.breadcrumbs = this.$route.matched.filter((item) => {
const first = matched[0] return item.meta && item.meta.caption
if (!this.isDashboard(first)) { })
matched = [{ path: "/index/:index?", meta: { if(this.defPSAppView){
caption: 'app.views.index.caption', /**如果配置了默认视图,给面包屑第一级赋值默认视图为首页 */
viewType: 'APPINDEX',
parameters: [
{ pathName: 'index', parameterName: 'index' },
],
requireAuth: true, } } as RouteRecord].concat(matched)
}
this.breadcrumbs = matched.filter((item) => {
return item.meta && item.meta.caption && item.meta.breadcrumb !== false
})
}
private isDashboard(route: RouteRecord) {
const name = route && route.meta.parameters[0].pathName;
if (!name) {
return false
} }
return name.trim().toLocaleLowerCase() === 'index'.toLocaleLowerCase()
}
private pathCompile(item: any) {
const { params, path, query } = item;
return { params, path, query };
} }
/**
* 单机面包屑
*
* @memberof Breadcrumb
*/
private handleLink(item: any) { private handleLink(item: any) {
this.$router.push(this.pathCompile(item)).catch(err => { this.$router.push(item).catch(err => {
console.warn(err); console.warn(err);
}); });
} }
......
...@@ -101,7 +101,7 @@ export default class EditViewEngine extends ViewEngine { ...@@ -101,7 +101,7 @@ export default class EditViewEngine extends ViewEngine {
* @memberof EditViewEngine * @memberof EditViewEngine
*/ */
public onFormLoad(arg: any): void { public onFormLoad(arg: any): void {
this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : this.view.$(this.view.$t('app.local.new')); this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : this.view.$t('app.local.new');
this.setTabCaption(this.view.model.dataInfo); this.setTabCaption(this.view.model.dataInfo);
const newdata: boolean = !Object.is(arg.srfuf, '1'); const newdata: boolean = !Object.is(arg.srfuf, '1');
...@@ -115,7 +115,7 @@ export default class EditViewEngine extends ViewEngine { ...@@ -115,7 +115,7 @@ export default class EditViewEngine extends ViewEngine {
* @memberof EditViewEngine * @memberof EditViewEngine
*/ */
public onFormSave(arg: any): void { public onFormSave(arg: any): void {
this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : this.view.$(this.view.$t('app.local.new')); this.view.model.dataInfo = Object.is(arg.srfuf, '1') ? (this.majorPSDEField?arg[this.majorPSDEField]:arg.srfmajortext) : this.view.$t('app.local.new');
this.setTabCaption(this.view.model.dataInfo); this.setTabCaption(this.view.model.dataInfo);
const newdata: boolean = !Object.is(arg.srfuf, '1'); const newdata: boolean = !Object.is(arg.srfuf, '1');
......
...@@ -26,7 +26,8 @@ vueApp.locale = () => { }; ...@@ -26,7 +26,8 @@ vueApp.locale = () => { };
const i18n = new VueI18n({ const i18n = new VueI18n({
locale: lang, locale: lang,
messages messages,
silentTranslationWarn:true
}); });
export default i18n; export default i18n;
package cn.ibizlab.core.uaa.domain.handlers;
import cn.ibizlab.core.uaa.domain.SysApp;
import com.baomidou.mybatisplus.extension.handlers.AbstractJsonTypeHandler;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.JavaType;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.type.JdbcType;
import org.apache.ibatis.type.MappedJdbcTypes;
import org.apache.ibatis.type.MappedTypes;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
@Slf4j
@MappedTypes({List.class})
@MappedJdbcTypes(JdbcType.VARCHAR)
public class SysAppTypeHandler extends AbstractJsonTypeHandler<List>
{
private static ObjectMapper objectMapper = new ObjectMapper();
private JavaType type;
public SysAppTypeHandler(Class<List> type) {
this.type = objectMapper.getTypeFactory().constructParametricType(ArrayList.class, SysApp.class);
}
@Override
protected List parse(String json) {
try {
return objectMapper.readValue(json, type);
} catch (IOException e) {
throw new RuntimeException(e);
}
}
@Override
protected String toJson(List obj) {
try {
return objectMapper.writeValueAsString(obj);
} catch (JsonProcessingException e) {
throw new RuntimeException(e);
}
}
public static void setObjectMapper(ObjectMapper objectMapper) {
SysAppTypeHandler.objectMapper = objectMapper;
}
}
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
<!--输出实体[SYS_PSSYSTEM]数据结构 --> <!--输出实体[SYS_PSSYSTEM]数据结构 -->
<changeSet author="a_A_5d9d78509" id="tab-sys_pssystem-28-5"> <changeSet author="a_A_5d9d78509" id="tab-sys_pssystem-29-5">
<createTable tableName="IBZPSSYSTEM"> <createTable tableName="IBZPSSYSTEM">
<column name="PSSYSTEMID" remarks="" type="VARCHAR(100)"> <column name="PSSYSTEMID" remarks="" type="VARCHAR(100)">
<constraints primaryKey="true" primaryKeyName="PK_SYS_PSSYSTEM_PSSYSTEMID"/> <constraints primaryKey="true" primaryKeyName="PK_SYS_PSSYSTEM_PSSYSTEMID"/>
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册