Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
VueElementTemplate
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
JIRA
JIRA
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
黄瑜
VueElementTemplate
Commits
09d8c01a
Commit
09d8c01a
authored
May 21, 2018
by
杨柠瑞
Browse files
Options
Browse Files
Download
Plain Diff
coding
parents
88aec90a
ee1f7772
Changes
5
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
302 additions
and
192 deletions
+302
-192
HmFullCalendar.vue
src/views/haomo/components/calendar/HmFullCalendar.vue
+41
-45
index.vue
src/views/haomo/components/calendar/index.vue
+11
-8
HmComplexForm.vue
src/views/haomo/components/forms/HmComplexForm.vue
+216
-105
index.vue
src/views/haomo/components/forms/index.vue
+23
-18
HmComplexTable.vue
src/views/haomo/components/tables/HmComplexTable.vue
+11
-16
No files found.
src/views/haomo/components/calendar/HmFullCalendar.vue
View file @
09d8c01a
<
template
>
<div
class=
"calendarlist"
>
<i
class=
"el-icon-date"
@
click=
"dialogTableVisible = true"
></i>
<i
class=
"el-icon-date"
@
click=
"dialogTableVisible = true"
:style=
"demoEvent.iconStyle"
></i>
<el-dialog
:visible
.
sync=
"dialogTableVisible"
>
<div
class=
"datebook-root"
:style=
'componentW?"width:"+componentW+";":""'
>
<div
class=
'top-panel'
>
...
...
@@ -44,6 +44,7 @@
box-sizing
:
border-box
;
width
:
280px
;
border
:
1px
solid
#ececec
;
display
:
inline-block
;
}
.datebook-root
.top-panel
{
padding-top
:
10px
;
...
...
@@ -177,24 +178,25 @@
background
:
#2db7f5
;
}
.incident
{
top
:
-350px
;
left
:
27
0px
;
vertical-align
:
top
;
width
:
30
0px
;
display
:
inline-block
;
position
:
relative
;
background-color
:
#202020
;
width
:
180px
;
height
:;
padding
:
20px
;
height
:
428px
;
position
:
relative
;
overflow
:
scroll
;
text-align
:
center
;
/*padding:20px;*/
color
:
#CCC
;
text-align
:
center
;
font-size
:
14px
;
font-family
:
微软雅黑
;
border-radius
:
10px
;
margin
:
50px
;
box-shadow
:
1px
1px
2px
#202020
;
-o-box-shadow
:
1px
1px
2px
#202020
;
-moz-box-shadow
:
1px
1px
2px
#202020
;
-webkit-border-shadow
:
1px
1px
2px
#202020
;
/*text-align:center;*/
/*font-size:14px;*/
/*font-family:微软雅黑;*/
/*border-radius:10px;*/
/*margin:50px;*/
/*box-shadow:1px 1px 2px #202020;*/
/*-o-box-shadow:1px 1px 2px #202020;*/
/*-moz-box-shadow:1px 1px 2px #202020;*/
/*-webkit-border-shadow:1px 1px 2px #202020;*/
}
.close
{
position
:
absolute
;
...
...
@@ -203,20 +205,21 @@
right
:
0
;
}
.incident
span
{
color
:
white
;
font-size
:
10px
;
padding
:
10px
20px
;
}
.incident
:before
{
content
:
''
;
position
:
absolute
;
width
:
0
;
height
:
0
;
border
:
15px
solid
;
color
:
transparent
;
border-right-color
:
#202020
;
left
:
-30px
;
top
:
50%
;
margin-top
:
-15px
;
/*content:'';*/
/*position:absolute;*/
/*width:0;*/
/*height:0;*/
/*border:15px solid;*/
/*color:transparent;*/
/*border-right-color:#202020;*/
/*left:-30px;*/
/*top:50%;*/
/*margin-top:-15px;*/
}
</
style
>
<
script
>
...
...
@@ -266,20 +269,12 @@
type
:
Object
,
required
:
true
},
width
:
{
type
:
String
,
required
:
false
},
initTime
:
{
required
:
false
},
title
:
{
required
:
false
},
events
:
{
required
:
false
},
date
:
{
demoEvent
:
{
type
:
Object
,
required
:
false
}
},
...
...
@@ -399,7 +394,7 @@
},
dateChange
(
dateItem
)
{
this
.
show
=
true
console
.
log
(
dateItem
,
'-=-=-=-=-=-=-=-=-'
)
//
console.log(dateItem, '-=-=-=-=-=-=-=-=-')
var
dateObj
=
new
Date
(
this
.
showTimeData
)
var
year
=
dateObj
.
getFullYear
()
var
month
=
dateObj
.
getMonth
()
...
...
@@ -448,7 +443,7 @@
dateItem
.
active
=
!
dateItem
.
active
}
// 向上发送本次点击的行程数据
console
.
log
(
result
,
'--------------------'
)
//
console.log(result, '--------------------')
if
(
result
.
schedule
)
{
const
currentTime
=
this
.
timestampToTime
(
result
.
schedule
.
date
)
this
.
currentDate
=
currentTime
...
...
@@ -487,15 +482,16 @@
getDailyEvent
()
{
const
self
=
this
var
saveTime
=
''
var
filterparams
=
self
.
demoEvent
.
filterparams
request
(
self
.
schema
.
modelUnderscorePlural
,
{
params
:
{
'sortItem'
:
'create_time'
,
'pageSize'
:
10000
}
params
:
{
'sortItem'
:
self
.
demoEvent
.
timeOrder
,
'pageSize'
:
10000
,
filters
:
filterparams
}
}).
then
(
resp
=>
{
console
.
log
(
resp
.
data
,
'========='
)
_
.
each
(
resp
.
data
,
function
(
item
)
{
item
.
time
=
moment
(
item
[
self
.
date
]).
format
(
'YYYY-MM-DD'
)
item
.
date
=
moment
(
item
[
self
.
date
]).
format
(
'X'
)
*
1000
item
.
title
=
item
[
self
.
title
]
item
.
allEvents
=
item
[
self
.
events
]
item
.
time
=
moment
(
item
[
self
.
d
emoEvent
.
d
ate
]).
format
(
'YYYY-MM-DD'
)
item
.
date
=
moment
(
item
[
self
.
d
emoEvent
.
d
ate
]).
format
(
'X'
)
*
1000
item
.
title
=
item
[
self
.
demoEvent
.
title
]
item
.
allEvents
=
item
[
self
.
demoEvent
.
events
]
if
(
saveTime
===
item
.
time
)
{
self
.
schedules
[
self
.
schedules
.
length
-
1
].
allEvents
.
push
(
item
.
allEvents
)
}
else
{
...
...
@@ -508,7 +504,7 @@
}
})
})
console
.
log
(
self
.
schedules
,
'+++++最终+++++++++'
)
//
console.log(self.schedules, '+++++最终+++++++++')
}
},
created
()
{
...
...
src/views/haomo/components/calendar/index.vue
View file @
09d8c01a
<
template
>
<div
class=
"app-container calendar-list-container"
>
<hm-full-calendar
:width=
"width"
:schema=
"schema['HmUser']"
:title=
"title"
:events=
"events"
:date=
"date"
:demoEvent=
"demoEvent"
@
dateChange=
"datechange"
@
monthChange=
"monthchange"
></hm-full-calendar>
...
...
@@ -26,11 +23,17 @@
data
()
{
return
{
show
:
false
,
demoEvent
:
{
width
:
'300px'
,
// title为需要传入的事件名所对应的的字段名,date为时间所对应的字段,events为事件所对应的字段,都不是必传
title
:
'loginid'
,
date
:
'createTime'
,
events
:
'email'
events
:
'email'
,
timeOrder
:
'create_time'
,
filterparams
:
''
,
iconStyle
:
'color: #00BF8B'
}
// title为需要传入的事件名所对应的的字段名,date为时间所对应的字段,events为事件所对应的字段,都不是必传
// timeOrder为所有所有事件按照数据库的哪个字段排序,为下划线格式
}
},
filters
:
{
...
...
src/views/haomo/components/forms/HmComplexForm.vue
View file @
09d8c01a
This diff is collapsed.
Click to expand it.
src/views/haomo/components/forms/index.vue
View file @
09d8c01a
...
...
@@ -31,12 +31,17 @@
// widgetType值 1:普通input 2:下拉框 (如果是下拉框 再传一个options表示下拉框选项)3:复选框 4:文本域 5:富文本 6:日期 7:单选框 8: 文件上传
showUserColumns
:
[
// 1普通input
{
name
:
'选择类型'
,
codeCamel
:
'type'
,
widgetType
:
1
,
disabled
:
false
,
change
:
this
.
inputChange
{
name
:
'选择类型'
,
codeCamel
:
'type'
,
widgetType
:
9
,
ref
:
'type'
,
options
:
[]
// rule: { required: true, message: '用户名不能为空', trigger: 'blur' }
// hide: true
// default: '默认值',
},
// { name: '选择类型', codeCamel: 'type', widgetType: 1, disabled: false,
// change: this.inputChange
// // rule: { required: true, message: '用户名不能为空', trigger: 'blur' }
// // hide: true
// // default: '默认值',
// },
// 5富文本
{
name
:
'电子邮件'
,
codeCamel
:
'email'
,
widgetType
:
5
,
disabled
:
false
,
change
:
this
.
inputChange
,
hide
:
false
...
...
@@ -46,16 +51,16 @@
// ]
},
// 2下拉框
//
{ name: '用户名称', codeCamel: 'username', widgetType: 2, multiple: false,
//
change: this.selectChange, // default: [1], 如果开启多选,默认选中项用数组[1]、[1,2,3]
//
allowCreate: true,
//
options: [
//
{ value: '1', label: '企业' }, // 下拉框的label是选项文字,value是选中值
//
{ value: '2', label: '代理商' },
//
{ value: '3', label: '会员' },
//
{ value: '4', label: '访客' }
//
]
//
},
{
name
:
'用户名称'
,
codeCamel
:
'username'
,
widgetType
:
2
,
multiple
:
false
,
change
:
this
.
selectChange
,
// default: [1], 如果开启多选,默认选中项用数组[1]、[1,2,3]
allowCreate
:
true
,
options
:
[
{
value
:
'1'
,
label
:
'企业'
},
// 下拉框的label是选项文字,value是选中值
{
value
:
'2'
,
label
:
'代理商'
},
{
value
:
'3'
,
label
:
'会员'
},
{
value
:
'4'
,
label
:
'访客'
}
]
},
// 3多选 不支持默认值
{
name
:
'部门ID'
,
codeCamel
:
'departmentId'
,
widgetType
:
3
,
options
:
[
'美女'
,
'帅哥'
],
change
:
this
.
inputChange
},
// 4密码
...
...
@@ -75,8 +80,7 @@
change
:
this
.
inputChange
},
// 8文件 change: this.uploadChange
{
name
:
'选择头像'
,
codeCamel
:
'avatar'
,
widgetType
:
8
,
url
:
'/api/upload'
,
param
:
'picture'
},
// url是后台接口地址
{
name
:
'用户名称'
,
codeCamel
:
'username'
,
widgetType
:
8
,
url
:
'/api/upload'
,
param
:
'picture'
}
// url是后台接口地址
{
name
:
'选择头像'
,
codeCamel
:
'avatar'
,
widgetType
:
8
,
url
:
'/api/upload'
,
param
:
'picture'
}
// url是后台接口地址
],
// CcSubject示例
showUserColumns2
:
[
...
...
@@ -147,6 +151,7 @@
input
:
{
style
:
{
width
:
'60%'
}},
select
:
{
style
:
{
width
:
'60%'
}},
cascader
:
{
style
:
{
width
:
'60%'
}},
elTree
:
{
style
:
{
width
:
'60%'
}},
textarea
:
{
style
:
{
width
:
'60%'
},
resize
:
'none'
,
...
...
@@ -183,8 +188,8 @@
},
methods
:
{
inputChange
(
val
,
formModel
)
{
//
console.log(val)
//
console.log(formModel)
console
.
log
(
val
)
console
.
log
(
formModel
)
// formModel.email = val.length
},
selectChange
(
val
,
formModel
)
{
...
...
@@ -220,8 +225,8 @@
return
formModel
},
uploadFun
:
function
(
response
,
formModel
)
{
//
console.log(215, response)
//
console.log(216, formModel)
console
.
log
(
215
,
response
)
console
.
log
(
216
,
formModel
)
// 修改其他表单的值
formModel
.
email
=
response
.
visitName
}
...
...
src/views/haomo/components/tables/HmComplexTable.vue
View file @
09d8c01a
...
...
@@ -99,8 +99,7 @@
<el-button
class=
"filter-item"
:style=
"titleButtonStyle"
type=
"primary"
v-waves
icon=
"el-icon-refresh"
v-if=
"isShowRefresh"
@
click=
"refreshList"
>
刷新
</el-button>
<el-button
class=
"filter-item"
:style=
"titleButtonStyle"
type=
"primary"
v-waves
icon=
"el-icon-close"
v-if=
"multipleSelection.length"
@
click=
"BatchRemove"
>
批量删除
</el-button>
</span>
<hm-full-calendar
style=
"display: inline;margin-left: 10px;"
:schema=
"HmFullCalendar.calendarSchema"
:demoEvent=
"HmFullCalendar.demoEvents"
v-if=
"HmFullCalendar.calendarSchema"
></hm-full-calendar>
<hm-full-calendar
style=
"display: inline;margin-left: 10px;"
:schema=
"HmFullCalendar.calendarSchema"
:demoEvents=
"HmFullCalendar.demoEvents"
v-if=
"HmFullCalendar.calendarSchema"
></hm-full-calendar>
</el-form>
</div>
<!-- end 过滤 -->
...
...
@@ -447,14 +446,12 @@
}
})
})
_
.
each
(
Object
.
keys
(
ret
[
self
.
schema
[
'modelUnderscore'
]]),
function
(
column
)
{
const
operValue
=
ret
[
self
.
schema
[
'modelUnderscore'
]][
column
]
if
(
Object
.
keys
(
operValue
)[
0
]
===
'like'
)
{
ret
[
self
.
schema
[
'modelUnderscore'
]][
column
][
'like'
]
=
'%'
+
ret
[
self
.
schema
[
'modelUnderscore'
]][
column
][
'like'
]
+
'%'
}
})
return
ret
}
},
...
...
@@ -485,7 +482,6 @@
if
(
!
item
)
{
return
0
}
if
(
typeof
item
!==
'string'
&&
typeof
item
!==
'object'
)
{
console
.
error
(
`传入的columns不符合要求,数组元素必须是字符串或对象`
)
}
...
...
@@ -497,7 +493,6 @@
}
})
},
init
()
{
const
self
=
this
self
.
operationWidth
=
20
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment