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

ibizdev提交

上级 15e3ac29
{
"appindexview": {
"title": "应用首页视图",
"caption": "首页",
"viewtype": "APPINDEXVIEW",
"viewmodule": "Ungroup",
"viewname": "AppIndexView",
"viewtag": "958184FC-744E-4B78-A919-158C780D583F"
}
}
......@@ -25,8 +25,13 @@ export default {
},
// 非实体视图
views: {
appindexview: {
caption: '首页',
},
},
menus: {
appindexview: {
},
},
},
};
\ No newline at end of file
......@@ -25,8 +25,13 @@ export default {
},
// 非实体视图
views: {
appindexview: {
caption: '首页',
},
},
menus: {
appindexview: {
},
},
},
};
\ No newline at end of file
import { MockAdapter } from '@/mock/mock-adapter';
const mock = MockAdapter.getInstance();
import Mock from 'mockjs'
const Random = Mock.Random;
// 获取应用数据
mock.onGet('v7/app-index-viewappmenu').reply((config: any) => {
let status = MockAdapter.mockStatus(config);
return [status, {
name: 'appmenu',
items: [
],
}];
});
......@@ -7,5 +7,13 @@ import Mock from 'mockjs'
mock.onGet('./assets/json/view-config.json').reply((config: any) => {
let status = MockAdapter.mockStatus(config);
return [status,{
}];
"appindexview": {
"title": "应用首页视图",
"caption": "首页",
"viewtype": "APPINDEXVIEW",
"viewmodule": "Ungroup",
"viewname": "AppIndexView",
"viewtag": "958184FC-744E-4B78-A919-158C780D583F"
}
}];
});
\ No newline at end of file
.app-index-view{
position: relative;
}
.index_view{
width: 100%;
height: 100%;
padding: 0;
margin: 0;
.index_header{
height:50px;
padding:0 20px;
display: flex;
align-items: center;
justify-content: space-between;
.header-left{
display: flex;
align-items: center;
justify-content: space-between;
.el-menu.el-menu--horizontal{
border-bottom: none;
.el-submenu{
border-top: none;
}
}
}
> div {
line-height: 49px;
}
}
.index_content{
background-color:#fff;
height:calc(100vh - 50px);
overflow-x: hidden;
overflow-y: hidden;
}
>.ivu-layout {
>.ivu-layout {
height: calc(100vh - 50px);
}
}
.ivu-layout .ivu-layout-sider .ivu-layout-sider-children .sider-top{
line-height: 58px;
text-align: right;
padding-right: 18px;
}
.ivu-layout .ivu-layout-sider .ivu-layout-sider-children .sider-top .ivu-icon{
font-size: 20px;
padding: 4px;
margin-top: -2px;
cursor: pointer;
}
}
/*** BRGIN:滚动条样式 ***/
::-webkit-scrollbar {
background: transparent;
width: 4px;
height: 4px;
}
::-webkit-scrollbar-thumb {
border-radius: 0;
box-shadow: none;
border: 0;
background-color: #cecece;
}
::-webkit-scrollbar-track {
border-radius: 0;
box-shadow: none;
border: 0;
}
\ No newline at end of file
<script lang='ts'>
import { Component } from 'vue-property-decorator';
import AppIndexViewBase from './app-index-view-base.vue';
import view_appmenu from '@widgets/app/app-index-view-appmenu/app-index-view-appmenu.vue';
@Component({
components: {
view_appmenu,
},
beforeRouteEnter: (to: any, from: any, next: any) => {
next((vm: any) => {
vm.$store.commit('addCurPageViewtag', { fullPath: to.fullPath, viewtag: vm.viewtag });
});
},
})
export default class AppIndexView extends AppIndexViewBase {
}
</script>
\ No newline at end of file
import Vue from 'vue';
import Vuex from 'vuex';
import VueRouter from 'vue-router';
import App from '@/App.vue';
import ElementUi from 'element-ui';
import ViewUI from 'view-design';
import { Interceptors } from '@/utils';
import {Print} from '@/utils/print';
import i18n from '@/locale'
import 'element-ui/lib/theme-chalk/index.css';
import 'view-design/dist/styles/iview.css';
import '@/styles/default.less';
// 模拟数据
if (process.env.NODE_ENV === 'development') {
require('@/mock');
}
const pathToRegExp = require('path-to-regexp');
import { AppComponents } from '@/app-register';
import { PageComponents } from './page-register';
import { UserComponent } from '@/user-register';
import { PortletComponent } from '@/portlet-register';
import store from '@/store';
import router from './router';
Vue.config.errorHandler = function (err: any, vm: any, info: any) {
console.log(err);
}
Vue.config.productionTip = false;
Vue.use(Print)
Vue.use(Vuex);
Vue.use(VueRouter);;
Vue.use(ElementUi, {
i18n: (key: any, value: any) => i18n.t(key, value)
});
Vue.use(ViewUI, {
i18n: (key: any, value: any) => i18n.t(key, value)
});
// Vue.use(utils);
Vue.prototype.$pathToRegExp = pathToRegExp;
Vue.use(AppComponents);
Vue.use(PageComponents);
Vue.use(UserComponent);
Vue.use(PortletComponent);
router.beforeEach((to: any, from: any, next: any) => {
if (to.meta && !to.meta.ignoreAddPage) {
router.app.$store.commit('addPage', to);
}
next();
});
Interceptors.getInstance(router,store);
const init = async () => {
new Vue({
i18n,
store,
router,
render: (h: any) => h(App),
}).$mount('#app');
};
init();
\ No newline at end of file
export const PageComponents = {
install(Vue: any, opt: any) {
}
};
\ No newline at end of file
import Vue from 'vue';
import Router from 'vue-router';
import { AuthGuard } from '@/utils';
import qs from 'qs';
Vue.use(Router);
const router = new Router({
routes: [
{
path: '/appindexview/:appindexview?',
beforeEnter: (to: any, from: any, next: any) => {
const routerParamsName = 'appindexview';
const params: any = {};
if (to.params && to.params[routerParamsName]) {
Object.assign(params, qs.parse(to.params[routerParamsName], { delimiter: ';' }));
}
const url: string = '/appdata';
const auth: Promise<any> = AuthGuard.getInstance().authGuard(url, params, router);
auth.then(() => {
next();
}).catch(() => {
next();
});
},
meta: {
caption: '首页',
viewType: 'APPINDEX',
parameters: [
{ pathName: 'appindexview', parameterName: 'appindexview' },
],
requireAuth: true,
},
component: () => import('@pages/ungroup/app-index-view/app-index-view.vue'),
children: [
],
},
{
path: '/login/:login?',
name: 'login',
meta: {
caption: '登录',
viewType: 'login',
requireAuth: false,
ignoreAddPage: true,
},
beforeEnter: (to: any, from: any, next: any) => {
router.app.$store.commit('resetRootStateData');
next();
},
component: () => import('@components/login/login.vue'),
},
{
path: '/404',
component: () => import('@components/404/404.vue')
},
{
path: '/500',
component: () => import('@components/500/500.vue')
},
{
path: '*',
redirect: 'appindexview'
},
],
});
export default router;
......@@ -3,6 +3,15 @@
*/
export const viewstate: any = {
appviews: [
{
viewtag: '958184FC-744E-4B78-A919-158C780D583F',
viewmodule: 'Ungroup',
viewname: 'AppIndexView',
viewaction: '',
viewdatachange: false,
refviews: [
],
},
],
createdviews: [],
}
\ No newline at end of file
/**
* AppIndexView 部件模型
*
* @export
* @class AppIndexViewModel
*/
export default class AppIndexViewModel {
/**
* 菜单项集合
*
* @private
* @type {any[]}
* @memberof AppIndexViewModel
*/
private items: any[] = [
];
/**
* 应用功能集合
*
* @private
* @type {any[]}
* @memberof AppIndexViewModel
*/
private funcs: any[] = [
];
/**
* 获取所有菜单项集合
*
* @returns {any[]}
* @memberof AppIndexViewModel
*/
public getAppMenuItems(): any[] {
return this.items;
}
/**
* 获取所有应用功能集合
*
* @returns {any[]}
* @memberof AppIndexViewModel
*/
public getAppFuncs(): any[] {
return this.funcs;
}
}
\ No newline at end of file
import { Http,Util,Errorlog } from '@/utils';
import ControlService from '@/widgets/control-service';
import AppIndexViewModel from './app-index-view-appmenu-model';
/**
* AppIndexView 部件服务对象
*
* @export
* @class AppIndexViewService
*/
export default class AppIndexViewService extends ControlService {
/**
* 设置从数据模式
*
* @type {boolean}
* @memberof AppIndexViewService
*/
public setTempMode(){
this.isTempMode = false;
}
/**
* Creates an instance of AppIndexViewService.
*
* @param {*} [opts={}]
* @memberof AppIndexViewService
*/
constructor(opts: any = {}) {
super(opts);
this.model = new AppIndexViewModel();
}
/**
* 获取数据
*
* @returns {Promise<any>}
* @memberof AppIndexView
*/
@Errorlog
public get(params: any = {}): Promise<any> {
return Http.getInstance().get('v7/app-index-viewappmenu', params);
}
}
\ No newline at end of file
/*** BRGIN:菜单样式 ***/
.app-app-menu {
overflow-y: auto;
overflow-x: hidden;
height: calc(100% - 58px);
> .el-menu {
border-right: 0;
.el-menu-item {
.ivu-badge {
.ivu-badge-count {
box-shadow: 0 0 0 0px #fff;
}
}
}
.el-submenu__title i, .el-menu-item i {
font-size: 16px;
width: 16px;
}
.el-submenu__title .text {
font-size: 16px;
}
.el-menu-item, .el-submenu__title {
height: 36px;
font-size: 16px;
line-height: 32px;
}
.el-menu-item, .el-submenu, .el-menu {
border-top: 1px solid #fff;
}
> .el-menu-item, > .el-submenu > .el-submenu__title {
height: 40px;
line-height: 36px;
border-left: 4px solid transparent;
padding-left: 16px !important;
}
.app-menu-icon {
margin-right: 4px;
}
> .el-submenu {
> .el-menu {
> .el-menu-item, > .el-submenu > .el-submenu__title {
padding-left: 44px !important;
}
> .el-submenu {
> .el-menu {
> .el-menu-item, > .el-submenu > .el-submenu__title {
padding-left: 68px !important;
}
}
}
}
}
.active-icon {
font-size: 40px !important;
position: absolute;
right: 0;
line-height: 42px;
color: #fff !important;
display: none;
width: 24px !important;
overflow: hidden;
}
}
.ivu-divider-horizontal {
width: calc(100% - 32px);
min-width: calc(100% - 32px);
margin: 4px auto;
margin-bottom: 1px;
}
}
.app-popper-menu {
.el-menu-item, .el-submenu__title {
height: 36px;
font-size: 16px;
line-height: 36px;
}
> .el-menu-item, > .el-submenu > .el-submenu__title {
height: 40px;
line-height: 40px;
}
.el-menu-item {
.ivu-badge {
.ivu-badge-count {
box-shadow: 0 0 0 0px #fff;
}
}
> span{
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.ivu-divider-horizontal {
width: calc(100% - 12px);
min-width: calc(100% - 12px);
margin: 4px auto;
margin-bottom: 1px;
}
}
// this is less
<script lang='ts'>
import { Component } from 'vue-property-decorator';
import AppIndexViewBase from './app-index-view-appmenu-base.vue';
@Component({
components: {
}
})
export default class AppIndexView extends AppIndexViewBase {
}
</script>
\ No newline at end of file
......@@ -18,14 +18,46 @@ module.exports = {
// proxy: "http://127.0.0.1:8080/Web",
historyApiFallback: {
rewrites: [
// { from: /^\/appindexview$/, to: '/appindexview.html' },
]
}
},
pages: {
// 新增默认首页入口
index : {
// page 的入口
entry: 'src/pages/ungroup/app-index-view/main.ts',
// 模板来源
template: 'src/template.html',
// 在 dist/index.html 的输出
filename: 'index.html',
// 当使用 title 选项时,
// template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
title: '应用首页视图',
// 在这个页面中包含的块,默认情况下会包含
// 提取出来的通用 chunk 和 vendor chunk。
// chunks: ['chunk-vendors', 'chunk-common', 'index']
},
appindexview: {
// page 的入口
entry: 'src/pages/ungroup/app-index-view/main.ts',
// 模板来源
template: 'src/template.html',
// 在 dist/index.html 的输出
filename: 'appindexview.html',
// 当使用 title 选项时,
// template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
title: '应用首页视图',
// 在这个页面中包含的块,默认情况下会包含
// 提取出来的通用 chunk 和 vendor chunk。
// chunks: ['chunk-vendors', 'chunk-common', 'index']
},
},
// 多核打包
parallel: os.cpus().length > 1,
chainWebpack: (config) => {
config.plugins.delete('preload-appindexview')
config.plugins.delete('prefetch-appindexview')
config.resolve.alias
.set('@ibizsys', resolve('src/ibizsys'))
.set('@pages', resolve('src/pages'))
......
......@@ -40,14 +40,14 @@
mvn install
cd ..
mvn install
cd im-boot
mvn clean package
cd im-app/im-app-web
mvn clean package -Pprod
echo &apos;echo &quot;$para1&quot;&apos; &gt; apppasswd.sh
chmod -R 777 *
setsid env SSH_ASKPASS=&apos;./apppasswd.sh&apos; DISPLAY=&apos;none:0&apos; ssh root@172.16.102.41 &quot;mkdir -p /ibiz/nodes/node2/CCF487B5-45A8-4D01-8BA4-754E54BD935B&quot;
setsid env SSH_ASKPASS=&apos;./apppasswd.sh&apos; DISPLAY=&apos;none:0&apos; scp -r ./target/im.jar root@172.16.102.41:/ibiz/nodes/node2/CCF487B5-45A8-4D01-8BA4-754E54BD935B
setsid env SSH_ASKPASS=&apos;./apppasswd.sh&apos; DISPLAY=&apos;none:0&apos; ssh root@172.16.102.41 &quot;ps -ef | grep &apos;/ibiz/nodes/node2/CCF487B5-45A8-4D01-8BA4-754E54BD935B&apos;| tr -s &apos; &apos;|cut -d&apos; &apos; -f2,8,9 | grep -v grep | grep &apos;jar&apos; | cut -d&apos; &apos; -f1|xargs --no-run-if-empty kill -9&quot;
setsid env SSH_ASKPASS=&apos;./apppasswd.sh&apos; DISPLAY=&apos;none:0&apos; ssh root@172.16.102.41 &quot;source /etc/profile;source ~/.bash_profile; nohup java -jar -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=128m /ibiz/nodes/node2/CCF487B5-45A8-4D01-8BA4-754E54BD935B/im.jar &gt;&gt;/ibiz/nodes/node2/CCF487B5-45A8-4D01-8BA4-754E54BD935B/poc_apipoc 服务-`date --date=&apos;0 days ago&apos; +%Y-%m-%d`.log 2&gt;&amp;1 &amp;&quot;
setsid env SSH_ASKPASS=&apos;./apppasswd.sh&apos; DISPLAY=&apos;none:0&apos; ssh root@172.16.102.41 &quot;mkdir -p /ibiz/nodes/node2/83773F16-0C07-4015-8272-7E3984514121&quot;
setsid env SSH_ASKPASS=&apos;./apppasswd.sh&apos; DISPLAY=&apos;none:0&apos; scp -r ./target/im-app-web.jar root@172.16.102.41:/ibiz/nodes/node2/83773F16-0C07-4015-8272-7E3984514121
setsid env SSH_ASKPASS=&apos;./apppasswd.sh&apos; DISPLAY=&apos;none:0&apos; ssh root@172.16.102.41 &quot;ps -ef | grep &apos;/ibiz/nodes/node2/83773F16-0C07-4015-8272-7E3984514121&apos;| tr -s &apos; &apos;|cut -d&apos; &apos; -f2,8,9 | grep -v grep | grep &apos;jar&apos; | cut -d&apos; &apos; -f1|xargs --no-run-if-empty kill -9&quot;
setsid env SSH_ASKPASS=&apos;./apppasswd.sh&apos; DISPLAY=&apos;none:0&apos; ssh root@172.16.102.41 &quot;source /etc/profile;source ~/.bash_profile; nohup java -jar -Xms512m -Xmx1024m -XX:PermSize=128M -XX:MaxPermSize=128m /ibiz/nodes/node2/83773F16-0C07-4015-8272-7E3984514121/im-app-web.jar &gt;&gt;/ibiz/nodes/node2/83773F16-0C07-4015-8272-7E3984514121/poc_apppoc 应用-`date --date=&apos;0 days ago&apos; +%Y-%m-%d`.log 2&gt;&amp;1 &amp;&quot;
</command>
</hudson.tasks.Shell>
</builders>
......
server:
devmode: true
port: 8080
devmode: false
port: 9902
servlet:
session:
cookie:
......@@ -17,11 +17,11 @@ spring:
security:
cas:
server:
host: http://passportcs.ibizlab.cn
host: https://passport.ibizlab.cn
login: ${security.cas.server.host}/login
logout: ${security.cas.server.host}/logout
service:
host: http://localhost:${server.port}
host: http://172.16.102.41:${server.port}
login: /login/cas
logout: /logout
......@@ -36,7 +36,7 @@ logging:
app:
web:
url: http://localhost:${server.port}
url: http://172.16.102.41:${server.port}
wfstarturl: /#/%s/null/editview
# wfviewurl: /#/dewfdataredirectview
wfviewurl: /#/appwfdataredirectview
......
server:
devmode: true
port: 8080
devmode: false
port: 9902
servlet:
session:
cookie:
......@@ -17,11 +17,11 @@ spring:
security:
cas:
server:
host: http://passportcs.ibizlab.cn
host: https://passport.ibizlab.cn
login: ${security.cas.server.host}/login
logout: ${security.cas.server.host}/logout
service:
host: http://localhost:${server.port}
host: http://172.16.102.41:${server.port}
login: /login/cas
logout: /logout
......@@ -36,7 +36,7 @@ logging:
app:
web:
url: http://localhost:${server.port}
url: http://172.16.102.41:${server.port}
wfstarturl: /#/%s/null/editview
# wfviewurl: /#/dewfdataredirectview
wfviewurl: /#/appwfdataredirectview
......
server:
port: 9901
port: 8080
spring:
application:
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册