Skip to content
项目
群组
代码片段
帮助
正在加载...
帮助
提交反馈
为 GitLab 提交贡献
登录
切换导航
P
pica.cloud.web-education-admin
项目
项目
详情
动态
版本
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
成员
成员
收起侧边栏
Close sidebar
动态
分支图
统计图
提交
打开侧边栏
com.pica.cloud.education.frontend
pica.cloud.web-education-admin
提交
620569ad
提交
620569ad
编写于
3月 04, 2019
作者:
huangwensu
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
组件样式调整
上级
a3dffc28
变更
7
隐藏空白字符变更
内嵌
并排
正在显示
7 个修改的文件
包含
93 行增加
和
64 行删除
+93
-64
breadcrumb.vue
src/components/breadcrumb.vue
+2
-2
router.js
src/router/router.js
+4
-0
validate.js
src/utils/validate.js
+8
-0
blank.vue
src/views/blank.vue
+15
-0
create-component.vue
src/views/education/create-component.vue
+47
-20
item-component.vue
src/views/education/item-component.vue
+10
-5
home.vue
src/views/home.vue
+7
-37
未找到文件。
src/components/breadcrumb.vue
浏览文件 @
620569ad
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<el-breadcrumb
separator-class=
"el-icon-arrow-right"
>
<el-breadcrumb
separator-class=
"el-icon-arrow-right"
>
<el-breadcrumb-item>
{{
curmbFirst
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
curmbFirst
}}
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: jumPathThird }">
{{
curmbSecond
}}
</el-breadcrumb-item>
<el-breadcrumb-item
:to=
"
{ path: jumPathThird }">
{{
curmbSecond
}}
</el-breadcrumb-item>
<el-breadcrumb-item>
{{
curmbThird
}}
</el-breadcrumb-item>
<el-breadcrumb-item
v-if=
"curmbThird"
>
{{
curmbThird
}}
</el-breadcrumb-item>
</el-breadcrumb>
</el-breadcrumb>
</div>
</div>
</
template
>
</
template
>
...
@@ -34,7 +34,7 @@ export default {
...
@@ -34,7 +34,7 @@ export default {
background
:
#F4F5F6
;
background
:
#F4F5F6
;
height
:
50px
;
height
:
50px
;
padding
:
20px
0
0
13px
;
padding
:
20px
0
0
13px
;
z-index
:
2
;
z-index
:
99
;
.el-breadcrumb__inner
{
.el-breadcrumb__inner
{
font-size
:
12px
;
font-size
:
12px
;
}
}
...
...
src/router/router.js
浏览文件 @
620569ad
import
App
from
'../App'
import
App
from
'../App'
const
home
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/home'
)),
'home'
)
const
home
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/home'
)),
'home'
)
const
blank
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/blank'
)),
'blank'
)
const
itemManager
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/item-manager.vue'
)),
'item-manager'
)
const
itemManager
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/item-manager.vue'
)),
'item-manager'
)
const
itemComponent
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/item-component.vue'
)),
'item-component'
)
const
itemComponent
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/item-component.vue'
)),
'item-component'
)
const
createComponent
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/create-component.vue'
)),
'create-component'
)
const
createComponent
=
r
=>
require
.
ensure
([],
()
=>
r
(
require
(
'../views/education/create-component.vue'
)),
'create-component'
)
...
@@ -20,6 +21,9 @@ export default [{
...
@@ -20,6 +21,9 @@ export default [{
},{
},{
path
:
'/home'
,
path
:
'/home'
,
component
:
home
component
:
home
},{
path
:
'/blank'
,
component
:
blank
},{
},{
path
:
'/item-manager'
,
path
:
'/item-manager'
,
component
:
itemManager
component
:
itemManager
...
...
src/utils/validate.js
浏览文件 @
620569ad
...
@@ -36,5 +36,13 @@ export function isvalidUsername(str) {
...
@@ -36,5 +36,13 @@ export function isvalidUsername(str) {
const
reg
=
/^
[\u
4e00-
\u
9fa5
]{2,20}
$/
const
reg
=
/^
[\u
4e00-
\u
9fa5
]{2,20}
$/
return
reg
.
test
(
str
)
return
reg
.
test
(
str
)
}
}
/* 通用密码验证(数字、字母、下划线或特殊字符且长度为0-150位) */
export
function
isValidPassword
(
rule
,
value
,
callback
,
message
)
{
if
(
!
/^
(?:\d
+|
[
a-zA-Z
]
+|
[
!@#$%^&*
]
+
){0,150}
$/
.
test
(
value
))
{
callback
(
new
Error
(
message
))
}
else
{
callback
()
}
}
\ No newline at end of file
src/views/blank.vue
0 → 100644
浏览文件 @
620569ad
<
template
>
<div>
很抱歉,您暂时还没开通工作站功能
</div>
</
template
>
<
script
>
export
default
{
}
</
script
>
<
style
>
</
style
>
src/views/education/create-component.vue
浏览文件 @
620569ad
...
@@ -8,8 +8,10 @@
...
@@ -8,8 +8,10 @@
</bread-crumb>
</bread-crumb>
<div
class=
"step-content"
>
<div
class=
"step-content"
>
<el-steps
:active=
"stepNum"
simple
>
<el-steps
:active=
"stepNum"
simple
>
<span
class=
"step-one"
:class=
"stepNum == 1 ? 'class-a' : 'class-b'"
>
1
</span><el-step
title=
"基础信息"
></el-step>
<span
class=
"step-one"
:class=
"stepNum == 1 ? 'class-1' : 'class-2'"
>
1
</span>
<span
class=
"step-two"
:class=
"stepNum == 2 ? 'class-a' : 'class-b'"
>
2
</span><el-step
title=
"选择模块"
></el-step>
<el-step
title=
"基础信息"
:class=
"stepNum == 1 ? 'class-1-text' : 'class-2-text'"
></el-step>
<span
class=
"step-two"
:class=
"stepNum == 2 ? 'class-1' : 'class-2'"
>
2
</span>
<el-step
title=
"选择模块"
:class=
"stepNum == 2 ? 'class-1-text' : 'class-2-text'"
></el-step>
</el-steps>
</el-steps>
<div
class=
"btn-container"
>
<div
class=
"btn-container"
>
<el-button
type=
"default"
size=
"small"
@
click=
"justStorage"
>
暂存
</el-button>
<el-button
type=
"default"
size=
"small"
@
click=
"justStorage"
>
暂存
</el-button>
...
@@ -24,7 +26,7 @@
...
@@ -24,7 +26,7 @@
<span
class=
"word-num"
>
0/20
</span>
<span
class=
"word-num"
>
0/20
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"组件简介"
prop=
"introduce"
>
<el-form-item
label=
"组件简介"
prop=
"introduce"
>
<el-input
type=
"textarea"
v-model=
"componentList.introduce"
size=
"mini"
placeholder=
"请输入组件简介"
style=
"width:30
%;"
></el-input>
<el-input
type=
"textarea"
rows=
"4"
cols=
"10"
v-model=
"componentList.introduce"
size=
"mini"
placeholder=
"请输入组件简介"
style=
"width:37
%;"
></el-input>
<span
class=
"word-num"
>
0/150
</span>
<span
class=
"word-num"
>
0/150
</span>
</el-form-item>
</el-form-item>
<el-form-item
label=
"组件图片"
prop=
"imageUrl"
>
<el-form-item
label=
"组件图片"
prop=
"imageUrl"
>
...
@@ -37,8 +39,8 @@
...
@@ -37,8 +39,8 @@
<img
v-if=
"componentList.imageUrl"
:src=
"componentList.imageUrl"
class=
"bg-img"
>
<img
v-if=
"componentList.imageUrl"
:src=
"componentList.imageUrl"
class=
"bg-img"
>
<img
v-if=
"!componentList.imageUrl"
class=
"bg-img"
src=
"../../assets/image/small.png"
>
<img
v-if=
"!componentList.imageUrl"
class=
"bg-img"
src=
"../../assets/image/small.png"
>
<div
class=
"limit-text"
>
<div
class=
"limit-text"
>
<p>
尺寸大小
:
750*420
</p>
<p>
尺寸大小
:
750*420
</p>
<p>
限制大小
:
2.0 Mb
</p>
<p>
限制大小
:
2.0 Mb
</p>
<p>
支持.jpg,.png格式
</p>
<p>
支持.jpg,.png格式
</p>
</div>
</div>
</el-upload>
</el-upload>
...
@@ -83,7 +85,7 @@
...
@@ -83,7 +85,7 @@
<el-button
type=
"primary"
size=
"small"
@
click=
"addFromModule"
style=
"margin-left:0;"
>
从模块添加
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"addFromModule"
style=
"margin-left:0;"
>
从模块添加
</el-button>
</div>
</div>
<div
class=
"tab-content"
>
<div
class=
"tab-content"
>
<el-tabs
type=
"card"
v-model=
"firstTab"
editable
@
tab-click=
"handleClick
"
>
<el-tabs
type=
"card"
v-model=
"firstTab"
closable
@
tab-remove=
"removeTab
"
>
<el-tab-pane
v-for=
"(item,index) in componentList.moduleList"
:key=
"index"
:label=
"'模块' + parseInt(index + 1)"
:name=
'"" + parseInt(index + 1)'
>
<el-tab-pane
v-for=
"(item,index) in componentList.moduleList"
:key=
"index"
:label=
"'模块' + parseInt(index + 1)"
:name=
'"" + parseInt(index + 1)'
>
<div>
<div>
<el-form
ref=
"moduleForm"
:model=
"item"
:rules=
"rules"
label-suffix=
":"
label-width=
"130px"
style=
"width:100%;"
>
<el-form
ref=
"moduleForm"
:model=
"item"
:rules=
"rules"
label-suffix=
":"
label-width=
"130px"
style=
"width:100%;"
>
...
@@ -209,10 +211,6 @@
...
@@ -209,10 +211,6 @@
<el-input
v-model=
"selectModuleForm.test"
></el-input>
<el-input
v-model=
"selectModuleForm.test"
></el-input>
</el-form-item>
</el-form-item>
</el-form>
</el-form>
<!--
<div
class=
"dialog-foot"
>
<el-button
type=
"default"
size=
"small"
@
click=
"columnFormVisible = false"
>
取消
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"submitDialog"
>
确定
</el-button>
</div>
-->
<span
slot=
"footer"
class=
"dialog-footer dialog-foot"
>
<span
slot=
"footer"
class=
"dialog-footer dialog-foot"
>
<el-button
type=
"default"
size=
"small"
@
click=
"columnFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"default"
size=
"small"
@
click=
"columnFormVisible = false"
>
取 消
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"submitDialog"
>
确 定
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"submitDialog"
>
确 定
</el-button>
...
@@ -223,7 +221,7 @@
...
@@ -223,7 +221,7 @@
<
script
>
<
script
>
import
BreadCrumb
from
'../../components/breadcrumb.vue'
import
BreadCrumb
from
'../../components/breadcrumb.vue'
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniuUtil"
import
{
doUpload
,
getFilePath
}
from
"../../utils/qiniuUtil"
import
{
validateWord
}
from
"../../utils/validate.js"
import
{
validateWord
,
isValidPassword
}
from
"../../utils/validate.js"
let
vm
=
null
let
vm
=
null
export
default
{
export
default
{
components
:
{
components
:
{
...
@@ -268,7 +266,7 @@ export default {
...
@@ -268,7 +266,7 @@ export default {
},
},
basicRule
:
{
basicRule
:
{
"name"
:
[
"name"
:
[
{
required
:
true
,
message
:
'输入
长度为2-20个中文
'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'输入
组件名称
'
,
trigger
:
'blur'
},
{
validator
:
function
(
rule
,
value
,
callback
)
{
{
validator
:
function
(
rule
,
value
,
callback
)
{
validateWord
(
rule
,
value
,
callback
,
'输入长度为2-20个中文'
)
validateWord
(
rule
,
value
,
callback
,
'输入长度为2-20个中文'
)
},
},
...
@@ -276,6 +274,10 @@ export default {
...
@@ -276,6 +274,10 @@ export default {
],
],
"introduce"
:
[
"introduce"
:
[
{
required
:
true
,
message
:
'请输入组件简介'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入组件简介'
,
trigger
:
'blur'
},
{
validator
:
function
(
rule
,
value
,
callback
)
{
isValidPassword
(
rule
,
value
,
callback
,
'超出可输入的最大长度'
)
},
trigger
:
'blur'
}
],
],
"imageUrl"
:
[
"imageUrl"
:
[
{
required
:
true
,
message
:
'请上传组件图片'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请上传组件图片'
,
trigger
:
'blur'
},
...
@@ -304,7 +306,7 @@ export default {
...
@@ -304,7 +306,7 @@ export default {
],
],
"id"
:
[
"id"
:
[
{
required
:
true
,
message
:
'请输入考试id'
,
trigger
:
'blur'
},
{
required
:
true
,
message
:
'请输入考试id'
,
trigger
:
'blur'
},
]
,
]
}
}
}
}
...
@@ -331,12 +333,25 @@ export default {
...
@@ -331,12 +333,25 @@ export default {
return
;
return
;
}
}
if
(
!
isLt2M
)
{
if
(
!
isLt2M
)
{
this
.
$message
.
error
(
'上传图片大小不能超过2MB!'
);
vm
.
$message
.
error
(
'上传图片大小不能超过2MB!'
);
}
let
_img
=
new
FileReader
()
_img
.
readAsDataURL
(
file
)
_img
.
onload
=
function
(
theFile
)
{
let
image
=
new
Image
()
image
.
src
=
theFile
.
target
.
result
image
.
onload
=
function
()
{
let
_this
=
this
if
(
_this
.
width
!=
750
||
_this
.
height
!=
420
)
{
vm
.
$message
.
info
(
'上传图片宽度不合适,请重新上传'
)
}
else
{
doUpload
(
vm
,
file
,
getFilePath
(
file
,
null
),
'preview4'
,
'progress1'
,
1
).
then
(
function
(
path
)
{
vm
.
componentList
.
imageUrl
=
path
.
fullPath
vm
.
$message
.
success
(
'上传成功'
)
});
}
}
}
}
doUpload
(
vm
,
file
,
getFilePath
(
file
,
null
),
'preview4'
,
'progress1'
,
1
).
then
(
function
(
path
)
{
vm
.
componentList
.
imageUrl
=
path
.
fullPath
vm
.
$message
.
success
(
'上传成功'
)
});
},
},
// 是否配置证书
// 是否配置证书
selectCertificate
(
val
)
{
selectCertificate
(
val
)
{
...
@@ -353,6 +368,10 @@ export default {
...
@@ -353,6 +368,10 @@ export default {
// tab点击
// tab点击
handleClick
(
tab
,
event
)
{
handleClick
(
tab
,
event
)
{
},
// 删除tab
removeTab
()
{
},
},
// 添加空白模块
// 添加空白模块
addModule
()
{
addModule
()
{
...
@@ -561,11 +580,19 @@ export default {
...
@@ -561,11 +580,19 @@ export default {
.el-step.is-simple
.el-step__head
{
.el-step.is-simple
.el-step__head
{
display
:
none
;
display
:
none
;
}
}
.class-
a
{
.class-
1
{
color
:
#409EFF
;
color
:
#409EFF
;
border
:
1px
solid
#409EFF
!
important
;
}
}
.class-
b
{
.class-
2
{
color
:
#999
;
color
:
#999
;
border
:
1px
solid
#999
!
important
;
}
.class-1-text
.el-step__title
{
color
:
#409EFF
!
important
;
}
.class-2-text
.el-step__title
{
color
:
#999
!
important
;
}
}
.el-steps--simple
{
.el-steps--simple
{
float
:
left
;
float
:
left
;
...
...
src/views/education/item-component.vue
浏览文件 @
620569ad
...
@@ -35,10 +35,10 @@
...
@@ -35,10 +35,10 @@
<el-button
type=
"primary"
size=
"small"
@
click=
"createComponent"
>
新建项目组件
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"createComponent"
>
新建项目组件
</el-button>
</el-row>
</el-row>
<el-table
:data=
"tableData"
style=
"width: 100%"
>
<el-table
:data=
"tableData"
style=
"width: 100%"
>
<el-table-column
prop=
"
name"
label=
"ID编号"
min-width=
"15
0"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
id"
label=
"ID编号"
min-width=
"10
0"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"组件名称"
min-width=
"
15
0"
align=
"center"
></el-table-column>
<el-table-column
prop=
"name"
label=
"组件名称"
min-width=
"
20
0"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
name"
label=
"发起人"
min-width=
"15
0"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
person"
label=
"发起人"
min-width=
"10
0"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
name"
label=
"状态"
min-width=
"15
0"
align=
"center"
></el-table-column>
<el-table-column
prop=
"
status"
label=
"状态"
min-width=
"8
0"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"200"
>
<el-table-column
label=
"操作"
fixed=
"right"
align=
"center"
min-width=
"200"
>
<template
slot-scope=
"scope"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"small"
>
编辑
</el-button>
<el-button
type=
"primary"
size=
"small"
>
编辑
</el-button>
...
@@ -82,7 +82,12 @@ export default {
...
@@ -82,7 +82,12 @@ export default {
status
:
''
status
:
''
},
},
statuSelect
:
[],
statuSelect
:
[],
tableData
:
[],
tableData
:
[{
id
:
'233425'
,
name
:
'国际基本公共卫生服务项目'
,
person
:
'张三'
,
status
:
'草稿'
}],
totalRows
:
0
,
totalRows
:
0
,
basicRule
:
{
basicRule
:
{
"name"
:
[
"name"
:
[
...
...
src/views/home.vue
浏览文件 @
620569ad
<
template
>
<
template
>
<div
class=
"home-container"
>
<div>
<bread-crumb
:curmbFirst=
"curmbFirst"
:curmbSecond=
"curmbSecond"
></bread-crumb>
<div
class=
"home-table"
>
<el-table
:data=
"tableData"
>
<el-table-column
prop=
"date"
label=
"Date"
width=
"140"
></el-table-column>
<el-table-column
prop=
"name"
label=
"Name"
width=
"120"
></el-table-column>
<el-table-column
prop=
"address"
label=
"Address"
></el-table-column>
</el-table>
</div>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
import
BreadCrumb
from
'../components/breadcrumb.vue'
export
default
{
export
default
{
components
:
{
}
BreadCrumb
},
data
()
{
const
item
=
{
date
:
'2016-05-02'
,
name
:
'Tom'
,
address
:
'No. 189, Grove St, Los Angeles'
};
return
{
tableData
:
Array
(
10
).
fill
(
item
),
curmbFirst
:
'首页'
,
curmbSecond
:
'首页'
}
}
};
</
script
>
</
script
>
<
style
lang=
"scss"
>
<
style
>
.home-container
{
width
:
100%
;
.home-table
{
padding-left
:
20px
;
}
}
</
style
>
</
style
>
写
预览
Markdown
格式
0%
请重试
or
附加一个文件
附加文件
取消
您添加了
0
人
到此讨论。请谨慎行事。
先完成此消息的编辑!
取消
想要评论请
注册
或
登录