Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
ybf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
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
xulili
ybf
Commits
660b60cd
Commit
660b60cd
authored
Jan 08, 2020
by
Z
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
Z: Dot: Task/Bar: Create task dialog: Done.
parent
32dd7a90
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
279 additions
and
174 deletions
+279
-174
index.vue
ybf_admin/src/layout/header-aside/components/tabs/index.vue
+120
-119
index.vue
ybf_admin/src/pages/task/bar/index.vue
+159
-55
No files found.
ybf_admin/src/layout/header-aside/components/tabs/index.vue
View file @
660b60cd
...
@@ -59,26 +59,27 @@
...
@@ -59,26 +59,27 @@
</
template
>
</
template
>
<
script
>
<
script
>
import
{
mapState
,
mapActions
}
from
'vuex'
import
{
mapState
,
mapActions
}
from
'vuex'
import
Sortable
from
'sortablejs'
import
Sortable
from
'sortablejs'
export
default
{
export
default
{
components
:
{
components
:
{
D2Contextmenu
:
()
=>
import
(
'../contextmenu'
),
D2Contextmenu
:
()
=>
import
(
'../contextmenu'
),
D2ContextmenuList
:
()
=>
import
(
'../contextmenu/components/contentmenuList'
)
D2ContextmenuList
:
()
=>
import
(
'../contextmenu/components/contentmenuList'
)
},
},
data
()
{
data
()
{
return
{
return
{
contextmenuFlag
:
false
,
contextmenuFlag
:
false
,
contentmenuX
:
0
,
contentmenuX
:
0
,
contentmenuY
:
0
,
contentmenuY
:
0
,
contextmenuListIndex
:
[
contextmenuListIndex
:
[
{
icon
:
'times-circle'
,
title
:
'关闭全部'
,
value
:
'all'
}
{
icon
:
'times-circle'
,
title
:
'关闭全部'
,
value
:
'all'
}
],
],
contextmenuList
:
[
contextmenuList
:
[
{
icon
:
'arrow-left'
,
title
:
'关闭左侧'
,
value
:
'left'
},
{
icon
:
'arrow-left'
,
title
:
'关闭左侧'
,
value
:
'left'
},
{
icon
:
'arrow-right'
,
title
:
'关闭右侧'
,
value
:
'right'
},
{
icon
:
'arrow-right'
,
title
:
'关闭右侧'
,
value
:
'right'
},
{
icon
:
'times'
,
title
:
'关闭其它'
,
value
:
'other'
},
{
icon
:
'times'
,
title
:
'关闭其它'
,
value
:
'other'
},
{
icon
:
'times-circle'
,
title
:
'关闭全部'
,
value
:
'all'
}
{
icon
:
'times-circle'
,
title
:
'关闭全部'
,
value
:
'all'
}
],
],
tagName
:
'/index'
tagName
:
'/index'
}
}
...
@@ -101,7 +102,7 @@ export default {
...
@@ -101,7 +102,7 @@ export default {
/**
/**
* @description 右键菜单功能点击
* @description 右键菜单功能点击
*/
*/
handleContextmenu
(
event
)
{
handleContextmenu
(
event
)
{
let
target
=
event
.
target
let
target
=
event
.
target
// 解决 https://github.com/d2-projects/d2-admin/issues/54
// 解决 https://github.com/d2-projects/d2-admin/issues/54
let
flag
=
false
let
flag
=
false
...
@@ -122,13 +123,13 @@ export default {
...
@@ -122,13 +123,13 @@ export default {
/**
/**
* @description 右键菜单的row-click事件
* @description 右键菜单的row-click事件
*/
*/
contextmenuClick
(
command
)
{
contextmenuClick
(
command
)
{
this
.
handleControlItemClick
(
command
,
this
.
tagName
)
this
.
handleControlItemClick
(
command
,
this
.
tagName
)
},
},
/**
/**
* @description 接收点击关闭控制上选项的事件
* @description 接收点击关闭控制上选项的事件
*/
*/
handleControlItemClick
(
command
,
tagName
=
null
)
{
handleControlItemClick
(
command
,
tagName
=
null
)
{
if
(
tagName
)
{
if
(
tagName
)
{
this
.
contextmenuFlag
=
false
this
.
contextmenuFlag
=
false
}
}
...
@@ -156,18 +157,18 @@ export default {
...
@@ -156,18 +157,18 @@ export default {
/**
/**
* @description 接收点击 tab 标签的事件
* @description 接收点击 tab 标签的事件
*/
*/
handleClick
(
tab
,
event
)
{
handleClick
(
tab
,
event
)
{
// 找到点击的页面在 tag 列表里是哪个
// 找到点击的页面在 tag 列表里是哪个
const
page
=
this
.
opened
.
find
(
page
=>
page
.
fullPath
===
tab
.
name
)
const
page
=
this
.
opened
.
find
(
page
=>
page
.
fullPath
===
tab
.
name
)
const
{
name
,
params
,
query
}
=
page
const
{
name
,
params
,
query
}
=
page
if
(
page
)
{
if
(
page
)
{
this
.
$router
.
push
({
name
,
params
,
query
})
this
.
$router
.
push
({
name
,
params
,
query
})
}
}
},
},
/**
/**
* @description 点击 tab 上的删除按钮触发这里 首页的删除按钮已经隐藏 因此这里不用判断是 index
* @description 点击 tab 上的删除按钮触发这里 首页的删除按钮已经隐藏 因此这里不用判断是 index
*/
*/
handleTabsEdit
(
tagName
,
action
)
{
handleTabsEdit
(
tagName
,
action
)
{
if
(
action
===
'remove'
)
{
if
(
action
===
'remove'
)
{
this
.
close
({
this
.
close
({
tagName
tagName
...
@@ -175,14 +176,14 @@ export default {
...
@@ -175,14 +176,14 @@ export default {
}
}
}
}
},
},
mounted
()
{
mounted
()
{
const
el
=
document
.
querySelectorAll
(
'.d2-multiple-page-sort .el-tabs__nav'
)[
0
]
const
el
=
document
.
querySelectorAll
(
'.d2-multiple-page-sort .el-tabs__nav'
)[
0
]
Sortable
.
create
(
el
,
{
Sortable
.
create
(
el
,
{
onEnd
:
(
evt
)
=>
{
onEnd
:
(
evt
)
=>
{
const
{
oldIndex
,
newIndex
}
=
evt
const
{
oldIndex
,
newIndex
}
=
evt
this
.
openedSort
({
oldIndex
,
newIndex
})
this
.
openedSort
({
oldIndex
,
newIndex
})
}
}
})
})
}
}
}
}
</
script
>
</
script
>
ybf_admin/src/pages/task/bar/index.vue
View file @
660b60cd
...
@@ -2,17 +2,13 @@
...
@@ -2,17 +2,13 @@
<div
class=
"main"
>
<div
class=
"main"
>
<div
class=
"searchs"
>
<div
class=
"searchs"
>
<div
class=
"buttons"
>
<div
class=
"buttons"
>
<el-button
class=
"button buttonlight"
size=
"small"
>
创建任务
</el-button>
<el-button
class=
"button buttonlight"
size=
"small"
@
click=
"searchsCreate"
>
创建任务
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
>
发布任务
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
>
发布任务
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
>
批量删除
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
>
批量删除
</el-button>
</div>
</div>
<!-- 搜索区 -->
<!-- 搜索区 -->
<el-form
class=
"searchzone"
:inline=
"true"
:model=
"data.search"
label-width=
"auto"
>
<el-form
class=
"searchzone"
:inline=
"true"
:model=
"data.search"
label-width=
"auto"
>
<!-- 第一行 -->
<!--
<el-row
type=
"flex"
justify=
"start"
>
-->
<!-- 柜组 -->
<!--
<el-col
:span=
"6"
>
-->
<el-form-item
label=
"柜组"
>
<el-form-item
label=
"柜组"
>
<el-select
<el-select
size=
"small"
size=
"small"
...
@@ -21,17 +17,13 @@
...
@@ -21,17 +17,13 @@
style=
"width:160px;"
style=
"width:160px;"
>
>
<el-option
<el-option
v-for=
"item in
list.search
.bar"
v-for=
"item in
cache.list
.bar"
:key=
"item.id"
:key=
"item.id"
:label=
"item.name"
:label=
"item.name"
:value=
"item.id"
:value=
"item.id"
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<!--
</el-col>
-->
<!-- 任务类型 -->
<!--
<el-col
:span=
"6"
>
-->
<el-form-item
label=
"任务类型"
class=
"nature"
>
<el-form-item
label=
"任务类型"
class=
"nature"
>
<el-select
<el-select
size=
"small"
size=
"small"
...
@@ -40,18 +32,13 @@
...
@@ -40,18 +32,13 @@
style=
"width:160px;"
style=
"width:160px;"
>
>
<el-option
<el-option
v-for=
"item in
list.search
.taskType"
v-for=
"item in
cache.list
.taskType"
:key=
"item.id"
:key=
"item.id"
:label=
"item.name"
:label=
"item.name"
:value=
"item.id"
:value=
"item.id"
></el-option>
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
<!--
</el-col>
-->
<!-- 关键字 -->
<!--
<el-col
:span=
"6"
>
-->
<el-form-item
label=
"关键词"
>
<el-form-item
label=
"关键词"
>
<el-input
<el-input
size=
"small"
size=
"small"
...
@@ -60,8 +47,6 @@
...
@@ -60,8 +47,6 @@
placeholder=
"请输入关键词"
placeholder=
"请输入关键词"
/>
/>
</el-form-item>
</el-form-item>
<!--
</el-col>
-->
<!--
</el-row>
-->
<el-button
class=
"button buttondark"
size=
"small"
>
批量删除
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
>
批量删除
</el-button>
</el-form>
</el-form>
</div>
</div>
...
@@ -75,7 +60,6 @@
...
@@ -75,7 +60,6 @@
style=
"width: 100%"
style=
"width: 100%"
@
selection-change=
"listPick"
@
selection-change=
"listPick"
>
>
<!-- :header-cell-style="setListsHeadStyle"-->
<el-table-column
type=
"selection"
width=
"60"
></el-table-column>
<el-table-column
type=
"selection"
width=
"60"
></el-table-column>
<el-table-column
prop=
"taskName"
label=
"任务名"
align=
"center"
width=
"200"
></el-table-column>
<el-table-column
prop=
"taskName"
label=
"任务名"
align=
"center"
width=
"200"
></el-table-column>
<el-table-column
prop=
"taskType"
label=
"任务类型"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"taskType"
label=
"任务类型"
align=
"center"
width=
"120"
></el-table-column>
...
@@ -99,7 +83,7 @@
...
@@ -99,7 +83,7 @@
<el-pagination
<el-pagination
@
size-change=
"pagesSizeChange"
@
size-change=
"pagesSizeChange"
@
current-change=
"pagesNowPageChange"
@
current-change=
"pagesNowPageChange"
:current-page=
"
currentPage4
"
:current-page=
"
data.page.nowPageNum
"
:page-sizes=
"[100, 200, 300, 400]"
:page-sizes=
"[100, 200, 300, 400]"
:page-size=
"100"
:page-size=
"100"
layout=
"prev, pager, next, sizes, jumper"
layout=
"prev, pager, next, sizes, jumper"
...
@@ -111,15 +95,97 @@
...
@@ -111,15 +95,97 @@
title=
"创建任务"
title=
"创建任务"
:visible
.
sync=
"cache.status.createDialog"
:visible
.
sync=
"cache.status.createDialog"
width=
"60%"
width=
"60%"
:before-close=
"dialogCreateBeforeClose"
>
:before-close=
"dialogCreateBeforeClose"
>
<div
class=
"dialogMain"
>
<div
class=
"dialogMain"
>
<span>
会当凌绝顶,一览众山小。
</span>
<el-form
:model=
"data.create"
:rules=
"rule.create"
label-width=
"120px"
ref=
"createForm"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务名称:"
prop=
"taskName"
>
<el-input
v-model=
"data.create.taskName"
autocomplete=
"off"
placeholder=
"请输入任务名称"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务类型:"
prop=
"taskType"
>
<el-select
v-model=
"data.create.taskType"
placeholder=
"请选择任务类型"
@
change=
"dialogCreateTaskTypeChange"
style=
"width:100%;"
>
<el-option
v-for=
"item in cache.list.taskType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"柜组:"
prop=
"bar"
>
<el-select
v-model=
"data.create.bar"
placeholder=
"请选择柜组"
@
change=
"dialogCreateBarChange"
style=
"width:100%;"
>
<el-option
v-for=
"item in cache.list.bar"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务周期:"
prop=
"taskTime"
>
<el-select
v-model=
"data.create.bar"
placeholder=
"请选择柜组"
@
change=
"dialogCreateBarChange"
style=
"width:100%;"
>
<el-option
v-for=
"item in cache.list.bar"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"产品详情:"
prop=
"taskTime"
>
<el-date-picker
v-model=
"data.create.taskTime"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width:100%;"
>
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogCreateCancel"
>
取 消
</el-button>
<el-button
size=
"small"
@
click=
"dialogCreateCancel"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogCreateSubmit"
>
保 存
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogCreateSubmit
('createForm')
"
>
保 存
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogCreateSubmitSend"
>
保存并发布
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogCreateSubmitSend
('createForm')
"
>
保存并发布
</el-button>
</span>
</span>
</el-dialog>
</el-dialog>
</div>
</div>
...
@@ -137,6 +203,28 @@
...
@@ -137,6 +203,28 @@
cache
:
{
cache
:
{
status
:
{
status
:
{
createDialog
:
false
createDialog
:
false
},
list
:{
taskType
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"测试"
}
],
bar
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"柜组1"
}
],
}
}
},
},
list
:
{
list
:
{
...
@@ -166,28 +254,6 @@
...
@@ -166,28 +254,6 @@
sendDate
:
"2019/02/08"
sendDate
:
"2019/02/08"
}
}
],
],
search
:
{
bar
:
[
{
id
:
"1"
,
name
:
"全部"
},
{
id
:
"2"
,
name
:
"测试"
}
],
taskType
:
[
{
id
:
"1"
,
name
:
"全部"
},
{
id
:
"2"
,
name
:
"测试"
}
]
}
},
},
data
:
{
data
:
{
search
:
{
search
:
{
...
@@ -196,15 +262,41 @@
...
@@ -196,15 +262,41 @@
date
:
""
,
date
:
""
,
keys
:
""
keys
:
""
},
},
create
:
{
taskName
:
''
,
taskType
:
''
,
bar
:
''
,
taskTime
:
''
,
taskDetail
:
''
,
},
createDefault
:
{
taskName
:
''
,
taskType
:
''
,
bar
:
''
,
taskTime
:
''
,
taskDetail
:
''
,
},
page
:
{
page
:
{
nowPageNum
:
4
nowPageNum
:
4
}
}
},
rule
:{
create
:
{
taskName
:
[{
required
:
true
,
message
:
'任务名称不能为空'
,
trigger
:
'change'
}],
taskType
:
[{
required
:
true
,
message
:
'任务类型不能为空'
,
trigger
:
'change'
}],
taskDetail
:
[{
required
:
true
,
message
:
'任务详情不能为空'
,
trigger
:
'change'
}],
bar
:
[{
required
:
true
,
message
:
'柜组不能为空'
,
trigger
:
'change'
}],
taskTime
:
[{
required
:
true
,
message
:
'任务周期不能为空'
,
trigger
:
'change'
}],
}
}
}
};
};
},
},
created
()
{
created
()
{
},
},
methods
:
{
methods
:
{
searchsCreate
(){
this
.
cache
.
status
.
createDialog
=
true
},
listPick
()
{
listPick
()
{
},
},
testButtonClick
()
{
testButtonClick
()
{
...
@@ -213,20 +305,32 @@
...
@@ -213,20 +305,32 @@
},
},
pagesNowPageChange
()
{
pagesNowPageChange
()
{
},
},
setListsHeadStyle
({
row
,
column
,
rowIndex
,
columnIndex
})
{
dialogCreateTaskTypeChange
(){},
if
(
rowIndex
===
0
)
{
dialogCreateBarChange
(){},
return
"background-color: #0B0F32; border-right: 1px solid white;color: white;"
;
}
else
{
return
""
;
}
},
dialogCreateBeforeClose
()
{
dialogCreateBeforeClose
()
{
this
.
cache
.
status
.
createDialog
=
false
},
},
dialogCreateCancel
()
{
dialogCreateCancel
()
{
this
.
data
.
create
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
data
.
createDefault
))
this
.
cache
.
status
.
createDialog
=
false
},
},
dialogCreateSubmit
()
{
dialogCreateSubmit
(
inForm
)
{
this
.
$refs
[
inForm
].
validate
(
valid
=>
{
if
(
valid
){
}
else
{
return
false
}
})
},
},
dialogCreateSubmitSend
()
{
dialogCreateSubmitSend
()
{
this
.
$refs
[
inForm
].
validate
(
valid
=>
{
if
(
valid
){
}
else
{
return
false
}
})
},
},
}
}
};
};
...
@@ -324,7 +428,7 @@
...
@@ -324,7 +428,7 @@
</
style
>
</
style
>
<
style
lang=
"scss"
scoped
>
<
style
lang=
"scss"
scoped
>
.dialogMain
{
.dialogMain
{
border
:
2px
solid
red
;
/*border: 2px solid red;*/
height
:
100%
;
height
:
100%
;
}
}
</
style
>
</
style
>
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