Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
iBiz-Vue-R7-Res
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
计划
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
统计图
创建新议题
作业
提交
议题看板
打开侧边栏
iBiz-R7前端标准模板
iBiz-Vue-R7-Res
提交
7e2b1845
提交
7e2b1845
编写于
5月 10, 2020
作者:
tony001
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020.5.10 dev合并到master
上级
8724d66e
变更
11
隐藏空白字符变更
内嵌
并排
正在显示
11 个修改的文件
包含
291 行增加
和
88 行删除
+291
-88
CHANGELOG.md
CHANGELOG.md
+34
-0
logo.svg
public/assets/img/logo.svg
+16
-0
app-mpicker.vue
src/components/app-mpicker/app-mpicker.vue
+43
-6
app-rich-text-editor.vue
src/components/app-rich-text-editor/app-rich-text-editor.vue
+140
-68
app-span.vue
src/components/app-span/app-span.vue
+5
-0
login.less
src/components/login/login.less
+28
-4
login.vue
src/components/login/login.vue
+16
-1
login.ts
src/mock/login/login.ts
+1
-1
entity-service.ts
src/service/entity-service.ts
+6
-6
http.ts
src/utils/http/http.ts
+1
-1
StudioActionUtil.ts
src/utils/studio-action/StudioActionUtil.ts
+1
-1
未找到文件。
CHANGELOG.md
浏览文件 @
7e2b1845
## v7.0.0-alpha.3 [2020-5-10]
### Bug修复
分页导航栏传递srfparentdename和srfparentkey问题
提交流程、启动流程刷新表格数据问题
修复视图自定义导航参数大小写问题
修复批添加功能
修复树部件查询数据集合异常处理
修复图表排序问题
修复富文本国际化切换失效
### 功能新增及优化
#### 模板
搜索面板布局优化
表格checkbox宽度优化
选择类视图不显示标题
补充树节点关系导航上下文,导航参数上下文
#### 基础文件
登录页面调整
## v7.0.0-alpha.2 [2020-5-7]
### Bug修复
...
...
public/assets/img/logo.svg
0 → 100644
浏览文件 @
7e2b1845
<?xml version="1.0" encoding="UTF-8"?>
<svg
width=
"277px"
height=
"60px"
viewBox=
"0 0 277 60"
version=
"1.1"
xmlns=
"http://www.w3.org/2000/svg"
xmlns:xlink=
"http://www.w3.org/1999/xlink"
>
<!-- Generator: Sketch 55.2 (78181) - https://sketchapp.com -->
<title>
logo
</title>
<desc>
Created with Sketch.
</desc>
<g
id=
"页面1"
stroke=
"none"
stroke-width=
"1"
fill=
"none"
fill-rule=
"evenodd"
>
<g
id=
"Apple-TV"
transform=
"translate(-822.000000, -80.000000)"
fill-rule=
"nonzero"
>
<g
id=
"logo"
transform=
"translate(822.000000, 80.000000)"
>
<path
d=
"M84.7587939,33 C84.3400314,33 83.9422129,32.855404 83.5653265,32.5662099 C83.1884404,32.2770158 83,31.9117221 83,31.4703186 C83,30.8006061 83.3517553,30.0547979 84.0552764,29.2328759 C84.7587975,28.4109559 85.4874333,28 86.2412061,28 C86.7437211,28 87.1624774,28.1407903 87.4974874,28.422375 C87.8324974,28.7039598 88,29.1111079 88,29.6438359 C88,30.2983298 87.6566197,31.0213058 86.9698493,31.8127843 C86.2830787,32.6042648 85.5460676,33 84.7587939,33 Z M87,43.1071413 L87,44.8800002 C85.4032842,46.9038197 83.913587,48.4297553 82.5308641,49.4578566 C81.1481411,50.4859558 79.9711982,51 79,51 C77.6501989,51 76.6460938,50.3038162 75.9876542,48.9114271 C75.3292146,47.51904 75,45.9971505 75,44.345713 C75,43.7142826 75.0658429,43.1111916 75.1975308,42.5364271 C75.3292186,41.9616625 75.4855956,41.4880956 75.6666665,41.1157137 C75.8477374,40.7433317 76.1851825,40.1604794 76.6790122,39.3671417 C79.0164725,35.7890278 81.1563689,34 83.0987653,34 C84.1028856,34 84.6049382,34.3804718 84.6049382,35.1414285 C84.6049382,35.6595252 84.2798385,36.4690405 83.6296296,37.5699981 C82.9794205,38.6709579 82.3991795,39.4561863 81.8888887,39.9257136 C80.4567829,41.2857195 79.5226359,42.2328532 79.0864196,42.7671425 C78.6502035,43.3014297 78.4320986,43.9085667 78.4320986,44.5885708 C78.4320986,45.1714317 78.6543186,45.6571409 79.0987654,46.0457134 C79.543212,46.4342859 80.119338,46.62857 80.8271605,46.62857 C81.6008269,46.62857 82.4526703,46.3492873 83.382716,45.7907132 C84.3127617,45.2321392 85.5185111,44.3376253 87,43.1071413 Z M93,51 L93,13 L105.747082,13 C116.805447,13 119.856031,16.3948127 119.856031,23.2391931 C119.856031,27.1815562 118.494163,29.8645533 114.354086,31.0144092 L114.354086,31.2334294 C118.766537,32.3832853 121,35.2853026 121,40.0489914 C121,46.9481268 117.949416,51 106.891051,51 L93,51 Z M101,29 L103.670157,29 C108.853403,29 111,28.1818182 111,24.4727273 C111,20.5454545 108.905759,20 103.670157,20 L101,20 L101,29 Z M101,44 L105.038462,44 C111.211538,44 113,43.1306818 113,39.5 C113,36.1761364 111.269231,35 105.038462,35 L101,35 L101,44 Z M134.5,17 C130.888889,17 130,16.5263158 130,12.9473684 C130,9.36842105 130.888889,9 134.5,9 C138.166667,9 139,9.36842105 139,12.9473684 C139,16.5263158 138.166667,17 134.5,17 Z M130,51 L130,22 L138,22 L138,51 L130,51 Z M147,51 L147,44.3944444 L161.004377,28.5518519 L161.004377,28.2296296 L148.039387,28.2296296 L148.039387,22 L170.851204,22 L170.851204,28.2296296 L156.5186,44.287037 L156.5186,44.6092593 L172,44.6092593 L172,51 L147,51 Z M189.523364,43.7723343 L205,43.7723343 L205,51 L181,51 L181,13 L189.523364,13 L189.523364,43.7723343 Z M225.419162,21 C235.53493,21 239,24.273703 239,30.391771 L239,50.4633274 L231.734531,50.4633274 L230.952096,47.0822898 C229.666667,49.2289803 226.313373,51 221.339321,51 C214.576846,51 211,48.1556351 211,42.1449016 C211,35.4364937 215.303393,33.0214669 223.407186,33.0214669 L230.896208,33.0214669 L230.896208,32.2701252 C230.896208,28.8354204 229.778443,27.4937388 224.469062,27.4937388 C222.289421,27.4937388 220.10978,27.6547406 218.041916,28.0304114 L218.041916,21.4293381 C220.333333,21.1610018 223.239521,21 225.419162,21 Z M222.450704,46 C226.225352,46 228.929577,44.5555556 230,42.5 L230,39 L223.690141,39 C219.633803,39 218,39.6666667 218,42.7222222 C218,45.1111111 219.295775,46 222.450704,46 Z M265.078394,20.4545455 C274.782027,20.4545455 277,26.3454545 277,35.7272727 C277,44.1818182 274.782027,51 265.078394,51 C259.367113,51 257.038241,49.1454545 255.873805,46.3090909 L255.319312,50.4545455 L248,50.4545455 L248,9 L256.040153,9 L256.040153,24.5454545 C257.204589,22.3636364 259.810707,20.4545455 265.078394,20.4545455 Z M262.827731,46 C268.289916,46 269,41.9473684 269,37.0526316 C269,31.8421053 268.180672,28 262.827731,28 C257.420168,28 256,31.3157895 256,37.0526316 C256,42.5263158 257.420168,46 262.827731,46 Z"
id=
"注册iBizLab账号"
fill=
"#333333"
></path>
<g
id=
"编组"
fill=
"#01B0FF"
>
<path
d=
"M33,53.9848293 C39.3232242,53.9848293 45.6616122,53.9848293 52,54 C48.6488428,49.9646018 45.2673584,45.9747155 41.8555467,42 C38.9896249,46.0505689 36.0478851,50.0556258 33,53.9848293 L33,53.9848293 Z M45,37.2539103 C48.4335443,41.4270073 51.7721519,45.6757039 55,50 C54.9525316,40.3383733 55,30.6616267 54.9683544,21 C51.9303797,26.5641293 48.7025316,32.052659 45,37.2539103 L45,37.2539103 Z M21,21 C21.2871111,31.3772333 25.5786667,40.9994895 30.4897778,50 C33.0586667,45.7958142 35.5217778,41.5472179 38,37.2838182 C32.4542222,31.7325166 27.0142222,26.0627871 21,21 L21,21 Z M4.24776231,8 C3.99247773,23.2587549 3.8010143,38.5324254 4.37540459,53.7762646 C11.9062995,54.0894942 19.4531498,53.9701686 27,54 C16.9481699,39.9345006 7.4228642,24.8845655 4.24776231,8 L4.24776231,8 Z M13,5 C22.6175691,13.1440536 31.7201818,21.8107202 40.2472548,31 C44.669822,22.4349525 48.8652025,13.7682858 53,5.07258514 C39.6717152,5.04355109 26.3434305,5.1451703 13,5 L13,5 Z M0,0 L59.7331546,0 C60.0637531,19.995 60.123862,40.005 59.7031002,60 L0,60 L0,0 Z"
id=
"Fill-1"
></path>
</g>
</g>
</g>
</g>
</svg>
\ No newline at end of file
src/components/app-mpicker/app-mpicker.vue
浏览文件 @
7e2b1845
...
...
@@ -123,12 +123,12 @@ export default class AppMpicker extends Vue {
* @param newVal
* @param val
*/
@
Watch
(
'curvalue'
,
{
deep
:
true
})
@
Watch
(
'curvalue'
,
{
immediate
:
true
,
deep
:
true
})
oncurvalueChange
(
newVal
:
any
,
val
:
any
)
{
this
.
value
=
[];
this
.
selectItems
=
[];
if
(
newVal
)
{
this
.
selectItems
=
JSON
.
parse
(
newVal
);
this
.
selectItems
=
this
.
parseValue
(
JSON
.
parse
(
newVal
)
);
this
.
selectItems
.
forEach
((
item
:
any
)
=>
{
this
.
value
.
push
(
item
[
this
.
deKeyField
]);
let
index
=
this
.
items
.
findIndex
((
i
)
=>
Object
.
is
(
i
[
this
.
deKeyField
],
item
[
this
.
deKeyField
]));
...
...
@@ -187,7 +187,7 @@ export default class AppMpicker extends Vue {
let
index
=
this
.
items
.
findIndex
((
item
)
=>
Object
.
is
(
item
[
this
.
deKeyField
],
select
));
if
(
index
>=
0
)
{
let
item
=
this
.
items
[
index
];
val
.
push
({
[
this
.
deKeyField
]:
item
[
this
.
deKeyField
],
[
this
.
deMajorField
]:
item
.
text
});
val
.
push
({
[
this
.
deKeyField
]:
item
[
this
.
deKeyField
],
[
this
.
deMajorField
]:
item
[
this
.
deMajorField
]
});
}
else
{
index
=
this
.
selectItems
.
findIndex
((
item
:
any
)
=>
Object
.
is
(
item
[
this
.
deKeyField
],
select
));
if
(
index
>=
0
)
{
...
...
@@ -196,7 +196,7 @@ export default class AppMpicker extends Vue {
}
}
});
let
value
=
val
.
length
>
0
?
JSON
.
stringify
(
val
)
:
''
;
let
value
=
val
.
length
>
0
?
JSON
.
stringify
(
this
.
formatValue
(
val
)
)
:
''
;
this
.
$emit
(
'formitemvaluechange'
,
{
name
:
this
.
name
,
value
:
value
});
}
}
...
...
@@ -211,7 +211,7 @@ export default class AppMpicker extends Vue {
let
index
=
this
.
selectItems
.
findIndex
((
item
:
any
)
=>
Object
.
is
(
item
[
this
.
deKeyField
],
tag
));
if
(
index
>=
0
)
{
this
.
selectItems
.
splice
(
index
,
1
);
let
value
=
this
.
selectItems
.
length
>
0
?
JSON
.
stringify
(
this
.
selectItems
)
:
''
;
let
value
=
this
.
selectItems
.
length
>
0
?
JSON
.
stringify
(
this
.
formatValue
(
this
.
selectItems
)
)
:
''
;
this
.
$emit
(
'formitemvaluechange'
,
{
name
:
this
.
name
,
value
:
value
});
}
}
...
...
@@ -256,13 +256,50 @@ export default class AppMpicker extends Vue {
});
}
if
(
this
.
name
&&
this
.
activeData
)
{
let
value
=
selects
.
length
>
0
?
JSON
.
stringify
(
selects
)
:
''
;
let
value
=
selects
.
length
>
0
?
JSON
.
stringify
(
this
.
formatValue
(
selects
)
)
:
''
;
this
.
$emit
(
'formitemvaluechange'
,
{
name
:
this
.
name
,
value
:
value
});
}
})
}
}
/**
* 解析值,把srfkey和srfmajortext解析成实体属性名
*
* @param {any[]} value 需要转换的数组
* @memberof AppMpicker
*/
public
parseValue
(
value
:
any
[]){
let
result
=
[];
if
(
this
.
deKeyField
!==
"srfkey"
||
this
.
deMajorField
!==
"srfmajortext"
){
value
.
forEach
((
item
:
any
)
=>
{
result
.
push
({[
this
.
deMajorField
]:
item
.
srfmajortext
,
[
this
.
deKeyField
]:
item
.
srfkey
});
});
}
else
{
result
=
value
;
}
return
result
;
}
/**
* 格式化值,把实体属性名格式化成srfkey和srfmajortext
*
* @param {any[]} value 需要转换的数组
* @memberof AppMpicker
*/
public
formatValue
(
value
:
any
[]){
let
result
=
[];
if
(
this
.
deKeyField
!==
"srfkey"
||
this
.
deMajorField
!==
"srfmajortext"
){
value
.
forEach
((
item
:
any
)
=>
{
result
.
push
({
srfmajortext
:
item
[
this
.
deMajorField
],
srfkey
:
item
[
this
.
deKeyField
]});
});
}
else
{
result
=
value
;
}
return
result
;
}
}
</
script
>
<
style
lang=
"less"
>
...
...
src/components/app-rich-text-editor/app-rich-text-editor.vue
浏览文件 @
7e2b1845
...
...
@@ -26,94 +26,112 @@ const tinymceCode:any = tinymce;
@
Component
({})
export
default
class
AppRichTextEditor
extends
Vue
{
/**
* 传入值
*
* @type {*}
* @memberof AppRichTextEditor
*/
@
Prop
()
value
?:
any
;
/**
* 监听value值
*/
@
Watch
(
'value'
,
{
immediate
:
true
,
deep
:
true
})
oncurrentContent
(
newval
:
any
,
val
:
any
)
{
if
(
newval
)
{
if
(
this
.
editor
){
tinymceCode
.
remove
(
'#'
+
this
.
id
);
}
this
.
init
(
newval
);
}
}
/**
* 输入name
*
* @type {string}
* @memberof AppRichTextEditor
*/
@
Prop
()
name
?:
string
;
/**
* 输入高度
*
* @type {*}
* @memberof AppRichTextEditor
*/
@
Prop
()
height
?:
any
;
/**
* 是否禁用
*
* @type {boolean}
* @memberof AppRichTextEditor
*/
@
Prop
()
disabled
?:
any
;
/**
* 当前语言,默认中文
*/
public
langu
:
any
=
localStorage
.
getItem
(
'local'
)
?
localStorage
.
getItem
(
'local'
)
:
'zh_CN'
;
@
Prop
()
disabled
?:
boolean
;
/**
* 监听语言变化
*/
@
Watch
(
'$i18n.locale'
)
onLocaleChange
(
newval
:
any
,
val
:
any
)
{
console
.
log
(
"语言变更"
+
newval
)
this
.
langu
=
newval
;
if
(
this
.
editor
){
tinymceCode
.
remove
(
'#'
+
this
.
id
);
}
this
.
init
(
''
);
}
/**
* 语言映射文件
* 表单状态
*
* @type {Subject<any>}
* @memberof AppRichTextEditor
*/
public
languMap
:
any
=
{
'zh-CN'
:
'zh_CN'
,
'en-US'
:
'en_US'
,
};
@
Prop
()
public
formState
?:
Subject
<
any
>
;
/**
* 上传文件路径
*
* @type {string}
* @memberof AppRichTextEditor
*/
public
uploadUrl
=
Environment
.
BaseUrl
+
Environment
.
UploadFile
;
/**
* 下载路径
*
* @type {string}
* @memberof AppRichTextEditor
*/
public
downloadUrl
=
Environment
.
BaseUrl
+
Environment
.
ExportFile
;
/**
* 当前富文本
*
* @type {*}
* @memberof AppRichTextEditor
*/
public
editor
:
any
=
null
;
/**
* 当前富文本id
*
* @type {string}
* @memberof AppRichTextEditor
*/
id
:
string
=
this
.
$util
.
createUUID
();
public
id
:
string
=
this
.
$util
.
createUUID
();
/**
*
表单状态
*
* @type {
Subject<any>
}
*
当前语言,默认中文
*
* @type {
*
}
* @memberof AppRichTextEditor
*/
@
Prop
()
public
formState
?:
Subject
<
any
>
;
public
langu
:
any
=
localStorage
.
getItem
(
'local'
)
?
localStorage
.
getItem
(
'local'
)
:
'zh_CN'
;
/**
* 语言映射文件
*
* @type {*}
* @memberof AppRichTextEditor
*/
public
languMap
:
any
=
{
'zh-CN'
:
'zh_CN'
,
'en-US'
:
'en_US'
,
};
/**
* 是否处于激活状态
*
* @type {boolean}
* @memberof AppRichTextEditor
*/
public
isActived
:
boolean
=
true
;
/**
* 是否需要初始化
*
* @type {boolean}
* @memberof AppRichTextEditor
*/
public
isNeedInit
:
boolean
=
false
;
/**
* 生命周期
...
...
@@ -125,40 +143,92 @@ export default class AppRichTextEditor extends Vue {
this
.
formState
.
subscribe
(({
type
,
data
})
=>
{
if
(
Object
.
is
(
'load'
,
type
))
{
if
(
!
this
.
value
)
{
if
(
this
.
editor
){
tinymceCode
.
remove
(
'#'
+
this
.
id
);
}
this
.
init
(
this
.
value
);
this
.
init
();
}
}
});
}
}
/**
* 生命周期:激活
*
* @memberof AppRichTextEditor
*/
public
activated
(){
this
.
isActived
=
true
;
if
(
this
.
isNeedInit
){
this
.
init
();
this
.
isNeedInit
=
false
;
}
}
/**
* 初始化富文本
* 生命周期:缓存
*
* @memberof AppRichTextEditor
*/
public
deactivated
(){
this
.
isActived
=
false
;
}
/**
* 生命周期:初始化富文本
*
* @memberof AppRichTextEditor
*/
public
mounted
()
{
this
.
init
(
''
);
this
.
init
();
}
/**
* 销毁富文本
* 生命周期:销毁富文本
*
* @memberof AppRichTextEditor
*/
public
destoryed
(){
tinymceCode
.
remove
(
this
.
editor
);
if
(
this
.
editor
){
tinymceCode
.
remove
(
'#'
+
this
.
id
);
}
}
/**
* 监听value值
*
* @memberof AppRichTextEditor
*/
@
Watch
(
'value'
,
{
immediate
:
true
,
deep
:
true
})
oncurrentContent
(
newval
:
any
,
val
:
any
)
{
if
(
newval
)
{
this
.
init
();
}
}
/**
* 监听语言变化
*/
@
Watch
(
'$i18n.locale'
)
onLocaleChange
(
newval
:
any
,
val
:
any
)
{
this
.
langu
=
newval
;
if
(
this
.
isActived
){
this
.
init
();
}
else
{
this
.
isNeedInit
=
true
;
}
}
/**
* 初始化富文本
* @param val
*
* @memberof AppRichTextEditor
*/
public
init
(
val
:
any
)
{
public
init
()
{
this
.
destoryed
();
let
richtexteditor
=
this
;
tinymceCode
.
init
({
selector
:
'#'
+
this
.
id
,
selector
:
'#'
+
richtexteditor
.
id
,
width
:
'calc( 100% - 2px )'
,
height
:
this
.
height
,
height
:
richtexteditor
.
height
,
min_height
:
400
,
branding
:
false
,
plugins
:
[
'link'
,
'paste'
,
'table'
,
'image'
,
'codesample'
,
'code'
,
'fullscreen'
,
'preview'
],
...
...
@@ -177,13 +247,13 @@ export default class AppRichTextEditor extends Vue {
paste_data_images
:
true
,
codesample_content_css
:
'assets/tinymce/prism.css'
,
skin_url
:
'./assets/tinymce/skins/lightgray'
,
language_url
:
'./assets/tinymce/langs/'
+
this
.
languMap
[
this
.
langu
]
+
'.js'
,
language
:
this
.
languMap
[
this
.
langu
],
language_url
:
'./assets/tinymce/langs/'
+
richtexteditor
.
languMap
[
richtexteditor
.
langu
]
+
'.js'
,
language
:
richtexteditor
.
languMap
[
richtexteditor
.
langu
],
setup
:
(
editor
:
any
)
=>
{
this
.
editor
=
editor
;
richtexteditor
.
editor
=
editor
;
editor
.
on
(
'blur'
,
()
=>
{
const
content
=
editor
.
getContent
();
this
.
$emit
(
'change'
,
content
);
richtexteditor
.
$emit
(
'change'
,
content
);
});
},
images_upload_handler
:
(
bolbinfo
:
any
,
success
:
any
,
failure
:
any
)
=>
{
...
...
@@ -202,13 +272,13 @@ export default class AppRichTextEditor extends Vue {
});
},
init_instance_callback
:
(
editor
:
any
)
=>
{
this
.
editor
=
editor
;
let
value
=
(
this
.
value
&&
this
.
value
.
length
>
0
)
?
this
.
value
:
''
;
if
(
this
.
editor
)
{
this
.
editor
.
setContent
(
value
);
richtexteditor
.
editor
=
editor
;
let
value
=
(
richtexteditor
.
value
&&
richtexteditor
.
value
.
length
>
0
)
?
richtexteditor
.
value
:
''
;
if
(
richtexteditor
.
editor
)
{
richtexteditor
.
editor
.
setContent
(
value
);
}
if
(
this
.
disabled
)
{
this
.
editor
.
setMode
(
'readonly'
);
if
(
richtexteditor
.
disabled
)
{
richtexteditor
.
editor
.
setMode
(
'readonly'
);
}
}
});
...
...
@@ -216,8 +286,10 @@ export default class AppRichTextEditor extends Vue {
/**
* 上传文件
* @param url
* @param formData
*
* @param url 路径
* @param formData 文件对象
* @memberof AppRichTextEditor
*/
public
uploadFile
(
url
:
string
,
formData
:
any
)
{
let
_this
=
this
;
...
...
src/components/app-span/app-span.vue
浏览文件 @
7e2b1845
...
...
@@ -108,6 +108,11 @@ export default class AppSpan extends Vue {
public
load
(){
if
(
!
this
.
value
||
this
.
tag
){
return
;
//代码表走codelist组件
}
else
if
(
this
.
editorType
===
"ADDRESSPICKUP"
){
JSON
.
parse
(
this
.
value
).
forEach
((
item
:
any
,
index
:
number
)
=>
{
this
.
text
+=
index
===
0
?
item
.
srfmajortext
:
","
+
item
.
srfmajortext
;
});
}
else
{
this
.
text
=
this
.
value
;
}
...
...
src/components/login/login.less
浏览文件 @
7e2b1845
.login{
width: 100vh;
height: 100vh;
// background-image: url('../assets/images/login_bg.jpg');
background-size: cover;
background-position: center;
position: relative;
> img{
width: 100vw;
height: 100vh;
}
.login-logo{
position: fixed;
left: 80px;
top: 80px;
}
.login-content{
position: fixed;
left: 10%;
top: 30%;
width: 60%;
>span{
color: #fff;
font-size: 84px;
}
}
&-con{
position: fixed;
right: 160px;
top: 50%;
transform: translateY(-60%);
width: 300px;
.ivu-card-head {
padding: 14px 6px;
>p{
line-height: 20px;
font-size: 14px;
color: #17233d;
font-weight: 700;
}
}
&-header{
font-size: 16px;
font-weight: 300;
...
...
src/components/login/login.vue
浏览文件 @
7e2b1845
<
template
>
<div
class=
'login'
>
<img
src=
"/assets/img/login_bg.png"
/>
<div
class=
"login-logo"
>
<img
src =
"/assets/img/logo.svg"
/>
</div>
<div
class=
"login-content"
>
<span>
{{
appTitle
}}
</span>
</div>
<div
class=
'login-con'
>
<card
:bordered=
"false"
>
<p
slot=
'title'
>
...
...
@@ -55,7 +62,15 @@ export default class Login extends Vue {
* @type {*}
* @memberof Login
*/
public
form
:
any
=
{
loginname
:
null
,
password
:
null
};
public
form
:
any
=
{
loginname
:
'guest'
,
password
:
'guest'
};
/**
* 应用标题
*
* @type {string}
* @memberof Login
*/
public
appTitle
:
string
=
Environment
.
AppTitle
;
/**
* 值规则
...
...
src/mock/login/login.ts
浏览文件 @
7e2b1845
...
...
@@ -14,7 +14,7 @@ mock.onPost('v7/login').reply((config: any) => {
}
catch
(
error
)
{
status
=
400
;
}
if
(
!
Object
.
is
(
user
.
loginname
,
'
ibzadmin'
)
||
!
Object
.
is
(
user
.
password
,
'123456
'
))
{
if
(
!
Object
.
is
(
user
.
loginname
,
'
guest'
)
||
!
Object
.
is
(
user
.
password
,
'guest
'
))
{
status
=
400
;
}
if
(
status
!==
200
)
{
...
...
src/service/entity-service.ts
浏览文件 @
7e2b1845
...
...
@@ -587,12 +587,12 @@ export default class EntityService {
* createBatch接口方法
*
* @param {*} [context={}]
* @param {*} [data
={}
]
* @param {*} [data]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EntityService
*/
public
async
createBatch
(
context
:
any
=
{},
data
:
any
=
{}
,
isloading
?:
boolean
):
Promise
<
any
>
{
public
async
createBatch
(
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
post
(
`/
${
this
.
APPDENAME
}
/batch`
,
data
,
isloading
);
}
...
...
@@ -600,12 +600,12 @@ export default class EntityService {
* updateBatch接口方法
*
* @param {*} [context={}]
* @param {*} [data
={}
]
* @param {*} [data]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EntityService
*/
public
async
updateBatch
(
context
:
any
=
{},
data
:
any
=
{}
,
isloading
?:
boolean
):
Promise
<
any
>
{
public
async
updateBatch
(
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
put
(
`/
${
this
.
APPDENAME
}
/batch`
,
data
,
isloading
);
}
...
...
@@ -613,12 +613,12 @@ export default class EntityService {
* removeBatch接口方法
*
* @param {*} [context={}]
* @param {*} [data
={}
]
* @param {*} [data]
* @param {boolean} [isloading]
* @returns {Promise<any>}
* @memberof EntityService
*/
public
async
removeBatch
(
context
:
any
=
{},
data
:
any
=
{}
,
isloading
?:
boolean
):
Promise
<
any
>
{
public
async
removeBatch
(
context
:
any
=
{},
data
:
any
,
isloading
?:
boolean
):
Promise
<
any
>
{
return
Http
.
getInstance
().
delete
(
`/
${
this
.
APPDENAME
}
/batch`
,
isloading
,
data
);
}
...
...
src/utils/http/http.ts
浏览文件 @
7e2b1845
...
...
@@ -78,7 +78,7 @@ export class Http {
axios
({
method
:
'post'
,
url
:
url
,
data
:
{
...
params
}
,
data
:
params
,
headers
:
{
'Content-Type'
:
'application/json;charset=UTF-8'
,
'Accept'
:
'application/json'
},
// transformResponse: [(data: any) => {
// let _data: any = null;
...
...
src/utils/studio-action/StudioActionUtil.ts
浏览文件 @
7e2b1845
...
...
@@ -92,7 +92,7 @@ export class StudioActionUtil {
const
config
:
any
=
await
this
.
getConfig
(
viewName
);
if
(
config
)
{
const
context
:
string
=
`视图模块:
${
config
.
viewmodule
}
\n视图标识:
${
config
.
viewname
}
\n视图类型:
${
config
.
viewtype
}
\n`
;
window
.
open
(
`
${
Environment
.
ProjectUrl
}
/issues/
new?issue[title]=
${
encodeURIComponent
(
'问题'
)}
&issue[description]=
${
encodeURIComponent
(
context
)}
`
,
'_blank'
);
window
.
open
(
`
${
Environment
.
ProjectUrl
}
/issues/`
,
'_blank'
);
}
}
...
...
编辑
预览
Markdown
格式
0%
请重试
or
添加新附件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录