Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
P
project-online-old
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
project-online-old
Commits
39b12601
提交
39b12601
authored
12月 07, 2020
作者:
王鹏飞
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
优化表单校验规则
上级
e14726b8
隐藏空白字符变更
内嵌
并排
正在显示
6 个修改的文件
包含
78 行增加
和
52 行删除
+78
-52
package-lock.json
package-lock.json
+37
-24
index.vue
src/pages/letter/index.vue
+16
-6
honor.js
src/pages/my/application/form/info/honor.js
+7
-7
training.js
src/pages/my/application/form/info/training.js
+9
-9
preview.vue
src/pages/my/application/preview.vue
+8
-5
indexWelcome.vue
src/pages/my/welcome/indexWelcome.vue
+1
-1
没有找到文件。
package-lock.json
浏览文件 @
39b12601
...
...
@@ -1139,6 +1139,19 @@
"requires"
:
{
"follow-redirects"
:
"^1.10.0"
}
},
"element-ui"
:
{
"version"
:
"2.14.1"
,
"resolved"
:
"https://registry.npmjs.org/element-ui/-/element-ui-2.14.1.tgz"
,
"integrity"
:
"sha512-Uje0J12dBaXdyvt/EtuDA8diFbYTdO7uI4QCfl7zmEJmE1WxgCSVKhlRRoL8MDonO8pyNVhB4n0AFAR14g56nw=="
,
"requires"
:
{
"async-validator"
:
"~1.8.1"
,
"babel-helper-vue-jsx-merge-props"
:
"^2.0.0"
,
"deepmerge"
:
"^1.2.0"
,
"normalize-wheel"
:
"^1.0.1"
,
"resize-observer-polyfill"
:
"^1.5.0"
,
"throttle-debounce"
:
"^1.0.1"
}
}
}
},
...
...
@@ -1697,7 +1710,7 @@
"dependencies"
:
{
"debug"
:
{
"version"
:
"2.6.9"
,
"resolved"
:
"https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz
?cache=0&sync_timestamp=1600502873540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz
"
,
"resolved"
:
"https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz"
,
"integrity"
:
"sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8="
,
"dev"
:
true
,
"requires"
:
{
...
...
@@ -1999,8 +2012,8 @@
},
"async-validator"
:
{
"version"
:
"1.8.5"
,
"resolved"
:
"https://registry.npm
js.org/async-validator/-/
async-validator-1.8.5.tgz"
,
"integrity"
:
"sha
512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA=
="
,
"resolved"
:
"https://registry.npm
.taobao.org/async-validator/download/async-validator-1.8.5.tgz?cache=0&sync_timestamp=1596625258256&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fasync-validator%2Fdownload%2F
async-validator-1.8.5.tgz"
,
"integrity"
:
"sha
1-3D4I7B/Q3dtn5ghC8CwM0c7G1/A
="
,
"requires"
:
{
"babel-runtime"
:
"6.x"
}
...
...
@@ -2103,9 +2116,9 @@
},
"dependencies"
:
{
"core-js"
:
{
"version"
:
"2.6.1
2
"
,
"resolved"
:
"https://registry.npm
js.org/core-js/-/core-js-2.6.12
.tgz"
,
"integrity"
:
"sha
512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ=
="
"version"
:
"2.6.1
1
"
,
"resolved"
:
"https://registry.npm
.taobao.org/core-js/download/core-js-2.6.11
.tgz"
,
"integrity"
:
"sha
1-OIMUafmSK97Y7iHJ3EaYXgOZMIw
="
}
}
},
...
...
@@ -3133,9 +3146,9 @@
}
},
"core-js"
:
{
"version"
:
"3.8.
0
"
,
"resolved"
:
"https://registry.npmjs.org/core-js/-/core-js-3.8.
0
.tgz"
,
"integrity"
:
"sha512-
W2VYNB0nwQQE7tKS7HzXd7r2y/y2SVJl4ga6oH/dnaLFzM0o2lB2P3zCkWj5Wc/zyMYjtgd5Hmhk0ObkQFZOIA
=="
"version"
:
"3.8.
1
"
,
"resolved"
:
"https://registry.npmjs.org/core-js/-/core-js-3.8.
1
.tgz"
,
"integrity"
:
"sha512-
9Id2xHY1W7m8hCl8NkhQn5CufmF/WuR30BTRewvCXc1aZd3kMECwNZ69ndLbekKfakw9Rf2Xyc+QR6E7Gg+obg
=="
},
"core-js-compat"
:
{
"version"
:
"3.6.5"
,
...
...
@@ -3485,8 +3498,8 @@
},
"deepmerge"
:
{
"version"
:
"1.5.2"
,
"resolved"
:
"https://registry.npm
js.org/deepmerge/-
/deepmerge-1.5.2.tgz"
,
"integrity"
:
"sha
512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ=
="
"resolved"
:
"https://registry.npm
.taobao.org/deepmerge/download
/deepmerge-1.5.2.tgz"
,
"integrity"
:
"sha
1-EEmdhohEza1P7ghC34x/bwyVp1M
="
},
"default-gateway"
:
{
"version"
:
"4.2.0"
,
...
...
@@ -4366,7 +4379,7 @@
"dependencies"
:
{
"debug"
:
{
"version"
:
"2.6.9"
,
"resolved"
:
"https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz
?cache=0&sync_timestamp=1600502873540&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fdebug%2Fdownload%2Fdebug-2.6.9.tgz
"
,
"resolved"
:
"https://registry.npm.taobao.org/debug/download/debug-2.6.9.tgz"
,
"integrity"
:
"sha1-XRKFFd8TT/Mn6QpMk/Tgd6U2NB8="
,
"dev"
:
true
,
"requires"
:
{
...
...
@@ -5657,7 +5670,7 @@
},
"html-tags"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npm
js.org/html-tags/-
/html-tags-2.0.0.tgz"
,
"resolved"
:
"https://registry.npm
.taobao.org/html-tags/download
/html-tags-2.0.0.tgz"
,
"integrity"
:
"sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos="
},
"html-webpack-plugin"
:
{
...
...
@@ -6620,7 +6633,7 @@
},
"lodash.kebabcase"
:
{
"version"
:
"4.1.1"
,
"resolved"
:
"https://registry.npm
js.org/lodash.kebabcase/-
/lodash.kebabcase-4.1.1.tgz"
,
"resolved"
:
"https://registry.npm
.taobao.org/lodash.kebabcase/download
/lodash.kebabcase-4.1.1.tgz"
,
"integrity"
:
"sha1-hImxyw0p/4gZXM7KRI/21swpXDY="
},
"loglevel"
:
{
...
...
@@ -8217,8 +8230,8 @@
},
"qrcode.vue"
:
{
"version"
:
"1.7.0"
,
"resolved"
:
"https://registry.npm
js.org/qrcode.vue/-
/qrcode.vue-1.7.0.tgz"
,
"integrity"
:
"sha
512-R7t6Y3fDDtcU7L4rtqwGUDP9xD64gJhIwpfjhRCTKmBoYF6SS49PIJHRJ048cse6OI7iwTwgyy2C46N9Ygoc6g=
="
"resolved"
:
"https://registry.npm
.taobao.org/qrcode.vue/download
/qrcode.vue-1.7.0.tgz"
,
"integrity"
:
"sha
1-xUspNPBlDBDZJ4XQiqrTbFXg/FY
="
},
"qs"
:
{
"version"
:
"6.9.4"
,
...
...
@@ -8414,8 +8427,8 @@
},
"regenerator-runtime"
:
{
"version"
:
"0.11.1"
,
"resolved"
:
"https://registry.npm
js.org/regenerator-runtime/-/
regenerator-runtime-0.11.1.tgz"
,
"integrity"
:
"sha
512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg=
="
"resolved"
:
"https://registry.npm
.taobao.org/regenerator-runtime/download/regenerator-runtime-0.11.1.tgz?cache=0&sync_timestamp=1595456117883&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2F
regenerator-runtime-0.11.1.tgz"
,
"integrity"
:
"sha
1-vgWtf5v30i4Fb5cmzuUBf78Z4uk
="
},
"regenerator-transform"
:
{
"version"
:
"0.14.5"
,
...
...
@@ -8706,8 +8719,8 @@
},
"resize-observer-polyfill"
:
{
"version"
:
"1.5.1"
,
"resolved"
:
"https://registry.npm
js.org/resize-observer-polyfill/-
/resize-observer-polyfill-1.5.1.tgz"
,
"integrity"
:
"sha
512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg=
="
"resolved"
:
"https://registry.npm
.taobao.org/resize-observer-polyfill/download
/resize-observer-polyfill-1.5.1.tgz"
,
"integrity"
:
"sha
1-DpAg3T0hAkRY1OvSfiPkAmmBBGQ
="
},
"resolve"
:
{
"version"
:
"1.17.0"
,
...
...
@@ -9918,7 +9931,7 @@
},
"svg-tags"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npm
js.org/svg-tags/-
/svg-tags-1.0.0.tgz"
,
"resolved"
:
"https://registry.npm
.taobao.org/svg-tags/download
/svg-tags-1.0.0.tgz"
,
"integrity"
:
"sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q="
},
"swiper"
:
{
...
...
@@ -10063,8 +10076,8 @@
},
"throttle-debounce"
:
{
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npm
js.org/throttle-debounce/-/
throttle-debounce-1.1.0.tgz"
,
"integrity"
:
"sha
512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg=
="
"resolved"
:
"https://registry.npm
.taobao.org/throttle-debounce/download/throttle-debounce-1.1.0.tgz?cache=0&sync_timestamp=1597223490354&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fthrottle-debounce%2Fdownload%2F
throttle-debounce-1.1.0.tgz"
,
"integrity"
:
"sha
1-UYU9o3vmihVctugns1FKPEIuic0
="
},
"through"
:
{
"version"
:
"2.3.8"
,
...
...
@@ -10974,7 +10987,7 @@
},
"eslint-scope"
:
{
"version"
:
"4.0.3"
,
"resolved"
:
"https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz
?cache=0&sync_timestamp=1599933677754&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Feslint-scope%2Fdownload%2Feslint-scope-4.0.3.tgz
"
,
"resolved"
:
"https://registry.npm.taobao.org/eslint-scope/download/eslint-scope-4.0.3.tgz"
,
"integrity"
:
"sha1-ygODMxD2iJoyZHgaqC5j65z+eEg="
,
"dev"
:
true
,
"requires"
:
{
...
...
src/pages/letter/index.vue
浏览文件 @
39b12601
...
...
@@ -19,19 +19,24 @@
style=
"max-width: 680px"
>
<el-form-item
label=
"姓名"
prop=
"provider_name"
>
<el-input
v-model
.
trim=
"ruleForm.provider_name
"
></el-input>
<el-input
v-model
=
"ruleForm.provider_name"
@
blur=
"onBlur('provider_name')
"
></el-input>
</el-form-item>
<el-form-item
label=
"推荐信内容"
prop=
"letter_content"
>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 6 }" v-model.trim="ruleForm.letter_content">
</el-input>
<el-input
type=
"textarea"
:autosize=
"
{ minRows: 6 }"
v-model="ruleForm.letter_content"
@blur="onBlur('letter_content')"
>
</el-input>
</el-form-item>
<el-form-item
label=
"手机号"
prop=
"provider_phone_number"
>
<el-input
v-model
.
trim
=
"ruleForm.provider_phone_number"
></el-input>
<el-input
v-model=
"ruleForm.provider_phone_number"
></el-input>
</el-form-item>
<el-form-item
label=
"工作单位"
prop=
"provider_company_name"
>
<el-input
v-model
.
trim=
"ruleForm.provider_company_name
"
></el-input>
<el-input
v-model
=
"ruleForm.provider_company_name"
@
blur=
"onBlur('provider_company_name')
"
></el-input>
</el-form-item>
<el-form-item
label=
"职务"
prop=
"provider_job_title"
>
<el-input
v-model
.
trim=
"ruleForm.provider_job_title
"
></el-input>
<el-input
v-model
=
"ruleForm.provider_job_title"
@
blur=
"onBlur('provider_job_title')
"
></el-input>
</el-form-item>
</el-form>
<div
class=
"buttons"
>
...
...
@@ -65,7 +70,7 @@ export default {
rules
:
{
provider_name
:
[{
required
:
true
,
message
:
'请输入姓名'
,
trigger
:
'blur'
}],
letter_content
:
[{
required
:
true
,
message
:
'请输入推荐信内容'
,
trigger
:
'blur'
}],
provider_phone_number
:
[{
required
:
true
,
message
:
'请输入手机号'
,
trigger
:
'blur'
}],
provider_phone_number
:
[{
required
:
true
,
pattern
:
/^1
[
3-9
]\d{9}
$/
,
message
:
'请输入手机号'
,
trigger
:
'blur'
}],
provider_company_name
:
[{
required
:
true
,
message
:
'请输入工作单位'
,
trigger
:
'blur'
}],
provider_job_title
:
[{
required
:
true
,
message
:
'请输入职务'
,
trigger
:
'blur'
}]
},
...
...
@@ -108,6 +113,11 @@ export default {
},
getClientWidth
()
{
this
.
clientWidth
=
document
.
body
.
clientWidth
},
onBlur
(
key
)
{
if
(
this
.
ruleForm
[
key
])
{
this
.
ruleForm
[
key
]
=
this
.
ruleForm
[
key
].
trim
()
}
}
},
mounted
()
{
...
...
src/pages/my/application/form/info/honor.js
浏览文件 @
39b12601
...
...
@@ -22,7 +22,7 @@ export default function(_this) {
beforeRequest
(
data
)
{
const
honors
=
data
.
map
(
item
=>
{
return
[
'time'
,
'title'
,
'institution_cn'
].
reduce
((
result
,
key
)
=>
{
result
[
key
]
=
item
[
key
]
result
[
key
]
=
item
[
key
]
||
''
return
result
},
{})
})
...
...
@@ -39,22 +39,22 @@ export default function(_this) {
type
:
'v-datepicker'
,
label
:
'获取时间'
,
model
:
'time'
,
attrs
:
{
type
:
'date'
,
valueFormat
:
'yyyy-MM-dd'
,
placeholder
:
'请选择获取时间'
}
,
rules
:
[{
required
:
true
,
message
:
'请选择获取时间'
,
trigger
:
'blur'
}]
attrs
:
{
type
:
'date'
,
valueFormat
:
'yyyy-MM-dd'
,
placeholder
:
'请选择获取时间'
}
//
rules: [{ required: true, message: '请选择获取时间', trigger: 'blur' }]
},
{
type
:
'v-input'
,
label
:
'荣誉奖励'
,
model
:
'title'
,
attrs
:
{
placeholder
:
'请输入荣誉奖励'
}
,
rules
:
[{
required
:
true
,
message
:
'请输入荣誉奖励'
,
trigger
:
'blur'
}]
attrs
:
{
placeholder
:
'请输入荣誉奖励'
}
//
rules: [{ required: true, message: '请输入荣誉奖励', trigger: 'blur' }]
},
{
type
:
'v-input'
,
label
:
'证书颁发机构'
,
model
:
'institution_cn'
,
attrs
:
{
placeholder
:
'请输入证书颁发机构'
}
,
rules
:
[{
required
:
true
,
message
:
'请输入证书颁发机构'
,
trigger
:
'blur'
}]
attrs
:
{
placeholder
:
'请输入证书颁发机构'
}
//
rules: [{ required: true, message: '请输入证书颁发机构', trigger: 'blur' }]
}
]
}
...
...
src/pages/my/application/form/info/training.js
浏览文件 @
39b12601
...
...
@@ -22,7 +22,7 @@ export default function(_this) {
beforeRequest
(
data
)
{
const
trainings
=
data
.
map
(
item
=>
{
return
[
'start_date'
,
'end_date'
,
'institution_cn'
,
'course_cn'
].
reduce
((
result
,
key
)
=>
{
result
[
key
]
=
item
[
key
]
result
[
key
]
=
item
[
key
]
||
''
return
result
},
{})
})
...
...
@@ -43,8 +43,8 @@ export default function(_this) {
type
:
'month'
,
placeholder
:
'请选择培训开始时间'
,
valueFormat
:
'yyyy-MM'
}
,
rules
:
[{
required
:
true
,
message
:
'请选择培训开始时间'
,
trigger
:
'blur'
}]
}
//
rules: [{ required: true, message: '请选择培训开始时间', trigger: 'blur' }]
},
{
type
:
'v-datepicker'
,
...
...
@@ -54,22 +54,22 @@ export default function(_this) {
type
:
'month'
,
placeholder
:
'请选择培训结束时间'
,
valueFormat
:
'yyyy-MM'
}
,
rules
:
[{
required
:
true
,
message
:
'请选择培训结束时间'
,
trigger
:
'blur'
}]
}
//
rules: [{ required: true, message: '请选择培训结束时间', trigger: 'blur' }]
},
{
type
:
'v-input'
,
label
:
'培训机构'
,
model
:
'institution_cn'
,
attrs
:
{
placeholder
:
'请输入培训机构'
}
,
rules
:
[{
required
:
true
,
message
:
'请输入培训机构'
,
trigger
:
'blur'
}]
attrs
:
{
placeholder
:
'请输入培训机构'
}
//
rules: [{ required: true, message: '请输入培训机构', trigger: 'blur' }]
},
{
type
:
'v-input'
,
label
:
'课程名称'
,
model
:
'course_cn'
,
attrs
:
{
placeholder
:
'请输入课程名称'
}
,
rules
:
[{
required
:
true
,
message
:
'请输入课程名称'
,
trigger
:
'blur'
}]
attrs
:
{
placeholder
:
'请输入课程名称'
}
//
rules: [{ required: true, message: '请输入课程名称', trigger: 'blur' }]
}
]
}
...
...
src/pages/my/application/preview.vue
浏览文件 @
39b12601
...
...
@@ -78,11 +78,11 @@
<a
class=
"inner"
:href=
"item.oss_sign_url"
target=
"_blank"
>
<div
class=
"pic"
><img
:src=
"item.oss_sign_url"
/></div>
<div
class=
"name"
>
{{
item
.
file_type_label
}}
</div>
<div
style=
"margin-right: 40px"
v-if=
"item.status_desc"
>
<div
v-if=
"item.status_desc"
>
<el-tag
size=
"mini"
>
{{
item
.
status_desc
}}
</el-tag>
</div>
</a>
<el-button-group>
<el-button-group
v-if=
"hasButton"
style=
"margin-left: 40px"
>
<el-button
size=
"mini"
:disabled=
"item.status === 'INACTIVE'"
@
click=
"handleRemove(item)"
>
删除
</el-button
>
...
...
@@ -332,9 +332,12 @@ export default {
}
},
computed
:
{
watermark
()
{
const
{
watermark
=
'清控紫荆教育'
}
=
this
.
$route
.
query
return
watermark
right
()
{
const
{
right
=
''
}
=
this
.
$route
.
query
return
right
},
hasButton
()
{
return
this
.
right
.
includes
(
'x'
)
}
},
methods
:
{
...
...
src/pages/my/welcome/indexWelcome.vue
浏览文件 @
39b12601
...
...
@@ -18,7 +18,7 @@
<el-form-item
label=
"手机号"
prop=
"phone_number"
>
<el-input
v-model=
"ruleForm.phone_number"
:maxlength=
"11"
></el-input>
</el-form-item>
<el-form-item
label=
"邮
件
"
prop=
"email"
>
<el-form-item
label=
"邮
箱
"
prop=
"email"
>
<el-input
v-model=
"ruleForm.email"
></el-input>
</el-form-item>
<div
class=
"buttons"
>
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论