Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
T
TrainSys
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
苏州培训方案
TrainSys
提交
63912424
提交
63912424
编写于
10月 11, 2022
作者:
ibizdev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lxm1993 发布系统代码 [TrainSys,网页端]
上级
8a03918d
变更
23
隐藏空白字符变更
内嵌
并排
正在显示
23 个修改的文件
包含
535 行增加
和
125 行删除
+535
-125
package.json
app_Web/package.json
+9
-9
pnpm-lock.yaml
app_Web/pnpm-lock.yaml
+40
-40
404.png
app_Web/public/assets/img/404.png
+0
-0
cas-login.js
app_Web/public/assets/js/cas-login.js
+133
-0
cas-login.html
app_Web/public/cas-login.html
+98
-0
attach-environment-config.ts
app_Web/src/attach-environment-config.ts
+1
-0
view-base.tsx
app_Web/src/components/layout/view-base/view-base.tsx
+18
-7
router-shell.tsx
app_Web/src/components/router-shell/router-shell.tsx
+7
-1
grid-control.tsx
app_Web/src/components/widgets/grid-control/grid-control.tsx
+17
-15
auth-guard.ts
app_Web/src/guard/auth-guard/auth-guard.ts
+5
-9
index.ts
app_Web/src/guard/index.ts
+1
-1
unauthorized-handler.ts
...eb/src/guard/unauthorized-handler/unauthorized-handler.ts
+75
-0
index.ts
app_Web/src/router/index.ts
+5
-0
view-base.scss
...Web/src/styles/components/layout/view-base/view-base.scss
+13
-0
view-layout.scss
...src/styles/components/layout/view-layout/view-layout.scss
+2
-7
404-view.scss
app_Web/src/styles/components/views/404-view/404-view.scss
+12
-0
grid-ua-column.scss
...eb/src/styles/components/widgets/grid/grid-ua-column.scss
+6
-0
var.scss
app_Web/src/styles/settings/var.scss
+15
-2
error-handler.ts
app_Web/src/util/error-handler/error-handler.ts
+2
-2
404-view.tsx
app_Web/src/views/404-view/404-view.tsx
+45
-2
index-view.ts
app_Web/src/views/index-view/index-view.ts
+5
-5
update.sh
app_Web/update.sh
+1
-0
yarn.lock
app_Web/yarn.lock
+25
-25
未找到文件。
app_Web/package.json
浏览文件 @
63912424
...
...
@@ -11,13 +11,14 @@
"lint:style"
:
"stylelint 'src/**/*.scss'"
},
"dependencies"
:
{
"@ibiz-template/command"
:
"^0.0.1-alpha.13"
,
"@ibiz-template/controller"
:
"^0.0.1-alpha.15"
,
"@ibiz-template/core"
:
"^0.0.1-alpha.13"
,
"@ibiz-template/model"
:
"^0.0.1-alpha.15"
,
"@ibiz-template/runtime"
:
"^0.0.1-alpha.15"
,
"@ibiz-template/service"
:
"^0.0.1-alpha.15"
,
"@ibiz-template/vue-util"
:
"^0.0.1-alpha.15"
,
"@ibiz-template/command"
:
"0.0.1-alpha.13"
,
"@ibiz-template/controller"
:
"0.0.1-alpha.16"
,
"@ibiz-template/core"
:
"0.0.1-alpha.16"
,
"@ibiz-template/model"
:
"0.0.1-alpha.16"
,
"@ibiz-template/runtime"
:
"0.0.1-alpha.16"
,
"@ibiz-template/service"
:
"0.0.1-alpha.16"
,
"@ibiz-template/vue-util"
:
"0.0.1-alpha.16"
,
"dayjs"
:
"^1.11.5"
,
"ionicons"
:
"^6.0.3"
,
"lodash-es"
:
"^4.17.21"
,
"pinia"
:
"^2.0.22"
,
...
...
@@ -28,8 +29,7 @@
"systemjs"
:
"^6.13.0"
,
"view-design"
:
"^4.7.0"
,
"vue"
:
"^2.7.10"
,
"vue-router"
:
"^3.6.4"
,
"dayjs"
:
"^1.11.5"
"vue-router"
:
"^3.6.4"
},
"devDependencies"
:
{
"@commitlint/cli"
:
"^17.1.2"
,
...
...
app_Web/pnpm-lock.yaml
浏览文件 @
63912424
...
...
@@ -3,13 +3,13 @@ lockfileVersion: 5.4
specifiers
:
'
@commitlint/cli'
:
^17.1.2
'
@commitlint/config-conventional'
:
^17.1.0
'
@ibiz-template/command'
:
^
0.0.1-alpha.13
'
@ibiz-template/controller'
:
^0.0.1-alpha.15
'
@ibiz-template/core'
:
^0.0.1-alpha.13
'
@ibiz-template/model'
:
^0.0.1-alpha.15
'
@ibiz-template/runtime'
:
^0.0.1-alpha.15
'
@ibiz-template/service'
:
^0.0.1-alpha.15
'
@ibiz-template/vue-util'
:
^0.0.1-alpha.15
'
@ibiz-template/command'
:
0.0.1-alpha.13
'
@ibiz-template/controller'
:
0.0.1-alpha.16
'
@ibiz-template/core'
:
0.0.1-alpha.16
'
@ibiz-template/model'
:
0.0.1-alpha.16
'
@ibiz-template/runtime'
:
0.0.1-alpha.16
'
@ibiz-template/service'
:
0.0.1-alpha.16
'
@ibiz-template/vue-util'
:
0.0.1-alpha.16
'
@types/lodash-es'
:
^4.17.6
'
@types/node'
:
^18.8.3
'
@types/qs'
:
^6.9.7
...
...
@@ -60,12 +60,12 @@ specifiers:
dependencies
:
'
@ibiz-template/command'
:
0.0.1-alpha.13
'
@ibiz-template/controller'
:
0.0.1-alpha.1
5_wvyibvgvo5rqntlnslu6kgeaua
'
@ibiz-template/core'
:
0.0.1-alpha.1
3
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
5
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/runtime'
:
0.0.1-alpha.1
5_xicyfd2scxwdlnm3nwj35lmm6u
'
@ibiz-template/service'
:
0.0.1-alpha.1
5_ugamdxggotwkp4sabiqjh6vek4
'
@ibiz-template/vue-util'
:
0.0.1-alpha.1
5_pvqgesrhqd5s4uqltz7hjmff4
u
'
@ibiz-template/controller'
:
0.0.1-alpha.1
6_3vyzyqdsfjj2uuejjjk5alwidq
'
@ibiz-template/core'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/runtime'
:
0.0.1-alpha.1
6_hfpvjyl7tcjqp2uqrwytqjd3dq
'
@ibiz-template/service'
:
0.0.1-alpha.1
6_olo3fw5kxwfldkalipgpgtirfq
'
@ibiz-template/vue-util'
:
0.0.1-alpha.1
6_d55f7qedagx7tksktpnydpksn
u
dayjs
:
1.11.5
ionicons
:
6.0.3
lodash-es
:
4.17.21
...
...
@@ -661,8 +661,8 @@ packages:
resolution
:
{
integrity
:
sha512-IUD6x29nmmxdL8XbGGfBAEYlPO/+E8qHd/TI2ncgaaBFcF6M4ih7xga8l1oYuSdr+xx4mlXkAbzQFOqAQWm21g==
}
dev
:
false
/@ibiz-template/controller/0.0.1-alpha.1
5_wvyibvgvo5rqntlnslu6kgeaua
:
resolution
:
{
integrity
:
sha512-
UpujB323mASgEkCb5poRfguYnU9dWqEryCWg8/lsmBUmR/I72NUEDHwbk9dZSMJsEThxoTmVC31aXqmMbORi7g
==
}
/@ibiz-template/controller/0.0.1-alpha.1
6_3vyzyqdsfjj2uuejjjk5alwidq
:
resolution
:
{
integrity
:
sha512-
6ES/q892/Gm+TKKOH519PV3JyBpCQMP5Hpk/qO2iYdFC5GZJFSLbD/tz9IO8YcIPA32u4bkV8otxiV7q/S+L7A
==
}
peerDependencies
:
'
@ibiz-template/core'
:
^0.0.1-alpha.2
'
@ibiz-template/model'
:
^0.0.1-alpha.2
...
...
@@ -671,18 +671,18 @@ packages:
lodash-es
:
^4.17.21
qx-util
:
^0.4.1
dependencies
:
'
@ibiz-template/core'
:
0.0.1-alpha.1
3
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
5
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/runtime'
:
0.0.1-alpha.1
5_xicyfd2scxwdlnm3nwj35lmm6u
'
@ibiz-template/service'
:
0.0.1-alpha.1
5_ugamdxggotwkp4sabiqjh6vek4
'
@ibiz-template/core'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/runtime'
:
0.0.1-alpha.1
6_hfpvjyl7tcjqp2uqrwytqjd3dq
'
@ibiz-template/service'
:
0.0.1-alpha.1
6_olo3fw5kxwfldkalipgpgtirfq
async-validator
:
4.2.5
dayjs
:
1.11.5
lodash-es
:
4.17.21
qx-util
:
0.4.1
dev
:
false
/@ibiz-template/core/0.0.1-alpha.1
3
_amgpmzcbvys7f63sicqtedd4k4
:
resolution
:
{
integrity
:
sha512-
7Vg4mWrty/aVlM63oEgMjMcYIY1lSkczb+Z6KCdkzZlfTp2LZJlNIJ4ZVw0XR0ctykDxUh91uBJNb47RgEdxQQ
==
}
/@ibiz-template/core/0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
:
resolution
:
{
integrity
:
sha512-
Wt1J6hUmMopF9MfXj2tMTFoNiNnhYsEL78Jjmj4f2ZPVZd5+EDBk4ricGfw5aNNB74TPoqrX/vvpIVGEAlngGA
==
}
peerDependencies
:
lodash-es
:
^4.17.21
qx-util
:
^0.4.1
...
...
@@ -696,8 +696,8 @@ packages:
-
debug
dev
:
false
/@ibiz-template/model/0.0.1-alpha.1
5
_amgpmzcbvys7f63sicqtedd4k4
:
resolution
:
{
integrity
:
sha512-
ZQWSvPa+W9ecDLi3P7UcBqKCPy0rdZCmXoJiZ+pbZVpO01Xdk5BwSzuTEl8Pgz2ciIP15a25M8G8YjziZ35lhg
==
}
/@ibiz-template/model/0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
:
resolution
:
{
integrity
:
sha512-
QlrUeXkU9UaN6A/k2v9ElGw0n8lzD8pS/OFbc5SFcyXj9iTdKQk/wWk4qVRXKWhDOCzhAixTwxn7k+Z3bLtPAA
==
}
peerDependencies
:
lodash-es
:
^4.17.21
qx-util
:
^0.4.1
...
...
@@ -708,8 +708,8 @@ packages:
qx-util
:
0.4.1
dev
:
false
/@ibiz-template/runtime/0.0.1-alpha.1
5_xicyfd2scxwdlnm3nwj35lmm6u
:
resolution
:
{
integrity
:
sha512-
fFM8vDoyIC1eoSSfJYypwZ2aCJej6Fh4jFuIPRxZd2iEatgn+CPgAL+k5EQGFTe7qs36I4bkqV9EXZWSl/1Ocg
==
}
/@ibiz-template/runtime/0.0.1-alpha.1
6_hfpvjyl7tcjqp2uqrwytqjd3dq
:
resolution
:
{
integrity
:
sha512-
it9CF4XEUEY5hWeiHwnMw3tW3v3IK7fxiWmRJADItUn5fs+rZnzfh/6pOKY2duj2o1yUnUzbSFrjw8owOOhx8Q
==
}
peerDependencies
:
'
@ibiz-template/core'
:
^0.0.1-alpha.2
'
@ibiz-template/model'
:
^0.0.1-alpha.2
...
...
@@ -717,28 +717,28 @@ packages:
qx-util
:
^0.4.1
dependencies
:
'
@ibiz-template/command'
:
0.0.1-alpha.13
'
@ibiz-template/core'
:
0.0.1-alpha.1
3
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
5
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/service'
:
0.0.1-alpha.1
5_ugamdxggotwkp4sabiqjh6vek4
'
@ibiz-template/core'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/service'
:
0.0.1-alpha.1
6_olo3fw5kxwfldkalipgpgtirfq
qx-util
:
0.4.1
dev
:
false
/@ibiz-template/service/0.0.1-alpha.1
5_ugamdxggotwkp4sabiqjh6vek4
:
resolution
:
{
integrity
:
sha512-
5kqvYh9bDddSNLDHb2ceDL+V0+cDd3oG3gK12RH2kyKXagP9DTRgfYbOHOmOe7eGhPolPndUDgkeP4Sbgn/N4g
==
}
/@ibiz-template/service/0.0.1-alpha.1
6_olo3fw5kxwfldkalipgpgtirfq
:
resolution
:
{
integrity
:
sha512-
GJSk3lnvRYbylq8/di9MG6nPhVSaAR7S2GRInF0Uzj0mpqOVDr61YkdTBIvtCn1nZTSuXlu5NbfBxAhLmBaN1w
==
}
peerDependencies
:
'
@ibiz-template/core'
:
^0.0.1-alpha.2
'
@ibiz-template/model'
:
^0.0.1-alpha.2
qx-util
:
^0.4.1
ramda
:
^0.28.0
dependencies
:
'
@ibiz-template/core'
:
0.0.1-alpha.1
3
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
5
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/core'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
qx-util
:
0.4.1
ramda
:
0.28.0
dev
:
false
/@ibiz-template/vue-util/0.0.1-alpha.1
5_pvqgesrhqd5s4uqltz7hjmff4
u
:
resolution
:
{
integrity
:
sha512-
eg5f/Act0cn1mRGFQz+G5kIjVSrHwqKv188EHS02y/zaa47ZTKEp69bSrWFcTK7gqR7kQIEjEDGguFw5KyGLAQ
==
}
/@ibiz-template/vue-util/0.0.1-alpha.1
6_d55f7qedagx7tksktpnydpksn
u
:
resolution
:
{
integrity
:
sha512-
xxtPlFhfyOXrH6k1rgGVNuVm9NEM96JR06Tly9cbxp4bdldsbO6+tRzk9n6DDcsbyrSacnIkUy6rHm2gXKvOPg
==
}
peerDependencies
:
'
@ibiz-template/controller'
:
'
>=0.0.1-alpha.2'
'
@ibiz-template/core'
:
'
>=0.0.1-alpha.2'
...
...
@@ -748,9 +748,9 @@ packages:
vue
:
^2.7.10
vue-router
:
^3.6.4
dependencies
:
'
@ibiz-template/controller'
:
0.0.1-alpha.1
5_wvyibvgvo5rqntlnslu6kgeaua
'
@ibiz-template/core'
:
0.0.1-alpha.1
3
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
5
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/controller'
:
0.0.1-alpha.1
6_3vyzyqdsfjj2uuejjjk5alwidq
'
@ibiz-template/core'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
'
@ibiz-template/model'
:
0.0.1-alpha.1
6
_amgpmzcbvys7f63sicqtedd4k4
qs
:
6.11.0
qx-util
:
0.4.1
vue
:
2.7.10
...
...
@@ -1478,7 +1478,7 @@ packages:
/axios/0.27.2
:
resolution
:
{
integrity
:
sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==
}
dependencies
:
follow-redirects
:
1.15.
1
follow-redirects
:
1.15.
2
form-data
:
4.0.0
transitivePeerDependencies
:
-
debug
...
...
@@ -2571,8 +2571,8 @@ packages:
resolution
:
{
integrity
:
sha512-0sQoMh9s0BYsm+12Huy/rkKxVu4R1+r96YX5cG44rHV0pQ6iC3Q+mkoMFaGWObMFYQxCVT+ssG1ksneA2MI9KQ==
}
dev
:
true
/follow-redirects/1.15.
1
:
resolution
:
{
integrity
:
sha512-
yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8Oiz
A==
}
/follow-redirects/1.15.
2
:
resolution
:
{
integrity
:
sha512-
VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91Jw
A==
}
engines
:
{
node
:
'
>=4.0'
}
peerDependencies
:
debug
:
'
*'
...
...
app_Web/public/assets/img/404.png
0 → 100644
浏览文件 @
63912424
50.9 KB
app_Web/public/assets/js/cas-login.js
0 → 100644
浏览文件 @
63912424
var
BaseUrl
=
''
;
if
(
window
.
Environment
&&
window
.
Environment
.
BaseUrl
)
{
BaseUrl
=
"/"
+
window
.
Environment
.
BaseUrl
;
}
function
getQueryVariable
(
variable
)
{
var
query
=
location
.
search
.
substring
(
1
);
var
vars
=
query
.
split
(
'&'
);
for
(
var
i
=
0
;
i
<
vars
.
length
;
i
++
)
{
var
pair
=
vars
[
i
].
split
(
'='
);
if
(
pair
[
0
]
==
variable
)
{
return
pair
[
1
];
}
}
return
false
;
}
function
getRequest
(
method
,
url
,
params
)
{
var
config
=
{
credentials
:
'include'
};
config
.
method
=
method
;
if
(
params
)
{
if
(
method
===
'POST'
)
{
config
.
headers
=
{
Accept
:
'application/json'
,
'Content-Type'
:
'application/json;charset=utf-8'
};
config
.
body
=
JSON
.
stringify
(
params
);
}
}
return
new
Request
(
url
,
config
);
}
function
post
(
url
,
params
)
{
return
fetch
(
this
.
getRequest
(
'POST'
,
url
,
params
));
}
function
setCookie
(
name
,
value
,
day
,
isDomain
,
path
)
{
if
(
day
==
null
)
{
day
=
0
;
}
if
(
isDomain
==
null
)
{
isDomain
=
false
;
}
if
(
path
==
null
)
{
path
=
'/'
;
}
var
domain
=
''
;
// 设置cookie到主域下
if
(
isDomain
)
{
// 是否为ip正则
const
regExpr
=
/^
(
25
[
0-5
]
|2
[
0-4
]\d
|
[
0-1
]\d{2}
|
[
1-9
]?\d)\.(
25
[
0-5
]
|2
[
0-4
]\d
|
[
0-1
]\d{2}
|
[
1-9
]?\d)\.(
25
[
0-5
]
|2
[
0-4
]\d
|
[
0-1
]\d{2}
|
[
1-9
]?\d)\.(
25
[
0-5
]
|2
[
0-4
]\d
|
[
0-1
]\d{2}
|
[
1-9
]?\d)
$/
;
// 为ip时忽略
if
(
!
regExpr
.
test
(
location
.
hostname
))
{
const
host
=
location
.
hostname
;
if
(
host
.
indexOf
(
'.'
)
!==
host
.
lastIndexOf
(
'.'
))
{
domain
=
';domain='
+
host
.
substring
(
host
.
indexOf
(
'.'
),
host
.
length
);
}
}
}
if
(
day
!==
0
)
{
//当设置的时间等于0时,不设置expires属性,cookie在浏览器关闭后删除
const
expires
=
day
*
24
*
60
*
60
*
1000
;
const
date
=
new
Date
(
new
Date
().
getTime
()
+
expires
);
document
.
cookie
=
name
+
'='
+
escape
(
value
)
+
';path='
+
path
+
';expires='
+
date
.
toUTCString
()
+
domain
;
}
else
{
document
.
cookie
=
name
+
'='
+
escape
(
value
)
+
';path='
+
path
+
domain
;
}
}
function
clearCookie
(
cookieName
,
isDomain
)
{
this
.
setCookie
(
cookieName
,
''
,
-
1
,
isDomain
);
}
window
.
onload
=
function
()
{
var
infoEl
=
document
.
getElementById
(
'redirect-info'
);
var
errInfoEl
=
document
.
getElementById
(
'redirect-error'
);
// 显示错误信息
var
showError
=
function
(
info
)
{
errInfoEl
.
textContent
=
info
;
infoEl
.
style
.
display
=
'none'
;
errInfoEl
.
style
.
display
=
'block'
;
};
var
load
=
function
()
{
try
{
var
ticket
=
getQueryVariable
(
'ticket'
);
if
(
!
ticket
)
{
showError
(
'「ticket」信息获取失败,请稍后重试!'
);
return
;
}
var
ru
=
getQueryVariable
(
'RU'
);
if
(
ru
)
{
ru
=
decodeURIComponent
(
ru
);
}
post
(
BaseUrl
+
'/v7/login'
,
{
password
:
ticket
,
loginname
:
location
.
origin
+
location
.
pathname
+
location
.
hash
+
'?RU='
+
encodeURIComponent
(
ru
),
})
.
then
(
function
(
res
)
{
return
new
Promise
(
resolve
=>
{
res
.
json
().
then
(
data
=>
resolve
({
ok
:
res
.
ok
,
status
:
res
.
status
,
data
,
}),
);
});
})
.
then
(
function
(
res
)
{
var
data
=
res
.
data
;
if
(
res
.
ok
)
{
var
token
=
data
.
token
;
if
(
token
==
null
||
token
==
''
)
{
showError
(
'token信息获取失败,请稍后重试!'
);
return
;
}
clearCookie
(
'access_token'
,
true
);
setCookie
(
'access_token'
,
token
,
0
,
true
);
window
.
location
.
href
=
ru
;
}
else
{
if
(
data
.
message
)
{
showError
(
'登录失败,'
+
data
.
message
);
}
else
{
showError
(
'登录失败, 发生未知错误请稍后重试!'
);
}
}
})
.
catch
(
function
(
err
)
{
showError
(
'登录失败请稍后重试!'
);
console
.
error
(
err
);
});
}
catch
(
err
)
{
showError
(
'登录失败请稍后重试!'
);
console
.
error
(
err
);
}
};
var
redirectInfoActionEl
=
document
.
getElementById
(
'redirect-info-action'
);
redirectInfoActionEl
.
onclick
=
function
()
{
load
();
};
load
();
};
app_Web/public/cas-login.html
0 → 100644
浏览文件 @
63912424
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<meta
charset=
"UTF-8"
/>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0"
/>
<title>
登录跳转
</title>
<link
rel=
"icon"
href=
"./favicon.ico"
>
</head>
<style>
html
,
body
,
div
{
padding
:
0
;
margin
:
0
;
}
@keyframes
loading-rotate
{
100
%
{
transform
:
rotate
(
1turn
);
}
}
.redirect-container
{
width
:
100vw
;
height
:
100vh
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
}
.redirect-info
{
display
:
flex
;
}
.redirect-info
.info-icon
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
margin-right
:
10px
;
}
.info-icon
svg
{
animation
:
loading-rotate
1.5s
ease
infinite
;
}
.redirect-info
,
.redirect-error
{
font-size
:
32px
;
font-weight
:
400
;
}
.redirect-error
{
color
:
red
;
display
:
none
;
padding
:
0px
30px
;
}
.info-action
{
font-size
:
14px
;
padding-top
:
20px
;
padding-left
:
10px
;
}
</style>
<body>
<div
id=
"redirect-container"
class=
"redirect-container"
>
<div
id=
"redirect-img"
class=
"redirect-img"
>
<img
src=
"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABB4AAAHHCAYAAAAYr5tzAAAAAXNSR0IArs4c6QAAQABJREFUeAHs3QecVOW9+P9n6nZgd9mlLF16URAUxYq9REGMqzEJCoooKgkoyb353f8Nufd/c383IFEElCggxOQmJAJGY2IsqLFSRHrvbQtb2F6m/L7PuDPM7s7uzu7OzE75nJfjnDnteZ73GXbO+Z6nKMWEAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCCAAAIIIIAAAggggAACCCDQPgFD+3ZnbwQQQAABBBBAAIFACKxatSre4XBYnE6n61VTU2M1GAwWObbFbrfr+ZKnnnrquK+0li9fPlS26aXXyTGcvrYxmUyFTzzxxDZf61auXJkh6WXIulpJv1a/u+eTk5Nr4uPja++7775ayYPPY/s6JssQQAABBBBwC5jdM7wjgAACCCCAAAIIBF5AbuSNy5YtS+zfv3/tHXfcUe0rhZdffnlcRUVFj4brZF/XIqPRqCRwYJfPJ3zd/MvyVHkl6I1lfcPDuD7LeoN++dq/vLx8hKSR4mvH0tJSpV9Lly49L+s/8bXN2rVrradPn07MysqqyM7OrvG1DcsQQAABBGJXgMBD7J57So4AAggggAACARLQN/RSayC5qqoqyWw2J0ntgySpeZAkN/NJEnRwBQSOHDlilxv0d+XG3N4wWdm/SpbpoISnpoEEGvQNvKcGQlxcXKGvoIE+1syZM7/8zW9+40qnpKTEFXno1q2bXuWZpNZCVVP7S/pfy4aZ8rLINu4aFq7aFu5lUpaapgIX+fn5V1mt1mR5V0uWLNEBkgpxqJB9K/S8lKUyNTW1gKCEiDAhgAACMSjgOyQegxAUGQEEEEAAAQQQaKuABBculhvsvk3tr2++5cY9f9asWTua2iaSl0ttiIESsMiSMiRKWZt6sFX25JNPbozkcpJ3BBBAAIG2CTT1w9C2o7EXAgggECECulpwUVGRubq6Wh7KmeVhnMkhT+Nq9uzZUzt//nxbhBSDbCKAQJAF1qxZkyR/J1JtNlsXqcFgHj58+K6JEyc2+hthsVhKZZtSqelQKX9PyuXvirRe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ARIgARIggQABCg/8IJAACZBAEhCAOGHBDt+F0FtrnAlbQUGB/+jRo/rkyZP9r7/+ut5dntAl8S4JkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkAAJkEDkBP4/XMFdK+fxKLsAAAAASUVORK5CYII="
alt=
"等待跳转"
/>
</div>
<span
id=
"redirect-info"
class=
"redirect-info"
>
<span
class=
"info-icon"
><svg
t=
"1609733331542"
class=
"icon"
viewBox=
"0 0 1024 1024"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
p-id=
"2552"
width=
"32"
height=
"32"
>
<path
d=
"M843.307 742.24c0 3.217 2.607 5.824 5.824 5.824s5.824-2.607 5.824-5.824a5.823 5.823 0 0 0-5.824-5.824 5.823 5.823 0 0 0-5.824 5.824zM714.731 874.912c0 6.398 5.186 11.584 11.584 11.584s11.584-5.186 11.584-11.584-5.186-11.584-11.584-11.584-11.584 5.186-11.584 11.584zM541.419 943.2c0 9.614 7.794 17.408 17.408 17.408s17.408-7.794 17.408-17.408-7.794-17.408-17.408-17.408-17.408 7.794-17.408 17.408z m-186.56-9.152c0 12.795 10.373 23.168 23.168 23.168s23.168-10.373 23.168-23.168-10.373-23.168-23.168-23.168-23.168 10.373-23.168 23.168zM189.355 849.12c0 16.012 12.98 28.992 28.992 28.992s28.992-12.98 28.992-28.992-12.98-28.992-28.992-28.992-28.992 12.98-28.992 28.992zM74.731 704.736c0 19.228 15.588 34.816 34.816 34.816s34.816-15.588 34.816-34.816-15.588-34.816-34.816-34.816-34.816 15.588-34.816 34.816z m-43.008-177.28c0 22.41 18.166 40.576 40.576 40.576s40.576-18.166 40.576-40.576-18.166-40.576-40.576-40.576-40.576 18.166-40.576 40.576z m35.392-176.128c0 25.626 20.774 46.4 46.4 46.4s46.4-20.774 46.4-46.4c0-25.626-20.774-46.4-46.4-46.4-25.626 0-46.4 20.774-46.4 46.4z m106.176-142.016c0 28.843 23.381 52.224 52.224 52.224s52.224-23.381 52.224-52.224c0-28.843-23.381-52.224-52.224-52.224-28.843 0-52.224 23.381-52.224 52.224z m155.904-81.344c0 32.024 25.96 57.984 57.984 57.984s57.984-25.96 57.984-57.984-25.96-57.984-57.984-57.984-57.984 25.96-57.984 57.984z m175.104-5.056c0 35.24 28.568 63.808 63.808 63.808s63.808-28.568 63.808-63.808c0-35.24-28.568-63.808-63.808-63.808-35.24 0-63.808 28.568-63.808 63.808z m160.32 72.128c0 38.421 31.147 69.568 69.568 69.568s69.568-31.147 69.568-69.568-31.147-69.568-69.568-69.568-69.568 31.147-69.568 69.568z m113.92 135.488c0 41.638 33.754 75.392 75.392 75.392s75.392-33.754 75.392-75.392-33.754-75.392-75.392-75.392-75.392 33.754-75.392 75.392z m45.312 175.488c0 44.854 36.362 81.216 81.216 81.216s81.216-36.362 81.216-81.216c0-44.854-36.362-81.216-81.216-81.216-44.854 0-81.216 36.362-81.216 81.216z"
fill=
""
p-id=
"2553"
></path>
</svg>
</span>
<span
class=
"info-label"
>
跳转中,请稍等!
</span>
<span
class=
"info-action"
>
若未跳转请
<a
id=
'redirect-info-action'
href=
"javascript:void(0);"
>
手动
</a>
跳转
</span>
</span>
<span
id=
"redirect-error"
class=
"redirect-error"
></span>
</div>
<script
src=
"./environments/environment.js"
></script>
<script
src=
"./assets/js/cas-login.js"
></script>
</body>
</html>
app_Web/src/attach-environment-config.ts
浏览文件 @
63912424
...
...
@@ -4,6 +4,7 @@ export async function attachEnvironmentConfig(): Promise<void> {
ibiz
.
env
.
baseUrl
=
env
.
BaseUrl
;
ibiz
.
env
.
remoteModelUrl
=
env
.
remoteDynaPath
;
ibiz
.
env
.
dcSystem
=
env
.
mockDcSystemId
;
ibiz
.
env
.
casLoginUrl
=
env
.
casLoginUrl
;
if
(
env
.
AppTitle
)
{
document
.
title
=
env
.
AppTitle
;
}
...
...
app_Web/src/components/layout/view-base/view-base.tsx
浏览文件 @
63912424
import
{
MDViewController
,
ViewController
}
from
'@ibiz-template/controller'
;
import
{
useNamespace
}
from
'@ibiz-template/vue-util'
;
import
{
defineComponent
,
PropType
}
from
'vue'
;
import
'@/styles/components/layout/view-base/view-base.scss'
;
export
const
ViewBase
=
defineComponent
({
props
:
{
...
...
@@ -34,13 +35,23 @@ export const ViewBase = defineComponent({
isLoading=
{
c
.
viewLoading
.
isLoading
}
scopedSlots=
{
{
caption
:
()
=>
{
if
(
c
.
complete
&&
c
.
model
.
source
.
getPSSysImage
())
{
return
[
<
app
-
icon
icon=
{
c
.
model
.
source
.
getPSSysImage
()
}
></
app
-
icon
>,
c
.
caption
,
];
}
return
c
.
caption
;
return
(
<
div
class=
{
this
.
ns
.
b
(
'caption'
)
}
>
{
c
.
complete
&&
c
.
model
.
source
.
getPSSysImage
()
?
(
[
<
app
-
icon
class=
{
this
.
ns
.
be
(
'caption'
,
'icon'
)
}
icon=
{
c
.
model
.
source
.
getPSSysImage
()
}
></
app
-
icon
>,
<
span
class=
{
this
.
ns
.
be
(
'caption'
,
'text'
)
}
>
{
c
.
caption
}
</
span
>,
]
)
:
(
<
span
class=
{
this
.
ns
.
be
(
'caption'
,
'text'
)
}
>
{
c
.
caption
}
</
span
>
)
}
</
div
>
);
},
toolbar
:
()
=>
{
if
(
c
.
complete
&&
c
.
model
.
toolbar
)
{
...
...
app_Web/src/components/router-shell/router-shell.tsx
浏览文件 @
63912424
...
...
@@ -4,6 +4,7 @@ import {
IRouteViewData
,
parseRouteViewData
,
useRoute
,
useRouter
,
}
from
'@ibiz-template/vue-util'
;
import
{
Route
}
from
'vue-router'
;
import
{
getViewComponentName
}
from
'@/util'
;
...
...
@@ -19,6 +20,7 @@ export default defineComponent({
setup
(
props
,
ctx
)
{
const
{
proxy
}
=
getCurrentInstance
()
!
;
const
route
=
useRoute
(
proxy
)
as
Route
;
const
router
=
useRouter
(
proxy
);
const
viewData
=
ref
<
IRouteViewData
>
({});
const
isLoaded
=
ref
(
false
);
const
viewComponentName
=
ref
(
''
);
...
...
@@ -28,7 +30,11 @@ export default defineComponent({
const
appModel
=
service
.
app
;
if
(
appModel
)
{
// 获取视图
viewData
.
value
=
parseRouteViewData
(
appModel
,
route
,
props
.
level
);
try
{
viewData
.
value
=
parseRouteViewData
(
appModel
,
route
,
props
.
level
);
}
catch
(
error
)
{
router
.
push
(
`/
${
route
.
params
.
view1
}
/404`
);
}
// 确定视图组件
viewComponentName
.
value
=
getViewComponentName
(
viewData
.
value
.
viewType
!
,
...
...
app_Web/src/components/widgets/grid-control/grid-control.tsx
浏览文件 @
63912424
...
...
@@ -78,25 +78,27 @@ export const GridControl = defineComponent({
// 绘制作用域插槽,绘制行编辑开启开关
const
columnSlots
:
IData
=
{
rowEdit
:
({
index
}:
IData
)
=>
{
return
(
<
i
-
button
icon=
'md-settings'
on
-
click=
{
async
(
event
:
MouseEvent
)
=>
{
event
.
stopPropagation
();
const
rowController
=
this
.
c
.
rows
[
index
];
await
this
.
c
.
toggleRowEdit
(
rowController
);
}
}
nativeOn
-
dblclick=
{
(
e
:
MouseEvent
)
=>
{
e
.
stopPropagation
();
}
}
></
i
-
button
>
);
if
(
this
.
c
.
rows
[
index
])
{
return
(
<
i
-
button
icon=
'md-settings'
on
-
click=
{
async
(
event
:
MouseEvent
)
=>
{
event
.
stopPropagation
();
const
rowController
=
this
.
c
.
rows
[
index
];
await
this
.
c
.
toggleRowEdit
(
rowController
);
}
}
nativeOn
-
dblclick=
{
(
e
:
MouseEvent
)
=>
{
e
.
stopPropagation
();
}
}
></
i
-
button
>
);
}
},
};
// 属性列自定义
this
.
c
.
model
.
fieldColumns
.
forEach
(
item
=>
{
columnSlots
[
item
.
codeName
]
=
({
row
,
index
}:
IData
)
=>
{
if
(
this
.
c
.
rows
.
length
>
0
)
{
if
(
this
.
c
.
rows
[
index
]
)
{
return
(
<
grid
-
column
key=
{
row
.
srfkey
+
item
.
codeName
}
...
...
@@ -111,7 +113,7 @@ export const GridControl = defineComponent({
// 操作列自定义
this
.
c
.
model
.
uaColumns
.
forEach
(
item
=>
{
columnSlots
[
item
.
codeName
]
=
({
row
,
index
}:
IData
)
=>
{
if
(
this
.
c
.
rows
.
length
>
0
)
{
if
(
this
.
c
.
rows
[
index
]
)
{
return
(
<
grid
-
ua
-
column
key=
{
row
.
srfkey
+
item
.
codeName
}
...
...
app_Web/src/guard/auth-guard/auth-guard.ts
浏览文件 @
63912424
import
{
OrgData
}
from
'@ibiz-template/core'
;
import
{
ModelUtil
}
from
'@ibiz-template/model'
;
import
{
handleUnauthorized
}
from
'../handle-unauthorized/handle-unauthorized
'
;
import
{
UnauthorizedHandler
}
from
'../unauthorized-handler/unauthorized-handler
'
;
/**
* 初始化模型
...
...
@@ -12,13 +12,9 @@ import { handleUnauthorized } from '../handle-unauthorized/handle-unauthorized';
async
function
loadModel
():
Promise
<
void
>
{
await
ModelUtil
.
create
(
async
modelPath
=>
{
const
url
=
`
${
ibiz
.
env
.
remoteModelUrl
}${
modelPath
}
`
;
try
{
const
res
=
await
ibiz
.
net
.
get
(
url
);
if
(
res
.
ok
)
{
return
res
.
data
as
IModel
;
}
}
catch
(
error
)
{
console
.
log
(
error
);
const
res
=
await
ibiz
.
net
.
get
(
url
);
if
(
res
.
ok
)
{
return
res
.
data
as
IModel
;
}
return
{};
});
...
...
@@ -71,7 +67,7 @@ async function appInit(): Promise<void> {
}
catch
(
error
)
{
const
{
response
,
message
}
=
error
as
IData
;
if
(
response
.
status
===
401
)
{
await
handleUnauthorized
();
await
UnauthorizedHandler
.
handle
();
}
console
.
log
(
`应用参数初始化失败:
${
message
}
`
);
}
...
...
app_Web/src/guard/index.ts
浏览文件 @
63912424
export
{
AuthGuard
}
from
'./auth-guard/auth-guard'
;
export
{
handleUnauthorized
}
from
'./handle-unauthorized/handle-unauthorized
'
;
export
{
UnauthorizedHandler
}
from
'./unauthorized-handler/unauthorized-handler
'
;
app_Web/src/guard/unauthorized-handler/unauthorized-handler.ts
0 → 100644
浏览文件 @
63912424
import
qs
from
'qs'
;
import
{
UrlHelper
}
from
'@ibiz-template/core'
;
import
router
from
'@/router'
;
/**
* 没有权限的处理器
*
* @author lxm
* @date 2022-10-11 14:10:10
* @export
* @class UnauthorizedHandler
*/
export
class
UnauthorizedHandler
{
/**
* cas登录处理
*
* @author lxm
* @date 2022-10-11 14:10:35
* @protected
* @static
* @returns {*} {Promise<void>}
*/
protected
static
async
casLogin
():
Promise
<
void
>
{
// 登录后返回来的登录的地址
const
backUrl
=
`
${
UrlHelper
.
appBase
}
/cas-login.html
${
qs
.
stringify
(
{
RU
:
UrlHelper
.
fullPath
,
},
{
addQueryPrefix
:
true
},
)}
`
;
// 要跳转的cas的登录页和参数
const
targetUrl
=
ibiz
.
env
.
casLoginUrl
+
qs
.
stringify
(
{
service
:
backUrl
,
},
{
addQueryPrefix
:
true
},
);
// 跳转cas登录地址
window
.
location
.
href
=
targetUrl
;
}
/**
* 普通登录处理
*
* @author lxm
* @date 2022-10-11 14:10:24
* @protected
* @static
* @returns {*} {Promise<void>}
*/
protected
static
async
normalLogin
():
Promise
<
void
>
{
const
ru
=
window
.
location
.
hash
.
replace
(
'#'
,
''
);
router
.
push
({
path
:
'/login'
,
query
:
{
ru
}
});
}
/**
* 没有权限处理
*
* @author lxm
* @date 2022-10-11 14:10:50
* @static
* @returns {*} {Promise<void>}
*/
static
async
handle
():
Promise
<
void
>
{
if
(
ibiz
.
env
.
casLoginUrl
)
{
await
this
.
casLogin
();
}
else
{
this
.
normalLogin
();
}
}
}
app_Web/src/router/index.ts
浏览文件 @
63912424
...
...
@@ -61,6 +61,11 @@ const router = new Router({
},
component
:
RouterShell
,
children
:
[
{
path
:
'404'
,
name
:
'404View'
,
component
:
()
=>
import
(
'../views/404-view/404-view'
),
},
{
path
:
':view2([^=/]+)/:params2([^/]+=[^/]+)?'
,
props
:
{
...
...
app_Web/src/styles/components/layout/view-base/view-base.scss
0 → 100644
浏览文件 @
63912424
@include
b
(
view
)
{
@include
set-component-css-var
(
'view'
,
$view
);
@include
b
(
view-caption
)
{
@include
utils-ellipsis
;
@include
e
(
icon
)
{
display
:
inline-block
;
margin
:
getCssVar
(
'view-caption-icon'
,
'margin'
);
vertical-align
:
middle
;
}
}
}
app_Web/src/styles/components/layout/view-layout/view-layout.scss
浏览文件 @
63912424
...
...
@@ -32,7 +32,6 @@
@include
flex
(
row
,
space-between
);
}
@include
e
(
caption
)
{
@include
utils-ellipsis
;
@include
flex
(
row
,
flex-start
,
center
);
max-width
:
getCssVar
(
'view-layout-header'
,
'caption-max-width'
);
...
...
@@ -40,12 +39,6 @@
font-size
:
getCssVar
(
'view-layout-header'
,
'caption-font-size'
);
font-weight
:
getCssVar
(
'view-layout-header'
,
'caption-font-weight'
);
color
:
getCssVar
(
'view-layout-header'
,
'caption-color'
);
>
img
{
display
:
inline-block
;
margin-right
:
10px
;
vertical-align
:
middle
;
}
}
}
}
...
...
@@ -90,6 +83,7 @@
padding
:
getCssVar
(
'view-layout-drawer-header'
,
'padding'
);
}
@include
b
(
view-layout-content
)
{
min-height
:
getCssVar
(
'view-layout-drawer-content'
,
'min-height'
);
padding
:
getCssVar
(
'view-layout-drawer-content'
,
'padding'
);
}
}
...
...
@@ -108,6 +102,7 @@
padding
:
getCssVar
(
'view-layout-modal-header'
,
'padding'
);
}
@include
b
(
view-layout-content
)
{
min-height
:
getCssVar
(
'view-layout-modal-content'
,
'min-height'
);
padding
:
getCssVar
(
'view-layout-modal-content'
,
'padding'
);
}
}
...
...
app_Web/src/styles/components/views/404-view/404-view.scss
0 → 100644
浏览文件 @
63912424
@include
b
(
404
-
view
)
{
@include
flex
(
row
,
center
,
center
);
width
:
100%
;
height
:
100%
;
background-color
:
#fff
;
@include
b
(
404
-
view-text
)
{
@include
e
(
text1
)
{
margin-bottom
:
20px
;
}
}
}
app_Web/src/styles/components/widgets/grid/grid-ua-column.scss
浏览文件 @
63912424
...
...
@@ -2,6 +2,12 @@
@include
set-component-css-var
(
'grid-ua-column'
,
$grid-ua-column
);
.ivu-btn
{
color
:
getCssVar
(
'grid-ua-column'
,
'btn-color'
);
background-color
:
getCssVar
(
'grid-ua-column'
,
'btn-bg-color'
);
box-shadow
:
none
;
&
:hover
{
color
:
getCssVar
(
'grid-ua-column'
,
'btn-hover-color'
);
}
}
}
app_Web/src/styles/settings/var.scss
浏览文件 @
63912424
...
...
@@ -278,7 +278,7 @@ $skeleton: map.merge(
'bg-color'
:
rgb
(
190
190
190
/
20%
)
,
//
骨架屏元素背景颜色
'transition-color'
:
rgb
(
129
129
129
/
24%
)
//
骨架屏元素动画效果过渡颜色
,,,,,,,,,,,
//
骨架屏元素动画效果过渡颜色
,,,,,,,,,,,
,,,
)
,
$skeleton
);
...
...
@@ -495,7 +495,16 @@ $form-druipart: map.merge(
/* 表单 end */
/* 暂时保留,后期修改 End */
/* 视图base start */
$view
:
()
!
default
;
$view
:
map
.
merge
(
(
'caption-icon-margin'
:
0
10px
0
0
,
)
,
$view
);
/* 视图base end */
/* 视图布局 start */
$view-layout
:
()
!
default
;
...
...
@@ -549,6 +558,7 @@ $view-layout-drawer-content: () !default;
$view-layout-drawer-content
:
map
.
merge
(
(
'padding'
:
0
,
'min-height'
:
0
,
)
,
$view-layout-drawer-content
);
...
...
@@ -566,6 +576,7 @@ $view-layout-modal-content: () !default;
$view-layout-modal-content
:
map
.
merge
(
(
'padding'
:
0
,
'min-height'
:
0
,
)
,
$view-layout-modal-content
);
...
...
@@ -639,6 +650,8 @@ $grid-ua-column: () !default;
$grid-ua-column
:
map
.
merge
(
(
'btn-bg-color'
:
transparent
,
'btn-hover-color'
:
#2d8cf0
,
'btn-color'
:
#515a6e
,
)
,
$grid-ua-column
);
...
...
app_Web/src/util/error-handler/error-handler.ts
浏览文件 @
63912424
import
{
HttpError
,
RuntimeError
}
from
'@ibiz-template/core'
;
import
{
DefectModelError
,
UnsupportedModelError
}
from
'@ibiz-template/model'
;
import
{
handleUnauthorized
}
from
'@/guard'
;
import
{
UnauthorizedHandler
}
from
'@/guard'
;
/**
* 事件处理工具
...
...
@@ -32,7 +32,7 @@ export class ErrorHandler {
duration
:
10
,
});
if
(
err
.
status
===
401
)
{
handleUnauthorized
();
UnauthorizedHandler
.
handle
();
}
}
else
if
(
err
instanceof
RuntimeError
)
{
ibiz
.
message
.
error
(
err
.
message
);
...
...
app_Web/src/views/404-view/404-view.tsx
浏览文件 @
63912424
import
{
defineComponent
}
from
'vue'
;
import
{
useNamespace
,
useRoute
,
useRouter
}
from
'@ibiz-template/vue-util'
;
import
{
computed
,
defineComponent
,
getCurrentInstance
,
onMounted
}
from
'vue'
;
import
'@/styles/components/views/404-view/404-view.scss'
;
import
{
Route
}
from
'vue-router'
;
export
default
defineComponent
({
setup
()
{
const
ns
=
useNamespace
(
'404-view'
);
const
{
proxy
}
=
getCurrentInstance
()
!
;
const
router
=
useRouter
(
proxy
);
const
route
=
useRoute
(
proxy
)
as
Route
;
const
gotoIndexView
=
()
=>
{
router
.
push
(
'/'
);
};
onMounted
(()
=>
{
setTimeout
(()
=>
{
const
el
=
document
.
querySelector
(
'.app-loading-x'
)
as
HTMLDivElement
;
if
(
el
)
{
el
.
style
.
display
=
'none'
;
}
},
300
);
});
const
isView1
=
computed
(()
=>
{
return
!
route
.
params
.
view1
;
});
return
{
ns
,
isView1
,
gotoIndexView
};
},
render
()
{
return
<
div
>
404
</
div
>;
return
(
<
div
class=
{
this
.
ns
.
b
()
}
>
<
img
class=
{
this
.
ns
.
b
(
'img'
)
}
src=
'./assets/img/404.png'
/>
<
div
class=
{
this
.
ns
.
b
(
'text'
)
}
>
<
div
class=
{
this
.
ns
.
be
(
'text'
,
'text1'
)
}
>
抱歉,您访问的页面不存在!
</
div
>
{
this
.
isView1
?
(
<
div
class=
{
this
.
ns
.
be
(
'text'
,
'text2'
)
}
>
您要找的页面不存在,请返回
<
a
on
-
click=
{
this
.
gotoIndexView
}
>
首页
</
a
>
继续浏览
</
div
>
)
:
null
}
</
div
>
</
div
>
);
},
});
app_Web/src/views/index-view/index-view.ts
浏览文件 @
63912424
...
...
@@ -2,10 +2,10 @@ import { useRouter } from '@ibiz-template/vue-util';
import
Vue
,
{
ref
,
watch
}
from
'vue'
;
export
const
getView2Value
=
(
item
:
IParams
)
=>
{
return
(
(
item
.
params
.
view2
?
`/
${
item
.
params
.
view2
}
`
:
''
)
+
(
item
.
params
.
params2
?
`/
${
item
.
params
.
params2
}
`
:
''
)
)
;
return
item
.
params
.
view2
?
(
item
.
params
.
view2
?
`/
${
item
.
params
.
view2
}
`
:
''
)
+
(
item
.
params
.
params2
?
`/
${
item
.
params
.
params2
}
`
:
''
)
:
'404'
;
};
export
const
getView1Value
=
(
item
:
IParams
)
=>
{
...
...
@@ -42,7 +42,7 @@ export function useIndexRouteManage(proxy: Vue) {
()
=>
proxy
.
$route
,
(
newVal
,
oldVal
)
=>
{
// 只处理有二级路由,只有首页的时候不需要
if
(
newVal
!==
oldVal
&&
newVal
.
params
.
view2
)
{
if
(
newVal
!==
oldVal
)
{
currentKey
.
value
=
getView2Value
(
newVal
);
indexPath
.
value
=
getView1Value
(
newVal
);
// 更新或新建对应key的全路由信息,主要是三级路由变更时会用
...
...
app_Web/update.sh
0 → 100755
浏览文件 @
63912424
pnpm up
--latest
"@ibiz-template/vue-util"
"@ibiz-template/service"
"@ibiz-template/runtime"
"@ibiz-template/model"
"@ibiz-template/core"
"@ibiz-template/command"
"@ibiz-template/controller"
\ No newline at end of file
app_Web/yarn.lock
浏览文件 @
63912424
...
...
@@ -485,52 +485,52 @@
resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
"@ibiz-template/command@^0.0.1-alpha.13":
"@ibiz-template/command@
0.0.1-alpha.13", "@ibiz-template/command@
^0.0.1-alpha.13":
version "0.0.1-alpha.13"
resolved "https://registry.yarnpkg.com/@ibiz-template/command/-/command-0.0.1-alpha.13.tgz#e8f07fede7fbfd3aa22eeec80ad66acf6c914d1e"
integrity sha512-IUD6x29nmmxdL8XbGGfBAEYlPO/+E8qHd/TI2ncgaaBFcF6M4ih7xga8l1oYuSdr+xx4mlXkAbzQFOqAQWm21g==
"@ibiz-template/controller@
^0.0.1-alpha.15
":
version "0.0.1-alpha.1
5
"
resolved "https://registry.yarnpkg.com/@ibiz-template/controller/-/controller-0.0.1-alpha.1
5.tgz#ff01696798854fa02a66e0c32b687d9bfae97d60
"
integrity sha512-
UpujB323mASgEkCb5poRfguYnU9dWqEryCWg8/lsmBUmR/I72NUEDHwbk9dZSMJsEThxoTmVC31aXqmMbORi7g
==
"@ibiz-template/controller@
0.0.1-alpha.16
":
version "0.0.1-alpha.1
6
"
resolved "https://registry.yarnpkg.com/@ibiz-template/controller/-/controller-0.0.1-alpha.1
6.tgz#74399a69bcda3edad17a101bad1ea05e193b1f83
"
integrity sha512-
6ES/q892/Gm+TKKOH519PV3JyBpCQMP5Hpk/qO2iYdFC5GZJFSLbD/tz9IO8YcIPA32u4bkV8otxiV7q/S+L7A
==
dependencies:
async-validator "^4.2.5"
dayjs "^1.11.5"
"@ibiz-template/core@
^0.0.1-alpha.13
":
version "0.0.1-alpha.1
3
"
resolved "https://registry.yarnpkg.com/@ibiz-template/core/-/core-0.0.1-alpha.1
3.tgz#ce2d742fe4b703d0aba3c1836e72f88cf50e0d0a
"
integrity sha512-
7Vg4mWrty/aVlM63oEgMjMcYIY1lSkczb+Z6KCdkzZlfTp2LZJlNIJ4ZVw0XR0ctykDxUh91uBJNb47RgEdxQQ
==
"@ibiz-template/core@
0.0.1-alpha.16
":
version "0.0.1-alpha.1
6
"
resolved "https://registry.yarnpkg.com/@ibiz-template/core/-/core-0.0.1-alpha.1
6.tgz#d75a6cbf368ecfb7fbcf3ffd83d33e75b5ddd763
"
integrity sha512-
Wt1J6hUmMopF9MfXj2tMTFoNiNnhYsEL78Jjmj4f2ZPVZd5+EDBk4ricGfw5aNNB74TPoqrX/vvpIVGEAlngGA
==
dependencies:
axios "^0.27.2"
pluralize "^8.0.0"
qs "^6.11.0"
"@ibiz-template/model@
^0.0.1-alpha.15
":
version "0.0.1-alpha.1
5
"
resolved "https://registry.yarnpkg.com/@ibiz-template/model/-/model-0.0.1-alpha.1
5.tgz#c06aa42fc653e125b72e42a0650ac380ee3fd19e
"
integrity sha512-
ZQWSvPa+W9ecDLi3P7UcBqKCPy0rdZCmXoJiZ+pbZVpO01Xdk5BwSzuTEl8Pgz2ciIP15a25M8G8YjziZ35lhg
==
"@ibiz-template/model@
0.0.1-alpha.16
":
version "0.0.1-alpha.1
6
"
resolved "https://registry.yarnpkg.com/@ibiz-template/model/-/model-0.0.1-alpha.1
6.tgz#ad70fbb16ceeda471da5c98cc69c921279a6346f
"
integrity sha512-
QlrUeXkU9UaN6A/k2v9ElGw0n8lzD8pS/OFbc5SFcyXj9iTdKQk/wWk4qVRXKWhDOCzhAixTwxn7k+Z3bLtPAA
==
dependencies:
"@ibiz/dynamic-model-api" "^2.0.5"
pluralize "^8.0.0"
"@ibiz-template/runtime@
^0.0.1-alpha.15
":
version "0.0.1-alpha.1
5
"
resolved "https://registry.yarnpkg.com/@ibiz-template/runtime/-/runtime-0.0.1-alpha.1
5.tgz#333f9fb247424e0d864370e3ec24f8d6acaa756
e"
integrity sha512-
fFM8vDoyIC1eoSSfJYypwZ2aCJej6Fh4jFuIPRxZd2iEatgn+CPgAL+k5EQGFTe7qs36I4bkqV9EXZWSl/1Ocg
==
"@ibiz-template/runtime@
0.0.1-alpha.16
":
version "0.0.1-alpha.1
6
"
resolved "https://registry.yarnpkg.com/@ibiz-template/runtime/-/runtime-0.0.1-alpha.1
6.tgz#8a17272a4f415215dad181b602555c62260b948
e"
integrity sha512-
it9CF4XEUEY5hWeiHwnMw3tW3v3IK7fxiWmRJADItUn5fs+rZnzfh/6pOKY2duj2o1yUnUzbSFrjw8owOOhx8Q
==
dependencies:
"@ibiz-template/command" "^0.0.1-alpha.13"
"@ibiz-template/service@
^0.0.1-alpha.15
":
version "0.0.1-alpha.1
5
"
resolved "https://registry.yarnpkg.com/@ibiz-template/service/-/service-0.0.1-alpha.1
5.tgz#4965b905e50b323fedc16db28714885b51e0dfb6
"
integrity sha512-
5kqvYh9bDddSNLDHb2ceDL+V0+cDd3oG3gK12RH2kyKXagP9DTRgfYbOHOmOe7eGhPolPndUDgkeP4Sbgn/N4g
==
"@ibiz-template/service@
0.0.1-alpha.16
":
version "0.0.1-alpha.1
6
"
resolved "https://registry.yarnpkg.com/@ibiz-template/service/-/service-0.0.1-alpha.1
6.tgz#4217b273f9a068caf573dffbb8abc873c9faae15
"
integrity sha512-
GJSk3lnvRYbylq8/di9MG6nPhVSaAR7S2GRInF0Uzj0mpqOVDr61YkdTBIvtCn1nZTSuXlu5NbfBxAhLmBaN1w
==
"@ibiz-template/vue-util@
^0.0.1-alpha.15
":
version "0.0.1-alpha.1
5
"
resolved "https://registry.yarnpkg.com/@ibiz-template/vue-util/-/vue-util-0.0.1-alpha.1
5.tgz#d2b6ab2ed6363869bc7fdadcc342f51e76b3637
b"
integrity sha512-
eg5f/Act0cn1mRGFQz+G5kIjVSrHwqKv188EHS02y/zaa47ZTKEp69bSrWFcTK7gqR7kQIEjEDGguFw5KyGLAQ
==
"@ibiz-template/vue-util@
0.0.1-alpha.16
":
version "0.0.1-alpha.1
6
"
resolved "https://registry.yarnpkg.com/@ibiz-template/vue-util/-/vue-util-0.0.1-alpha.1
6.tgz#11965e9726d7e76b62e3c1764ed348f6faf723d
b"
integrity sha512-
xxtPlFhfyOXrH6k1rgGVNuVm9NEM96JR06Tly9cbxp4bdldsbO6+tRzk9n6DDcsbyrSacnIkUy6rHm2gXKvOPg
==
"@ibiz/dynamic-model-api@^2.0.5":
version "2.0.5"
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录