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
f844f059
Commit
f844f059
authored
Apr 15, 2020
by
xd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改侧边栏和删除后台管理系统的代码
parent
920c80e0
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
70 additions
and
6801 deletions
+70
-6801
index.vue
wx_application/src/views/mainSale/active/main/index.vue
+13
-12
active1.png
ybf_admin/src/pages/active/img/active1.png
+0
-0
active2.png
ybf_admin/src/pages/active/img/active2.png
+0
-0
index.vue
ybf_admin/src/pages/active/mode/index.vue
+0
-70
index.vue
ybf_admin/src/pages/active/shop/index.vue
+0
-7
add_goods.vue
ybf_admin/src/pages/goods/main/components/add_goods.vue
+0
-107
index.vue
ybf_admin/src/pages/goods/main/index.vue
+0
-217
index.vue
ybf_admin/src/pages/home/main/index.vue
+0
-7
Bk_org.vue
ybf_admin/src/pages/in/contact/Bk_org.vue
+0
-986
addCounter.vue
ybf_admin/src/pages/in/contact/components/addCounter.vue
+0
-254
addGroup.vue
ybf_admin/src/pages/in/contact/components/addGroup.vue
+26
-18
addStore.vue
ybf_admin/src/pages/in/contact/components/addStore.vue
+0
-291
counterDetail.vue
ybf_admin/src/pages/in/contact/components/counterDetail.vue
+0
-197
editCounter.vue
ybf_admin/src/pages/in/contact/components/editCounter.vue
+0
-289
editGroup.vue
ybf_admin/src/pages/in/contact/components/editGroup.vue
+20
-31
nav.vue
ybf_admin/src/pages/in/contact/components/nav.vue
+0
-68
storeDetail.vue
ybf_admin/src/pages/in/contact/components/storeDetail.vue
+0
-240
counter.vue
ybf_admin/src/pages/in/contact/counter.vue
+0
-326
index.vue
ybf_admin/src/pages/in/contact/index.vue
+2
-14
mail.vue
ybf_admin/src/pages/in/contact/mail.vue
+9
-3
org.vue
ybf_admin/src/pages/in/contact/org.vue
+0
-580
store.vue
ybf_admin/src/pages/in/contact/store.vue
+0
-1078
index.vue
ybf_admin/src/pages/task/bar/index.vue
+0
-698
index.vue
ybf_admin/src/pages/task/com/index.vue
+0
-534
index.vue
ybf_admin/src/pages/task/count/index.vue
+0
-568
list.js
ybf_admin/src/pages/task/count/list.js
+0
-13
index.vue
ybf_admin/src/pages/task/main/index.vue
+0
-76
routes.js
ybf_admin/src/router/routes.js
+0
-117
No files found.
wx_application/src/views/mainSale/active/main/index.vue
View file @
f844f059
...
...
@@ -155,10 +155,10 @@ export default {
}
},
barInfo
:
{
fans
:
"
299
"
,
personalFans
:
"
77
"
,
newFans
:
"
11
"
,
allNewFans
:
"
15
"
fans
:
"
0
"
,
personalFans
:
"
0
"
,
newFans
:
"
0
"
,
allNewFans
:
"
0
"
},
menuInfo
:
{
icon
:
{
...
...
@@ -350,11 +350,17 @@ export default {
})
.
then
(
res
=>
{
console
.
log
(
res
,
"粉丝"
);
this
.
test
.
barInfo
.
fans
=
res
.
data
.
data
.
length
;
sessionStorage
.
setItem
(
"allFans"
,
res
.
data
.
data
.
length
);
let
newList
=
[]
res
.
data
.
data
.
forEach
(
item
=>
{
if
(
item
!=
null
)
{
newList
.
push
(
item
)
}
})
this
.
test
.
barInfo
.
fans
=
newList
.
length
sessionStorage
.
setItem
(
"allFans"
,
newList
.
length
)
})
.
catch
(
err
=>
{
console
.
log
(
err
)
;
console
.
log
(
err
)
});
},
getNewFans
()
{
...
...
@@ -576,12 +582,10 @@ export default {
background-color
:
rgb
(
237
,
239
,
243
);
width
:
100%
;
height
:
auto
;
/*padding: ;*/
padding-bottom
:
94px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
start
;
overflow
:
auto
;
}
...
...
@@ -630,7 +634,6 @@ export default {
}
.manInfo-switch
{
/*border: 1px solid greenyellow;*/
width
:
100px
;
height
:
18px
;
...
...
@@ -727,9 +730,7 @@ export default {
}
.main-actives
{
/*border: 1px solid lightcoral;*/
width
:
100%
;
/*margin-bottom: 94px;*/
margin-top
:
36px
;
padding
:
0px
12px
;
background-color
:
white
;
...
...
ybf_admin/src/pages/active/img/active1.png
deleted
100644 → 0
View file @
920c80e0
325 KB
ybf_admin/src/pages/active/img/active2.png
deleted
100644 → 0
View file @
920c80e0
344 KB
ybf_admin/src/pages/active/mode/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<d2-container>
<div
class=
"container"
>
<div
class=
"left"
>
<div
class=
"img"
><img
src=
"../img/active1.png"
alt=
""
></div>
<div
class=
"btn"
>
<div
class=
"btn-l"
>
配置
</div>
<div
class=
"btn-r"
>
预览
</div>
</div>
</div>
<div
class=
"right"
>
<div
class=
"img"
><img
src=
"../img/active2.png"
alt=
""
></div>
<div
class=
"btn"
>
<div
class=
"btn-l"
>
配置
</div>
<div
class=
"btn-r"
>
预览
</div>
</div>
</div>
</div>
</d2-container>
</
template
>
<
script
>
export
default
{};
</
script
>
<
style
scoped
>
.container
{
padding
:
16px
;
display
:
flex
;
}
.left
,
.right
{
display
:
flex
;
flex-direction
:
column
;
width
:
440px
;
height
:
500px
;
background
:
#f8f8f8
;
margin-right
:
24px
;
box-sizing
:
border-box
;
padding
:
16px
;
}
.img
{
width
:
408px
;
height
:
408px
;
}
.img
img
{
width
:
100%
;
}
.btn
{
height
:
72px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
.btn-l
,
.btn-r
{
width
:
198px
;
height
:
40px
;
background
:
rgba
(
232
,
233
,
254
,
1
);
box-shadow
:
0px
1px
3px
0px
rgba
(
221
,
221
,
221
,
1
);
border-radius
:
4px
;
border
:
1px
solid
rgba
(
78
,
89
,
199
,
1
);
font-size
:
14px
;
font-weight
:
800
;
color
:
rgba
(
78
,
89
,
199
,
1
);
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.btn-r
{
background
:
rgba
(
78
,
89
,
199
,
1
);
color
:
#fff
;
}
</
style
>
ybf_admin/src/pages/active/shop/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<d2-container>
<template
slot=
"header"
>
header
</
template
>
active/shop/index.vue
<
template
slot=
"footer"
>
footer
</
template
>
</d2-container>
</template>
ybf_admin/src/pages/goods/main/components/add_goods.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"dialogs"
>
<!--
<el-dialog
title=
"创建任务"
:visible
.
sync=
"dialogVisible"
width=
"480px"
--
>
<el-dialog
title=
"佣金配置"
:visible
.
sync=
"dialogVisible"
width=
"480px"
:before-close=
"handleClose"
class=
"addGoods"
>
<div
class=
"dialogMain"
>
<el-form
:model=
"form"
:rules=
"formRules"
ref=
"addform"
label-width=
"130px"
>
<el-form-item
label=
"商品:"
prop=
"goods"
>
<el-input
v-model=
"form.goodName"
></el-input>
</el-form-item>
<el-form-item
label=
"价格:"
>
<el-input
disabled=
"true"
v-model=
"form.goodPrice"
></el-input>
</el-form-item>
<el-form-item
label=
"库存:"
>
<el-input
v-model
.
number=
"form.goodNum"
></el-input>
</el-form-item>
<el-form-item
label=
"佣金:"
prop=
"charges"
>
<el-radio-group
v-model=
"form.goodBackType"
>
<el-radio
:label=
"1"
>
佣金
</el-radio>
<el-radio
:label=
"2"
>
百分比
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
v-if=
"form.goodBackType===1"
label=
"金额:"
label-width=
"176px"
class=
"chargeInput"
>
<el-input
v-model=
"form.goodBackPrice"
></el-input>
<span
class=
"unit"
>
元 ( ¥ )
</span>
</el-form-item>
<el-form-item
v-if=
"form.goodBackType===2"
label=
"佣金比例:"
label-width=
"176px"
class=
"chargeInput"
>
<el-input
v-model=
"form.goodBackPercent"
></el-input>
<span
class=
"unit"
>
( % )
</span>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleCancel('addform')"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleSubmit('addform')"
>
提交
</el-button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
name
:
'add_goods'
,
data
(){
return
{
dialogVisible
:
false
,
form
:{
goodName
:
'膳魔师'
,
goodPrice
:
'200'
,
goodNum
:
'44'
,
goodBackType
:
2
,
goodBackPrice
:
'20'
,
goodBackPercent
:
'10'
,
goods
:
'膳魔师'
,
price
:
'200'
,
charges
:
1
,
num
:
44
},
formRules
:{
goods
:
[
{
required
:
true
,
message
:
'请输入商品'
,
trigger
:
'blur'
},
{
min
:
3
,
max
:
5
,
message
:
'长度在 3 到 5 个字符'
,
trigger
:
'blur'
}
],
}
}
},
methods
:{
// 弹窗关闭
handleClose
(
done
)
{
this
.
$confirm
(
'确认关闭?'
)
.
then
(
_
=>
{
done
();
})
.
catch
(
_
=>
{});
},
handleSubmit
(
formName
){
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
alert
(
'submit!'
);
}
else
{
console
.
log
(
'error submit!!'
);
return
false
;
}
});
},
handleCancel
(
formName
){
this
.
$refs
[
formName
].
resetFields
();
this
.
dialogVisible
=
false
},
},
watch
:{
dialogVisible
(){
if
(
this
.
dialogVisible
){
if
(
this
.
$refs
.
addform
){
this
.
$refs
.
addform
.
resetFields
();
}
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
ybf_admin/src/pages/goods/main/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<d2-container
class=
"pRelative"
>
<div
class=
"searchs"
>
<!-- 搜索区 -->
<div>
<el-button
class=
"button buttondark"
size=
"small"
>
批量上架
</el-button>
</div>
<el-form
class=
"searchzone"
:inline=
"true"
:model=
"formData"
label-width=
"auto"
>
<el-form-item
label=
"门店"
>
<el-select
size=
"small"
v-model=
"formData.store"
placeholder=
"请选择门店"
style=
"width:160px;"
>
<el-option
v-for=
"item in statusList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
size=
"small"
v-model=
"formData.status"
placeholder=
"请选择状态"
style=
"width:160px;"
>
<el-option
v-for=
"item in statusList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"formData.keys"
style=
"width:160px"
placeholder=
"请输入关键词"
/>
</el-form-item>
<el-button
class=
"button buttondark"
size=
"small"
>
搜索
</el-button>
</el-form>
</div>
<el-table
:data=
"data"
class=
"list"
style=
"width: 100%"
empty-text=
"暂无商品信息"
height=
"calc(100% - 120px)"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
prop=
"goodName"
label=
"商品名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodPrice"
label=
"门店"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodNum"
label=
"门店id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodBackMoney"
label=
"价格"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodStatus"
label=
"佣金"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodStatus"
label=
"状态"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
goodStatus
===
'up'
?
'上架'
:
'下架'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"goodStatus"
label=
"上架时间"
align=
"center"
></el-table-column>
<!-- 查看详情 -->
<el-table-column
fixed=
"right"
align=
"center"
label=
"操作"
width=
"140"
@
selection-change=
"listPick"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"handleAdd"
>
{{
scope
.
row
.
goodStatus
===
'up'
?
'下架'
:
'上架'
}}
</el-button>
<el-button
type=
"text"
@
click=
"handleAdd"
>
佣金配置
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-pagination
@
current-change=
"handleCurrentChange"
:current-page=
"page.currentPage"
:page-size=
"page.size"
layout=
"total, prev, pager, next, jumper"
:total=
"page.total"
></el-pagination>
<add-goods
ref=
"addGoods"
></add-goods>
</d2-container>
</template>
<
script
>
import
addGoods
from
"./components/add_goods"
;
export
default
{
data
()
{
return
{
formData
:
{
status
:
""
,
keys
:
""
},
statusList
:
[],
data
:
[
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"象印"
,
goodPrice
:
"180元"
,
goodNum
:
"14"
,
goodBackMoney
:
"18元"
,
goodStatus
:
"down"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"Dior"
,
goodPrice
:
"240元"
,
goodNum
:
"60"
,
goodBackMoney
:
"40元"
,
goodStatus
:
"down"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"ASICS"
,
goodPrice
:
"450元"
,
goodNum
:
"120"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"NIKE"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"Adidas"
,
goodPrice
:
"540元"
,
goodNum
:
"210"
,
goodBackMoney
:
"30元"
,
goodStatus
:
"down"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"down"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
}
],
page
:
{
currentPage
:
1
,
size
:
20
,
total
:
100
}
};
},
components
:
{
addGoods
},
methods
:
{
handleCurrentChange
(
val
)
{
this
.
page
.
currentPage
=
val
console
.
log
(
`当前页:
${
val
}
`
);
},
listPick
()
{},
handleAdd
()
{
this
.
$refs
.
addGoods
.
dialogVisible
=
true
;
},
handleSelectionChange
(
val
)
{
console
.
log
(
val
,
'批量选择'
);
}
}
};
</
script
>
<
style
lang=
"scss"
>
</
style
>
ybf_admin/src/pages/home/main/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<d2-container>
<template
slot=
"header"
>
header
</
template
>
home/main/index.vue
<
template
slot=
"footer"
>
footer
</
template
>
</d2-container>
</template>
ybf_admin/src/pages/in/contact/Bk_org.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"main"
>
<!-- 搜索区 -->
<div
class=
"searchs"
>
<div
class=
"buttons"
>
<el-button
class=
"button buttonlight"
size=
"small"
@
click=
"orgMainAdd"
>
添加组织
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
@
click=
"orgMainDels"
>
批量删除
</el-button>
</div>
<el-form
class=
"searchzone"
:inline=
"true"
:model=
"zdata.searchPost"
label-width=
"auto"
>
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"zdata.search.post.keyword"
style=
"width:160px"
:placeholder=
"zcache.search.keywordTip"
/>
</el-form-item>
<el-button
class=
"button buttondark"
size=
"small"
@
click=
"orgMainSearch"
style=
"margin-top:4px;"
>
搜索
</el-button>
</el-form>
</div>
<!-- 列表区 -->
<div
class=
"lists"
>
<el-table
stripe
class=
"list"
ref=
"multipleTable"
:data=
"zlist.org"
tooltip-effect=
"dark"
style=
"width: 100%"
height=
"calc(100vh - 360px)"
row-key=
"id"
:tree-props=
"
{children: 'children',hasChildren: 'hasChildren'}"
>
<el-table-column
prop=
"name"
label=
"名称"
align=
"left"
></el-table-column>
<el-table-column
prop=
"typeName"
label=
"类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"bossName"
label=
"主管"
align=
"center"
></el-table-column>
<el-table-column
prop=
"bossWxId"
label=
"主管微信ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"bossPhoneNum"
label=
"主管电话"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"创建时间"
align=
"center"
></el-table-column>
</el-table>
</div>
<div
class=
"pages"
>
<el-pagination
@
current-change=
"storePageIndexChange"
:current-page=
"zcache.page.nowPage"
:page-size=
"zcache.page.pageSize"
layout=
"total, prev, pager, next, jumper"
:total=
"zcache.page.allItem"
></el-pagination>
</div>
<add-store
ref=
"addStore"
></add-store>
<store-detail
ref=
"storeDetail"
></store-detail>
<!-- 对话框区 -->
<div
class=
"ztask-dialogs"
>
<!-- New -->
<el-dialog
title=
"新建品牌"
:visible
.
sync=
"zcache.status.newDialog"
width=
"65%"
:before-close=
"dialogNewClose"
>
<div
class=
"dialogMain"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"addStore"
:rules=
"zrule"
>
-->
<el-form
:model=
"zdata.newPost"
label-width=
"auto"
ref=
"newStore"
style=
"border: 0px solid red;"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"createForm"
:rules=
"rules"
>
-->
<el-form-item
label=
"品牌名称:"
prop=
"storeName"
>
<el-input
size=
"small"
v-model=
"zdata.newPost.storeName"
style=
"width:240px;"
placeholder=
"请输入品牌名称"
/>
</el-form-item>
<el-form-item
label=
"品牌类型:"
prop=
"storeType"
>
<el-select
size=
"small"
v-model=
"zdata.newPost.storeTypeId"
placeholder=
"请选择品牌类型"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"品牌负责人:"
prop=
"people"
>
<el-select
size=
"small"
v-model=
"zdata.newPost.storeBossId"
placeholder=
"请选择品牌负责人"
style=
"width:240px"
@
change=
"ztestman"
>
<el-option
v-for=
"item in zlist.unGroupMan"
:key=
"item.id"
:label=
"item.userName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属柜组:"
prop=
"counter"
>
<el-select
size=
"small"
v-model=
"zdata.newPost.storeFromBarId"
placeholder=
"请选择所属柜组"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.bar"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门牌号:"
prop=
"number"
>
<el-input
size=
"small"
v-model=
"zdata.newPost.storeDoorCode"
style=
"width:240px"
placeholder=
"请输入门牌号"
/>
</el-form-item>
<el-form-item
label=
"位置:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"zdata.newPost.storeAddress"
style=
"width:240px"
placeholder=
"请输入位置"
/>
</el-form-item>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogNewCancel"
>
取 消
</el-button>
<!--
<el-button
type=
"primary"
@
click=
"addStoreSubmit('createForm')"
size=
"small"
>
确 定
</el-button>
-->
<el-button
type=
"primary"
@
click=
"dialogNewSubmit"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
<!-- See -->
<el-dialog
title=
"品牌详情"
:visible
.
sync=
"zcache.status.seeDialog"
width=
"50%"
:before-close=
"dialogSeeClose"
>
<div
class=
"dialogMain"
>
<el-form
:model=
"zdata.see"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"品牌名称:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeName"
autocomplete=
"off"
placeholder=
"品牌名称缺失"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"品牌类型:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeType"
autocomplete=
"off"
placeholder=
"品牌类型为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"所属柜组:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeFromBar"
autocomplete=
"off"
placeholder=
"柜组信息未知"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"品牌负责人:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeBossName"
autocomplete=
"off"
placeholder=
"品牌负责人未知"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"门牌号:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeDoorId"
autocomplete=
"off"
placeholder=
"门牌号未知"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"位置:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeAddress"
autocomplete=
"off"
placeholder=
"位置未知"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"店员:"
>
<el-table
class=
"list"
:data=
"zdata.see.storeManList"
tooltip-effect=
"dark"
>
<el-table-column
type=
"index"
width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"品牌名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"userId"
label=
"品牌类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"mobile"
label=
"品牌类型"
align=
"center"
></el-table-column>
</el-table>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogSeeClose"
>
关 闭
</el-button>
<!--
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogSeeSubmitSend('seeForm')"
>
任务下发
</el-button>
-->
</span>
</el-dialog>
<!-- Edit -->
<el-dialog
title=
"编辑品牌"
:visible
.
sync=
"zcache.status.editDialog"
width=
"65%"
:before-close=
"dialogEditClose"
>
<div
class=
"dialogMain"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"addStore"
:rules=
"zrule"
>
-->
<el-form
:model=
"zdata.editPost"
label-width=
"auto"
ref=
"editStore"
style=
"border: 0px solid red;"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"createForm"
:rules=
"rules"
>
-->
<el-form-item
label=
"品牌名称:"
prop=
"storeName"
>
<el-input
size=
"small"
v-model=
"zdata.editPost.storeName"
style=
"width:240px;"
placeholder=
"请输入品牌名称"
/>
</el-form-item>
<el-form-item
label=
"品牌类型:"
prop=
"storeType"
>
<el-select
size=
"small"
v-model=
"zdata.editPost.storeTypeId"
placeholder=
"请选择品牌类型"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"品牌负责人:"
prop=
"people"
>
<el-select
size=
"small"
v-model=
"zdata.editPost.storeBossId"
placeholder=
"请选择品牌负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.unGroupMan"
:key=
"item.id"
:label=
"item.userName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属柜组:"
prop=
"counter"
>
<el-select
size=
"small"
v-model=
"zdata.editPost.storeFromBarId"
placeholder=
"请选择所属柜组"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeFromBarId"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门牌号:"
prop=
"number"
>
<el-input
size=
"small"
v-model=
"zdata.editPost.storeDoorCode"
style=
"width:240px"
placeholder=
"请输入门牌号"
/>
</el-form-item>
<el-form-item
label=
"位置:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"zdata.editPost.storeAddress"
style=
"width:240px"
placeholder=
"请输入位置"
/>
</el-form-item>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogEditCancel"
>
取 消
</el-button>
<!--
<el-button
type=
"primary"
@
click=
"addStoreSubmit('createForm')"
size=
"small"
>
确 定
</el-button>
-->
<el-button
type=
"primary"
@
click=
"dialogEditSubmit"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</
template
>
<
script
>
import
AddStore
from
"./components/addStore"
;
import
StoreDetail
from
"./components/storeDetail"
;
import
{
ApiStoreGetMainList
,
ApiStoreGetStoreDetail
,
ApiStoreDelStore
,
ApiStoreGetUnGroupManList
,
ApiStoreAddStore
,
ApiStoreEditStore
,
ApiStoreGetBarList
,
ApiStoreSearch
}
from
"@api/in/org"
;
import
axios
from
"axios"
;
const
zlog
=
console
.
log
.
bind
(
console
);
export
default
{
components
:
{
AddStore
,
StoreDetail
},
data
()
{
return
{
zcache
:
{
search
:
{
keywordTip
:
"F请输入关键词"
}
},
zdata
:
{
search
:
{
post
:
{
keyword
:
""
}
}
},
zlist
:
{
org
:
[
{
id
:
"01000000"
,
name
:
"欧亚万豪购物中心"
,
typeId
:
""
,
typeName
:
"门店"
,
bossId
:
""
,
bossName
:
"Alice"
,
bossWxId
:
"WxAlice"
,
bossPhoneNum
:
"18800000001"
,
createTime
:
"2019/01/01"
,
children
:
[
{
id
:
"01010000"
,
name
:
"品牌店"
,
typeId
:
""
,
typeName
:
"商场"
,
bossId
:
""
,
bossName
:
"Bob"
,
bossWxId
:
"WxBob"
,
bossPhoneNum
:
"18800000002"
,
createTime
:
"2019/02/01"
,
children
:
[
{
id
:
"01010100"
,
name
:
"精品男装"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Clid"
,
bossWxId
:
"WxClid"
,
bossPhoneNum
:
"18800000003"
,
createTime
:
"2019/03/01"
,
children
:
[
{
id
:
"01010101"
,
name
:
"Asics"
,
typeId
:
""
,
typeName
:
"专柜"
,
bossId
:
""
,
bossName
:
"Dive"
,
bossWxId
:
"WxDive"
,
bossPhoneNum
:
"18800000004"
,
createTime
:
"2019/04/01"
},
{
id
:
"01010102"
,
name
:
"Adidas"
,
typeId
:
""
,
typeName
:
"专柜"
,
bossId
:
""
,
bossName
:
"Eva"
,
bossWxId
:
"WxEva"
,
bossPhoneNum
:
"18800000005"
,
createTime
:
"2019/04/02"
},
{
id
:
"01010103"
,
name
:
"Nike"
,
typeId
:
""
,
typeName
:
"专柜"
,
bossId
:
""
,
bossName
:
"Fox"
,
bossWxId
:
"WxFox"
,
bossPhoneNum
:
"18800000006"
,
createTime
:
"2019/04/03"
},
]
},
{
id
:
"01010200"
,
name
:
"精品女装"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Gome"
,
bossWxId
:
"WxGome"
,
bossPhoneNum
:
"18800000007"
,
createTime
:
"2019/03/02"
,
children
:
[
]
},
{
id
:
"01010300"
,
name
:
"皮鞋柜组"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Hola"
,
bossWxId
:
"WxHola"
,
bossPhoneNum
:
"18800000008"
,
createTime
:
"2019/03/03"
,
children
:
[
]
},
{
id
:
"01010400"
,
name
:
"护肤美颜"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Ink"
,
bossWxId
:
"WxInk"
,
bossPhoneNum
:
"18800000009"
,
createTime
:
"2019/03/04"
,
children
:
[
]
},
]
},
]
},
]
}
};
},
watch
:
{
// addStoreDialog() {
addStoreDialog
()
{
// if ((this.$refs.addStore.addStoreDialog = false)) {
// this.storeGetMainList();
// }
},
""
:
{
handler
:
function
()
{},
deep
:
true
}
},
// created() {
// this.storeGetMainList();
// zlog('--->Created!')
// },
mounted
()
{
// this.storeGetMainList();
this
.
storeSearch
();
this
.
storeReadyBarList
();
this
.
storeGetUnGroupManList
();
},
methods
:
{
orgMainAdd
()
{},
orgMainDels
()
{},
orgMainSearch
()
{},
storeReadyBarList
()
{
ApiStoreGetBarList
()
.
then
(
res
=>
{
this
.
zlist
.
bar
=
res
.
data
;
})
.
catch
(
err
=>
{});
},
storeGetUnGroupManList
()
{
let
postData
=
{};
ApiStoreGetUnGroupManList
(
postData
)
.
then
(
res
=>
{
this
.
zlist
.
unGroupMan
=
res
.
data
;
})
.
catch
(
err
=>
{});
},
storeGetBarList
()
{},
matchManIdAndManName
(
inId
)
{
let
manList
=
this
.
list
.
man
;
let
manName
=
"未知"
;
for
(
let
i
=
0
;
i
<
this
.
list
.
man
.
length
;
i
++
)
{
let
item
=
manList
[
i
];
if
(
item
!=
null
&&
item
.
id
!=
null
)
{
if
(
item
.
id
==
inId
)
{
manName
=
item
.
userName
;
}
}
}
return
manName
;
},
transManIdToManName
()
{
let
mainList
=
this
.
list
.
main
;
let
id
=
""
;
let
name
=
""
;
for
(
let
i
=
0
;
i
<
mainList
.
length
;
i
++
)
{
if
(
this
.
list
.
main
[
i
].
adminStall
.
principal
&&
this
.
list
.
main
[
i
].
adminStall
.
principal
!=
null
)
{
id
=
this
.
list
.
main
[
i
].
adminStall
.
principal
;
name
=
this
.
matchManIdAndManName
(
id
);
this
.
list
.
main
[
i
].
adminStall
.
principal
=
name
;
}
else
{
this
.
list
.
main
[
i
].
adminStall
.
principal
=
"未知"
;
}
}
},
storeSearch
()
{
if
(
this
.
zdata
.
searchPost
.
keywords
==
""
)
{
this
.
zcache
.
status
.
isSearch
=
false
;
this
.
zcache
.
page
.
nowPage
=
1
;
this
.
storeGetMainList
();
}
else
{
this
.
zcache
.
status
.
isSearch
=
true
;
let
postData
=
{
keyWords
:
this
.
zdata
.
searchPost
.
keywords
,
pageNum
:
1
};
ApiStoreSearch
(
postData
)
.
then
(
res
=>
{
// let result = [];
// result.push(res.data.stallInfo);
// this.list.main = result;
// this.list.main = res.data.list;
this
.
list
.
main
=
res
.
data
.
pageInfo_adminStalls
.
list
;
this
.
zcache
.
page
.
allItem
=
Number
(
res
.
data
.
pageInfo_adminStalls
.
total
);
this
.
zcache
.
page
.
pageSize
=
res
.
data
.
pageInfo_adminStalls
.
pageSize
;
this
.
zcache
.
page
.
nowPage
=
res
.
data
.
pageInfo_adminStalls
.
pageNum
;
})
.
catch
(
err
=>
{});
}
},
storeGetMainList
()
{
// zlog("--->In Get API!");
let
postData
=
{
pageNum
:
this
.
zcache
.
page
.
nowPage
};
ApiStoreGetMainList
(
postData
).
then
(
res
=>
{
// this.list.main = res.data.pageInfo_adminStalls.list[0];
// this.list.man = res.data.pageInfo_principals.list[0];
this
.
list
.
main
=
res
.
data
.
pageInfo_adminStalls
.
list
;
this
.
list
.
man
=
res
.
data
.
adminStall_principals
;
this
.
transManIdToManName
();
this
.
zcache
.
page
.
allItem
=
Number
(
res
.
data
.
pageInfo_adminStalls
.
total
);
this
.
zcache
.
page
.
pageSize
=
res
.
data
.
pageInfo_adminStalls
.
pageSize
;
this
.
zcache
.
page
.
nowPage
=
res
.
data
.
pageInfo_adminStalls
.
pageNum
;
});
},
storePageIndexChange
(
inData
)
{
console
.
log
(
"--->page: inData ="
,
inData
);
this
.
zcache
.
page
.
nowPage
=
inData
;
if
(
this
.
zcache
.
status
.
isSearch
)
{
let
postData
=
{
keyWords
:
this
.
zdata
.
searchPost
.
keywords
,
pageNum
:
inData
};
ApiStoreSearch
(
postData
)
.
then
(
res
=>
{
// let result = [];
// result.push(res.data.stallInfo);
// this.list.main = result;
// this.list.main = res.data.list;
this
.
list
.
main
=
res
.
data
.
pageInfo_adminStalls
.
list
;
this
.
zcache
.
page
.
allItem
=
Number
(
res
.
data
.
pageInfo_adminStalls
.
total
);
this
.
zcache
.
page
.
pageSize
=
res
.
data
.
pageInfo_adminStalls
.
pageSize
;
this
.
zcache
.
page
.
nowPage
=
res
.
data
.
pageInfo_adminStalls
.
pageNum
;
})
.
catch
(
err
=>
{});
}
else
{
this
.
zcache
.
page
.
nowPage
=
inData
;
this
.
storeGetMainList
();
}
},
storeGetStoreDetail
(
inData
)
{
let
postData
=
{
isDetail
:
true
,
stallId
:
inData
};
ApiStoreGetStoreDetail
(
postData
)
.
then
(
res
=>
{
this
.
zdata
.
see
.
storeName
=
res
.
data
.
adminStall
.
name
;
this
.
zdata
.
see
.
storeType
=
res
.
data
.
adminStall
.
type
;
// this.zdata.see.storeFromBar = res.data.adminStall.shopId;
this
.
zdata
.
see
.
storeFromBar
=
res
.
data
.
shopName
;
this
.
zdata
.
see
.
storeBossName
=
res
.
data
.
principal
.
userName
;
this
.
zdata
.
see
.
storeDoorId
=
res
.
data
.
adminStall
.
signNum
;
this
.
zdata
.
see
.
storeAddress
=
res
.
data
.
adminStall
.
location
;
this
.
zdata
.
see
.
storeManList
=
res
.
data
.
clerks_unselected
;
})
.
catch
(
err
=>
{});
this
.
zcache
.
status
.
seeDialog
=
true
;
},
storeEditStore
(
inData
)
{
this
.
storeGetUnGroupManList
();
this
.
zdata
.
editPost
.
id
=
Number
(
inData
);
let
postData
=
{
isDetail
:
true
,
stallId
:
inData
};
ApiStoreGetStoreDetail
(
postData
)
.
then
(
res
=>
{
this
.
zdata
.
edit
=
res
;
let
timeStoreTypeId
=
""
;
if
(
res
.
data
.
adminStall
.
type
==
"普通"
)
{
timeStoreTypeId
=
"0"
;
}
else
{
timeStoreTypeId
=
"1"
;
}
this
.
zdata
.
editPost
.
storeName
=
res
.
data
.
adminStall
.
name
;
this
.
zdata
.
editPost
.
storeTypeId
=
timeStoreTypeId
;
this
.
zdata
.
editPost
.
storeBossId
=
res
.
data
.
adminStall
.
principal
;
this
.
zdata
.
editPost
.
storeFromBarId
=
res
.
data
.
adminStall
.
shopId
;
this
.
zdata
.
editPost
.
storeDoorCode
=
res
.
data
.
adminStall
.
signNum
;
this
.
zdata
.
editPost
.
storeAddress
=
res
.
data
.
adminStall
.
location
;
})
.
catch
(
err
=>
{});
this
.
zcache
.
status
.
editDialog
=
true
;
},
storeDelStore
(
inData
)
{
let
delArr
=
[];
delArr
.
push
(
String
(
inData
));
let
postData
=
{
stallIds
:
delArr
};
ApiStoreDelStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"删除成功"
,
type
:
"success"
});
this
.
storeGetMainList
();
}
else
{
this
.
$message
({
message
:
"删除失败!"
,
type
:
"error"
});
}
})
.
catch
(
err
=>
{
this
.
$message
({
message
:
"删除失败!"
,
type
:
"error"
});
});
},
listPick
(
inData
)
{
this
.
zlist
.
listPick
=
inData
;
},
storeDelStoreArr
()
{
let
delArr
=
this
.
zlist
.
listPick
;
let
delIdsArr
=
[];
for
(
let
i
=
0
;
i
<
delArr
.
length
;
i
++
)
{
delIdsArr
.
push
(
String
(
delArr
[
i
].
id
));
}
let
postData
=
{
stallIds
:
delIdsArr
};
ApiStoreDelStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"删除成功"
,
type
:
"success"
});
this
.
storeGetMainList
();
}
else
{
this
.
$message
({
message
:
"删除失败!"
,
type
:
"error"
});
}
})
.
catch
(
err
=>
{
this
.
$message
({
message
:
"删除失败!"
,
type
:
"error"
});
});
},
ztestman
(
inData
)
{
console
.
log
(
"--->ManList ="
,
this
.
zlist
.
unGroupMan
);
console
.
log
(
"--->PickId ="
,
inData
,
" type ="
,
typeof
inData
);
// this.zdata.newPost.storeBossId = Number(inData)
},
dialogNewClose
()
{
this
.
zcache
.
status
.
newDialog
=
false
;
this
.
zdata
.
newPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
newPostDefault
)
);
},
dialogNewCancel
()
{
this
.
zcache
.
status
.
newDialog
=
false
;
this
.
zdata
.
newPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
newPostDefault
)
);
},
dialogNewSubmit
()
{
// console.log('--->PostId =', this.zdata.newPost.storeBossId * 1)
let
postData
=
{
name
:
this
.
zdata
.
newPost
.
storeName
,
// stallType: Number(this.zdata.newPost.storeTypeId),
stallType
:
this
.
zdata
.
newPost
.
storeTypeId
,
principal
:
this
.
zdata
.
newPost
.
storeBossId
,
shopId
:
this
.
zdata
.
newPost
.
storeFromBarId
,
signNum
:
this
.
zdata
.
newPost
.
storeDoorCode
,
location
:
this
.
zdata
.
newPost
.
storeAddress
};
console
.
log
(
"--->postData ="
,
postData
);
ApiStoreAddStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"添加成功"
,
type
:
"success"
});
this
.
zcache
.
status
.
newDialog
=
false
;
this
.
zdata
.
newPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
newPostDefault
)
);
this
.
storeSearch
();
}
})
.
catch
(
err
=>
{});
},
dialogEditClose
()
{
this
.
zcache
.
status
.
editDialog
=
false
;
this
.
zdata
.
editPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
editPostDefault
)
);
},
dialogEditCancel
()
{
this
.
zcache
.
status
.
editDialog
=
false
;
this
.
zdata
.
editPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
editPostDefault
)
);
},
dialogEditSubmit
()
{
let
postData
=
{
stallId
:
Number
(
this
.
zdata
.
editPost
.
id
),
name
:
this
.
zdata
.
editPost
.
storeName
,
type
:
String
(
this
.
zdata
.
editPost
.
storeTypeId
),
principal
:
Number
(
this
.
zdata
.
editPost
.
storeBossId
),
shopId
:
Number
(
this
.
zdata
.
editPost
.
storeFromBarId
),
signNum
:
String
(
this
.
zdata
.
editPost
.
storeDoorCode
),
location
:
this
.
zdata
.
editPost
.
storeAddress
};
ApiStoreEditStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"编辑成功"
,
type
:
"success"
});
this
.
zdata
.
editPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
editPostDefault
)
);
this
.
zcache
.
status
.
editDialog
=
false
;
this
.
storeGetMainList
();
}
else
{
this
.
$message
({
message
:
"编辑失败!"
,
type
:
"error"
});
}
})
.
catch
(
err
=>
{
this
.
$message
({
message
:
"编辑失败!"
,
type
:
"error"
});
});
},
testButtonClick
()
{},
pagesSizeChange
()
{},
pagesNowPageChange
()
{},
setListsHeadStyle
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
rowIndex
===
0
)
{
return
"background-color: #0B0F32; border-right: 1px solid white;color: white;"
;
}
else
{
return
""
;
}
},
addStore
()
{
// this.$refs.addStore.addStoreDialog = true;
this
.
zcache
.
status
.
newDialog
=
true
;
},
handleDetail
()
{
this
.
$refs
.
storeDetail
.
detailDialog
=
true
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
},
dialogSeeClose
()
{
this
.
zcache
.
status
.
seeDialog
=
false
;
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.btn
{
font-size
:
14px
;
font-weight
:
bold
;
color
:
rgba
(
102
,
102
,
102
,
1
);
}
.main
{
position
:
relative
;
background-color
:
#fff
;
box-sizing
:
border-box
;
height
:
100%
;
padding
:
0px
16px
16px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
width
:
100%
;
box-shadow
:
0px
2px
4px
0px
#ddd
;
}
.buttons
{
width
:
266px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-start
;
}
.buttonlight
{
background-color
:
#e8e9fe
;
color
:
#4e59c7
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.buttondark
{
width
:
88px
;
height
:
32px
;
background-color
:
#4e59c7
;
color
:
#ffffff
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.searchzone
{
height
:
40px
;
width
:
auto
;
min-width
:
654px
;
text-align
:
right
;
}
.lists
{
height
:
auto
;
min-height
:
70%
;
width
:
100%
;
margin-top
:
20px
;
}
.listButtonRed
{
color
:
#d0021b
;
font-weight
:
bold
;
}
.pages
{
height
:
40px
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
align-items
:
center
;
}
.title
{
height
:
48px
;
line-height
:
48px
;
color
:
rgba
(
56
,
56
,
56
,
1
);
border-bottom
:
1px
solid
#f8f8f8
;
margin-bottom
:
16px
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/addCounter.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ct"
>
<el-dialog
:visible
.
sync=
"counterDialog"
width=
"800px"
class=
"dialog"
:show-close=
"false"
:before-close=
"handleClose"
top=
"5vh"
>
<div
class=
"choose"
>
<div
class=
"title"
>
<div
class=
"cg"
>
添加柜组
</div>
<div
class=
"circle"
@
click=
"handleClose"
>
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<el-form
class=
"searchzone"
:model=
"formData"
label-width=
"auto"
ref=
"addCounter"
:rules=
"rules"
>
<el-form-item
label=
"柜组名称:"
prop=
"name"
>
<el-input
size=
"small"
v-model=
"formData.name"
style=
"width:240px"
placeholder=
"请输入柜组名称"
/>
</el-form-item>
<el-form-item
label=
"柜组负责人:"
prop=
"principal"
>
<el-select
size=
"small"
v-model=
"formData.principal"
placeholder=
"请选择柜组负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in personList"
:key=
"item.id"
:label=
"item.userName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"柜组编号:"
prop=
"num"
>
<el-input
size=
"small"
v-model=
"formData.num"
style=
"width:240px"
placeholder=
"请输入柜组编号"
/>
</el-form-item>
<el-form-item
label=
"所在区域:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"formData.area"
style=
"width:240px"
placeholder=
"请输入所在区域"
/>
</el-form-item>
<div
class=
"cs"
>
<el-form-item
label=
"门店:"
prop=
"stallIds"
>
<el-transfer
style=
"text-align: left; display: inline-block"
v-model=
"formData.stallIds"
:left-default-checked=
"[]"
:right-default-checked=
"[]"
:titles=
"['选择', '已选']"
:button-texts=
"['删除', '添加']"
@
change=
"handleChange"
:data=
"stallData"
>
<span
slot-scope=
"
{ option }">
{{
option
.
name
}}
</span
>
</el-transfer>
</el-form-item>
</div>
</el-form>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCancel('addCounter')"
size=
"small"
>
取 消
</el-button
>
<el-button
type=
"primary"
@
click=
"handleFinish('addCounter')"
size=
"small"
>
确 定
</el-button
>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
stallDetail
,
stallSave
}
from
"@/api/in/counter"
export
default
{
data
()
{
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
'含有非法字符(只能输入字母、汉字)!'
))
}
else
{
callback
()
}
}
return
{
counterDialog
:
false
,
value4
:
[],
formData
:
{
name
:
""
,
num
:
""
,
principal
:
""
,
area
:
''
,
stallIds
:
[],
},
personList
:
[],
stallData
:
[],
rules
:
{
name
:
[{
required
:
true
,
message
:
"请输入柜组名称"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
},
{
validator
:
nameValidate
,
trigger
:
"blur"
}],
principal
:
[
{
required
:
true
,
message
:
"请选择活动负责人"
,
trigger
:
"change"
}
],
num
:
[{
required
:
true
,
message
:
"请输入柜组编号"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
}],
stallIds
:[
{
required
:
true
,
message
:
"请选择门店"
,
trigger
:
"blur"
},
{
required
:
true
,
message
:
"请选择门店"
,
trigger
:
"change"
},
],
area
:
[{
required
:
true
,
message
:
"请输入所在区域"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
},
{
validator
:
nameValidate
,
trigger
:
"blur"
}]
}
};
},
mounted
(){
this
.
getPersonList
()
},
methods
:
{
handleChange
()
{},
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
(
_
=>
{
this
.
counterDialog
=
false
;
})
.
catch
(
_
=>
{});
},
handleCancel
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
counterDialog
=
false
;
},
handleFinish
(
formName
)
{
let
_this
=
this
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
// 调用新增接口
// this.counterDialog = false;
let
formData
=
JSON
.
parse
(
JSON
.
stringify
(
_this
.
formData
))
delete
formData
.
stallIds
formData
.
stallIds
=
_this
.
formData
.
stallIds
.
join
(
','
)
stallSave
(
formData
).
then
(
res
=>
{
_this
.
$message
(
formData
.
res
.
data
)
})
}
else
{
console
.
log
(
'error submit!!'
);
return
false
;
}
});
},
// 柜组负责人 门店列表
getPersonList
(){
let
_this
=
this
stallDetail
().
then
(
res
=>
{
_this
.
personList
=
res
.
data
.
principals_unselected
_this
.
stallData
=
res
.
data
.
stalls_unselected
.
map
((
v
,
i
)
=>
{
v
.
key
=
v
.
id
return
v
})
})
}
},
watch
:{
counterDialog
(){
if
(
this
.
counterDialog
){
if
(
this
.
$refs
.
addCounter
){
this
.
$refs
.
addCounter
.
resetFields
();
}
}
}
}
};
</
script
>
<
style
scoped
>
.dialog
>>>
.el-dialog
{
height
:
calc
(
100vh
-
208px
);
overflow
:
auto
;
}
.cs
{
display
:
flex
;
}
.ct
>>>
.el-transfer-panel
{
width
:
180px
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
padding
:
0
!important
;
}
.ct
>>>
.el-dialog__body
{
padding
:
0
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/addGroup.vue
View file @
f844f059
...
...
@@ -51,7 +51,7 @@
/>
</el-form-item>
<el-form-item
label=
"设置主管:"
prop=
"clerkId"
v-if=
"detail == 1"
>
<el-cascader
:props=
"props"
v-model=
"deptId"
:options=
"parentDeptList"
:show-all-levels=
"false"
filterable
style=
"width: 30%;margin-right:15px;"
@
change=
"handleParentChange"
></el-cascader>
<el-cascader
:props=
"props"
v-model=
"deptId"
:
disabled=
"ifDisabled"
:
options=
"parentDeptList"
:show-all-levels=
"false"
filterable
style=
"width: 30%;margin-right:15px;"
@
change=
"handleParentChange"
></el-cascader>
<el-select
v-model=
"addForm.clerkId"
filterable
multiple
placeholder=
"请选择"
style=
"width: 30%;"
clearble
>
<el-option
v-for=
"item in peopleList"
...
...
@@ -83,15 +83,17 @@ export default {
}
},
data
()
{
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
))
}
else
{
callback
()
}
}
// 检查名称
const
checkLabel
=
(
rule
,
value
,
callback
)
=>
{
let
labelReg
=
/^
[\u
4e00-
\u
9fa5A-Za-z0-9
\-\_]
*$/
;
if
(
value
==
""
)
{
callback
(
new
Error
(
"请输入部门名称"
));
}
else
if
(
!
labelReg
.
test
(
value
))
{
//引入methods中封装的检查手机格式的方法
callback
(
new
Error
(
"只可以输入中文、字母、数字和减号!"
));
}
else
{
callback
();
}
}
return
{
treeData
:
[],
group_name
:
""
,
...
...
@@ -114,6 +116,7 @@ export default {
clerkId
:
[]
},
detail
:
2
,
ifDisabled
:
false
,
deptId
:
''
,
// 上级部门
parentDeptList
:
[],
...
...
@@ -121,11 +124,10 @@ export default {
orgTree
:
[],
rules
:
{
label
:
[
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
required
:
true
,
validator
:
checkLabel
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
},
deptOption
:
{
value
:
'id'
,
...
...
@@ -215,11 +217,16 @@ export default {
let
data
=
Object
.
assign
(
this
.
addForm
,{
clerkIds
})
delete
data
.
clerkId
addGroup
(
data
).
then
(
res
=>
{
if
(
res
.
data
.
isSuccessful
==
0
)
{
this
.
$message
.
error
(
res
.
data
.
msg
)
}
else
{
this
.
$emit
(
"handleAddFinish"
)
if
(
res
.
result
==
"success"
)
{
if
(
res
.
data
.
isSuccessful
==
0
)
{
this
.
$message
.
error
(
"门店id不能重复"
)
}
else
{
this
.
$emit
(
"handleAddFinish"
)
}
}
else
{
this
.
$message
.
error
(
res
.
data
)
}
})
}
else
{
return
false
;
...
...
@@ -231,9 +238,10 @@ export default {
},
// 获取所有人员
getGroupMember
(
id
)
{
getAllPeopleList
({
id
}).
then
(
res
=>
{
console
.
log
(
res
,
'人员'
)
this
.
ifDisabled
=
true
getAllPeopleList
({
id
}).
then
(
res
=>
{
this
.
peopleList
=
res
.
data
this
.
ifDisabled
=
false
})
}
}
...
...
ybf_admin/src/pages/in/contact/components/addStore.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ct"
>
<el-dialog
:visible
.
sync=
"addStoreDialog"
class=
"dialog"
width=
"65%"
:show-close=
"false"
:before-close=
"handleClose"
>
<div
class=
"choose"
>
<div
class=
"title"
>
<div
class=
"cg"
>
添加门店
</div>
<div
class=
"circle"
@
click=
"handleClose"
>
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"addStore"
:rules=
"zrule"
>
-->
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"addStore"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"createForm"
:rules=
"rules"
>
-->
<el-form-item
label=
"门店名称:"
prop=
"storeName"
>
<el-input
size=
"small"
v-model=
"zdata.post.storeName"
style=
"width:240px;"
placeholder=
"请输入门店名称"
/>
</el-form-item>
<el-form-item
label=
"门店类型:"
prop=
"storeType"
>
<el-select
size=
"small"
v-model=
"zdata.post.storeTypeId"
placeholder=
"请选择门店类型"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门店负责人:"
prop=
"people"
>
<el-select
size=
"small"
v-model=
"zdata.post.storeBossId"
placeholder=
"请选择门店负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeBossId"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属柜组:"
prop=
"counter"
>
<el-select
size=
"small"
v-model=
"zdata.post.storeFromBarId"
placeholder=
"请选择所属柜组"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeFromBarId"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门牌号:"
prop=
"number"
>
<el-input
size=
"small"
v-model=
"zdata.post.storeDoorCode"
style=
"width:240px"
placeholder=
"请输入门牌号"
/>
</el-form-item>
<el-form-item
label=
"位置:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"zdata.post.storeAddress"
style=
"width:240px"
placeholder=
"请输入位置"
/>
</el-form-item>
</el-form>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCancel('addStore')"
size=
"small"
>
取 消
</el-button>
<!--
<el-button
type=
"primary"
@
click=
"addStoreSubmit('createForm')"
size=
"small"
>
确 定
</el-button>
-->
<el-button
type=
"primary"
@
click=
"addStoreSubmit"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
ApiStoreAddStore
}
from
"@api/in/store"
const
zlog
=
console
.
log
.
bind
(
console
)
export
default
{
data
()
{
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
))
}
else
{
callback
();
}
};
return
{
zlist
:
{
storeType
:
[
{
id
:
"0"
,
name
:
"普通"
},
{
id
:
"1"
,
name
:
"专柜"
}
],
storeBossId
:
[
{
id
:
"2001200138020920001"
,
name
:
"王月云"
},
{
id
:
"2001200138020930002"
,
name
:
"李强"
}
],
storeFromBarId
:
[
{
id
:
"2001201134572130000"
,
name
:
"柜组一号"
},
{
id
:
"2001201135500920000"
,
name
:
"柜组二号"
}
]
},
zdata
:
{
post
:
{
storeName
:
""
,
storeTypeId
:
""
,
storeBossId
:
""
,
storeFromBarId
:
""
,
storeDoorCode
:
""
,
storeAddress
:
""
}
},
rules
:
{
// name: [
// { required: true, message: "请输入柜组名称F", trigger: "blur" },
// { validator: nameValidate, trigger: "blur" },
// { max: 50, message: "长度在50个字符以内", trigger: "blur" }
// ],
type
:
[{
required
:
true
,
message
:
"请选择门店类型"
,
trigger
:
"change"
}]
// people: [
// { required: true, message: "请选择门店负责人", trigger: "change" }
// ],
// counter: [
// { required: true, message: "请选择所属柜组", trigger: "change" }
// ],
// number: [{ max: 50, message: "长度在50个字符以内", trigger: "blur" }],
// area: [{ max: 50, message: "长度在100个字符以内", trigger: "blur" }]
},
addStoreDialog
:
false
};
},
methods
:
{
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
(
_
=>
{
this
.
addStoreDialog
=
false
;
})
.
catch
(
_
=>
{});
},
handleCancel
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
addStoreDialog
=
false
;
},
addStoreSubmit
(
inDataName
=
""
)
{
let
postData
=
{
name
:
this
.
zdata
.
post
.
storeName
,
stallType
:
Number
(
this
.
zdata
.
post
.
storeTypeId
),
principal
:
Number
(
this
.
zdata
.
post
.
storeBossId
),
shopId
:
this
.
zdata
.
post
.
storeFromBarId
,
signNum
:
this
.
zdata
.
post
.
storeDoorCode
,
location
:
this
.
zdata
.
post
.
storeAddress
,
};
console
.
log
(
"--->postData ="
,
postData
);
ApiStoreAddStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"添加成功"
,
type
:
"success"
});
this
.
addStoreDialog
=
false
;
}
})
.
catch
(
err
=>
{
});
},
handleChange
()
{}
},
watch
:
{
addStoreDialog
()
{
if
(
this
.
addStoreDialog
)
{
if
(
this
.
$refs
.
addStore
)
{
this
.
$refs
.
addStore
.
resetFields
();
}
}
}
}
};
</
script
>
<
style
scoped
>
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
padding
:
0
!important
;
}
.ct
>>>
.el-dialog__body
{
padding
:
0
;
}
.ct
>>>
.el-transfer-panel
{
width
:
180px
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
/* border: 2px solid red; */
}
.cs
{
display
:
flex
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/counterDetail.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ct"
>
<el-dialog
:visible
.
sync=
"detailDialog"
width=
"65%"
:show-close=
"false"
>
<div
class=
"choose"
>
<div
class=
"title"
>
<div
class=
"cg"
>
柜组详情
</div>
<div
class=
"circle"
@
click=
"handleClose"
>
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<el-form
class=
"searchzone"
:model=
"formData"
label-width=
"auto"
disabled
>
<el-form-item
label=
"柜组名称:"
>
<el-input
size=
"small"
v-model=
"formData.name"
style=
"width:240px"
placeholder=
"请输入柜组名称"
/>
</el-form-item>
<el-form-item
label=
"柜组编号:"
>
<el-input
size=
"small"
v-model=
"formData.code"
style=
"width:240px"
placeholder=
"请输入柜组编号"
/>
</el-form-item>
<el-form-item
label=
"柜组负责人:"
>
<el-input
size=
"small"
v-model=
"formData.people"
style=
"width:240px"
/>
</el-form-item>
<el-form-item
label=
"所在区域:"
>
<el-input
size=
"small"
v-model=
"formData.area"
style=
"width:240px"
placeholder=
"请输入所在区域"
/>
</el-form-item>
<div
class=
"tb"
>
<el-form-item
label=
"门店:"
>
</el-form-item>
<el-table
stripe
class=
"list"
ref=
"multipleTable table"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"60"
></el-table-column>
<el-table-column
prop=
"name"
label=
"柜组名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"signNum"
label=
"门牌号"
align=
"center"
></el-table-column>
</el-table>
</div>
</el-form>
</div>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getDetail
}
from
"@/api/in/counter"
export
default
{
props
:
{
msgId
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
detailDialog
:
false
,
formData
:
{
name
:
""
,
code
:
""
,
people
:
""
},
tableData
:
[],
personList
:
[],
counter
:[]
};
},
created
()
{
this
.
getDetail
()
},
methods
:
{
getDetail
()
{
this
.
detailDialog
=
true
let
params
=
{
isDetail
:
true
,
shopId
:
this
.
msgId
}
getDetail
(
params
).
then
(
res
=>
{
console
.
log
(
res
,
"详情"
);
let
data
=
res
.
data
this
.
formData
.
name
=
data
.
shop
.
name
this
.
formData
.
code
=
data
.
shop
.
num
this
.
formData
.
people
=
data
.
principal
.
userName
this
.
formData
.
area
=
data
.
shop
.
area
this
.
tableData
=
data
.
shop
.
adminStallList
})
},
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
(
_
=>
{
this
.
detailDialog
=
false
;
his
.
$emit
(
'handleDetailClose'
,
"false"
)
})
.
catch
(
_
=>
{});
},
},
watch
:{
detailDialog
(
newValue
)
{
// this.getDetail()
},
}
};
</
script
>
<
style
>
</
style
>
<
style
scoped
>
.tb
{
display
:
flex
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
padding
:
0
!important
;
}
.ct
>>>
.el-dialog__body
{
padding
:
0
;
}
.ct
>>>
.el-transfer-panel
{
width
:
250px
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/editCounter.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ct"
>
<el-dialog
:visible
.
sync=
"counterDialog"
width=
"65%"
class=
"dialog"
:show-close=
"false"
:before-close=
"handleClose"
>
<div
class=
"choose"
>
<div
class=
"title"
>
<div
class=
"cg"
>
修改柜组
</div>
<div
class=
"circle"
@
click=
"handleClose"
>
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<el-form
class=
"searchzone"
:model=
"formData"
label-width=
"auto"
ref=
"addCounter"
:rules=
"rules"
>
<el-form-item
label=
"柜组名称:"
prop=
"name"
>
<el-input
size=
"small"
v-model=
"formData.name"
style=
"width:240px"
placeholder=
"请输入柜组名称"
/>
</el-form-item>
<el-form-item
label=
"柜组负责人:"
prop=
"people"
>
<el-select
size=
"small"
v-model=
"formData.people"
placeholder=
"请选择柜组负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in personList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"柜组编号:"
prop=
"code"
>
<el-input
size=
"small"
v-model=
"formData.code"
style=
"width:240px"
placeholder=
"请输入柜组编号"
/>
</el-form-item>
<el-form-item
label=
"所在区域:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"formData.area"
style=
"width:240px"
placeholder=
"请输入所在区域"
/>
</el-form-item>
<div
class=
"cs"
>
<el-form-item
label=
"门店:"
>
</el-form-item>
<div>
<el-transfer
style=
"text-align: left; display: inline-block"
v-model=
"value4"
:left-default-checked=
"[]"
:right-default-checked=
"[]"
:titles=
"['选择', '已选']"
:button-texts=
"['删除', '添加']"
@
change=
"handleChange"
:data=
"data"
>
<span
slot-scope=
"
{ option }"
>
{{
option
.
key
}}
-
{{
option
.
label
}}
</span
>
</el-transfer>
</div>
</div>
</el-form>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCancel('addCounter')"
size=
"small"
>
取 消
</el-button
>
<el-button
type=
"primary"
@
click=
"handleFinish('addCounter')"
size=
"small"
>
确 定
</el-button
>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getDetail
}
from
"@/api/in/counter"
export
default
{
props
:
{
msgId
:
{
type
:
String
,
default
:
''
}
},
data
()
{
const
generateData
=
_
=>
{
const
data
=
[];
for
(
let
i
=
1
;
i
<=
15
;
i
++
)
{
data
.
push
({
key
:
i
,
label
:
`备选项
${
i
}
`
});
}
return
data
;
}
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
'含有非法字符(只能输入字母、汉字)!'
))
}
else
{
callback
()
}
}
return
{
counterDialog
:
false
,
data
:
generateData
(),
value
:
[
1
],
value4
:
[
1
],
renderFunc
(
h
,
option
)
{
return
(
<
span
>
{
option
.
key
}
-
{
option
.
label
}
<
/span
>
);
},
formData
:
{
name
:
""
,
code
:
""
,
people
:
""
},
personList
:
[
{
id
:
"1"
,
name
:
"张三"
},
{
id
:
"2"
,
name
:
"李四"
}
],
rules
:
{
name
:
[{
required
:
true
,
message
:
"请输入柜组名称"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
},
{
validator
:
nameValidate
,
trigger
:
"blur"
}],
people
:
[
{
required
:
true
,
message
:
"请选择活动负责人"
,
trigger
:
"change"
}
],
code
:
[{
required
:
true
,
message
:
"请输入柜组编号"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
},
{
validator
:
nameValidate
,
trigger
:
"blur"
}],
area
:
[{
required
:
true
,
message
:
"请输入所在区域"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
},
{
validator
:
nameValidate
,
trigger
:
"blur"
}]
}
};
},
created
()
{
this
.
getDetail
()
},
methods
:
{
getDetail
()
{
this
.
counterDialog
=
true
let
params
=
{
isDetail
:
true
,
shopId
:
this
.
msgId
}
getDetail
(
params
).
then
(
res
=>
{
console
.
log
(
res
,
"详情"
);
let
data
=
res
.
data
this
.
formData
.
name
=
data
.
shop
.
name
this
.
formData
.
code
=
data
.
shop
.
num
this
.
formData
.
people
=
data
.
shop
.
principal
this
.
formData
.
area
=
data
.
shop
.
area
})
},
handleChange
()
{},
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
(
_
=>
{
this
.
counterDialog
=
false
;
this
.
$emit
(
'handleEditClose'
,
"false"
)
})
.
catch
(
_
=>
{});
},
handleCancel
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
counterDialog
=
false
;
this
.
$emit
(
'handleEditClose'
,
"false"
)
},
handleFinish
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
counterDialog
=
false
;
this
.
$emit
(
'handleEditClose'
,
"false"
)
}
else
{
console
.
log
(
'error submit!!'
);
return
false
;
}
});
},
},
watch
:{
counterDialog
(){
if
(
this
.
counterDialog
){
if
(
this
.
$refs
.
addCounter
){
this
.
$refs
.
addCounter
.
resetFields
();
}
}
}
}
};
</
script
>
<
style
scoped
>
.dialog
>>>
.el-dialog
{
height
:
calc
(
100vh
-
208px
);
overflow
:
auto
;
}
.cs
{
display
:
flex
;
}
.ct
>>>
.el-transfer-panel
{
width
:
180px
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
padding
:
0
!important
;
}
.ct
>>>
.el-dialog__body
{
padding
:
0
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/editGroup.vue
View file @
f844f059
...
...
@@ -50,7 +50,7 @@
/>
</el-form-item>
<el-form-item
label=
"设置主管:"
prop=
"clerkId"
v-if=
"detail == 1"
>
<el-cascader
:props=
"props"
v-model=
"deptId"
:options=
"parentDeptList"
:show-all-levels=
"false"
filterable
style=
"width: 30%;margin-right:15px;"
@
change=
"handleParentChange"
></el-cascader>
<el-cascader
:props=
"props"
v-model=
"deptId"
:options=
"parentDeptList"
:
disabled=
"ifDisabled"
:
show-all-levels=
"false"
filterable
style=
"width: 30%;margin-right:15px;"
@
change=
"handleParentChange"
></el-cascader>
<el-select
v-model=
"addForm.clerkId"
filterable
multiple
placeholder=
"请选择"
style=
"width: 30%;"
clearble
>
<el-option
v-for=
"item in peopleList"
...
...
@@ -86,15 +86,17 @@ export default {
}
},
data
()
{
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
))
}
else
{
callback
()
}
}
// 检查名称
const
checkLabel
=
(
rule
,
value
,
callback
)
=>
{
let
labelReg
=
/^
[\u
4e00-
\u
9fa5A-Za-z0-9
\-\_]
*$/
;
if
(
value
==
""
)
{
callback
(
new
Error
(
"请输入部门名称"
));
}
else
if
(
!
labelReg
.
test
(
value
))
{
//引入methods中封装的检查手机格式的方法
callback
(
new
Error
(
"只可以输入中文、字母、数字和减号!"
));
}
else
{
callback
();
}
}
return
{
treeData
:
[],
group_name
:
""
,
...
...
@@ -124,7 +126,7 @@ export default {
orgTree
:
[],
rules
:
{
label
:
[
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
required
:
true
,
validator
:
checkLabel
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
...
...
@@ -150,7 +152,8 @@ export default {
},
1000
);
}
},
props
:
{
ifDisabled
:
false
,
props
:
{
value
:
'id'
,
children
:
'children'
,
lazy
:
true
,
...
...
@@ -248,30 +251,16 @@ export default {
}
else
{
return
false
;
}
});
})
},
// 获取所有人员
getGroupMember
(
id
)
{
getAllPeopleList
({
id
}).
then
(
res
=>
{
console
.
log
(
res
,
'人员'
)
this
.
ifDisabled
=
true
getAllPeopleList
({
id
}).
then
(
res
=>
{
this
.
peopleList
=
res
.
data
this
.
ifDisabled
=
false
})
},
/* handleNodeClick(item, node, self) {
// console.log(item,node,self)
this.params.d_parentId = item.id;
this.paramsForShow.father_name = item.label;
},
checkChange(item, node, self) {},
showTreeData() {
this.showTree = !this.showTree;
},
*/
}
}
};
</
script
>
...
...
ybf_admin/src/pages/in/contact/components/nav.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div>
<div>
<el-row
class=
"tac"
>
<el-col>
<el-menu
:default-active=
"index"
class=
"el-menu-vertical-demo"
@
open=
"handleOpen"
@
close=
"handleClose"
>
<el-menu-item
index=
"1"
>
<span
class=
"circle"
><d2-icon-svg
name=
"mail"
/></span>
<span
slot=
"title"
>
通讯录管理
</span>
</el-menu-item>
<el-menu-item
index=
"2"
>
<span
class=
"circle"
><d2-icon-svg
name=
"counter"
/></span>
<span
slot=
"title"
>
柜组管理
</span>
</el-menu-item>
<el-menu-item
index=
"3"
>
<span
class=
"circle"
><d2-icon-svg
name=
"store"
/></span>
<span
slot=
"title"
>
门店管理
</span>
</el-menu-item>
</el-menu>
</el-col>
</el-row>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
index
:
'1'
}
},
methods
:
{
handleClose
()
{},
handleOpen
()
{}
}
}
</
script
>
<
style
scoped
>
.tac
{
width
:
248px
;
height
:
100%
;
}
.tac
>>>
.el-menu
{
border-right
:
none
;
}
.circle
{
display
:
inline-block
;
width
:
24px
;
height
:
24px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
box-shadow
:
0px
1px
2px
0px
rgba
(
78
,
89
,
199
,
1
);
border-radius
:
50%
;
line-height
:
24px
;
text-align
:
center
;
margin-right
:
12px
;
}
.theme-d2
.el-menu-item
svg
,
.theme-d2
.el-submenu__title
svg
{
margin-right
:
0
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/storeDetail.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ct"
>
<el-dialog
:visible
.
sync=
"detailDialog"
width=
"65%"
:show-close=
"false"
>
<div
class=
"choose"
>
<div
class=
"title"
>
<div
class=
"cg"
>
门店详情
</div>
<div
class=
"circle"
@
click=
"handleClose"
>
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<el-form
class=
"searchzone"
:model=
"formData"
label-width=
"auto"
disabled
>
<el-form-item
label=
"门店名称:"
>
<el-input
size=
"small"
v-model=
"formData.name"
style=
"width:240px"
placeholder=
"请输入门店名称"
/>
</el-form-item>
<el-form-item
label=
"门店类型:"
>
<el-select
size=
"small"
v-model=
"formData.type"
placeholder=
"请选择门店类型"
style=
"width:240px"
>
<el-option
v-for=
"item in personList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门店负责人:"
>
<el-select
size=
"small"
v-model=
"formData.people"
placeholder=
"请选择柜组负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in personList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属柜组:"
>
<el-select
size=
"small"
v-model=
"formData.counter"
placeholder=
"请选择所属柜组"
style=
"width:240px"
>
<el-option
v-for=
"item in counter"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"位置:"
>
<el-input
size=
"small"
v-model=
"formData.area"
style=
"width:240px"
placeholder=
"请输入位置"
/>
</el-form-item>
<el-form-item
label=
"门牌号:"
>
<el-input
size=
"small"
v-model=
"formData.number"
style=
"width:240px"
placeholder=
"请输入门牌号"
/>
</el-form-item>
<div
class=
"tb"
>
<el-form-item
label=
"绑定店员:"
></el-form-item>
<el-table
stripe
class=
"list"
ref=
"multipleTable table"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"60"
></el-table-column>
<el-table-column
prop=
"taskName"
label=
"门店名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"number"
label=
"门牌号"
align=
"center"
></el-table-column>
</el-table>
</div>
</el-form>
</div>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
msgId
:
{
type
:
String
,
default
:
""
}
},
data
()
{
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
;
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
));
}
else
{
callback
();
}
};
return
{
formData
:
{
name
:
""
,
code
:
""
,
people
:
""
,
type
:
""
,
number
:
""
,
area
:
""
},
personList
:
[
{
id
:
"1"
,
name
:
"张三"
},
{
id
:
"2"
,
name
:
"李四"
}
],
counter
:
[
{
id
:
"1"
,
name
:
"张三"
},
{
id
:
"2"
,
name
:
"李四"
}
],
tableData
:
[],
detailDialog
:
false
};
},
created
()
{
this
.
getDetail
();
},
methods
:
{
getDetail
()
{
this
.
detailDialog
=
false
// let params = {
// isDetail: true,
// shopId: this.msgId
// }
// getDetail(params).then(res => {
// console.log(res,"详情");
// let data = res.data
// this.formData.name = data.shop.name
// this.formData.code = data.shop.num
// this.formData.people = data.shop.principal
// this.formData.area = data.shop.area
// this.tableData = data.stall_unselected
// })
},
handleClose
()
{
this
.
detailDialog
=
false
;
}
}
};
</
script
>
<
style
scoped
>
.tb
{
display
:
flex
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
padding
:
0
!important
;
}
.ct
>>>
.el-dialog__body
{
padding
:
0
;
}
.ct
>>>
.el-transfer-panel
{
width
:
250px
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
}
</
style
>
ybf_admin/src/pages/in/contact/counter.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"main"
>
<div
class=
"title"
>
全部柜组( 共
<span>
{{
page
.
total
}}
</span>
个 )
</div>
<div
class=
"searchs"
>
<div
class=
"buttons"
>
<el-button
class=
"button buttonlight"
size=
"small"
@
click=
"addCounter"
>
添加柜组
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
v-if=
"multipleSelection.length>1"
@
click=
"handleDelBatch"
>
批量删除
</el-button>
</div>
<!-- 搜索区 -->
<el-form
class=
"searchzone"
:inline=
"true"
:model=
"form"
label-width=
"auto"
>
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"form.keyWords"
style=
"width:160px"
placeholder=
"请输入关键词"
clearable
/>
</el-form-item>
<el-button
class=
"button buttondark"
size=
"small"
style=
"margin-top:4px;"
@
click=
"handleSearch"
>
搜索
</el-button>
</el-form>
</div>
<div
class=
"lists"
>
<el-table
stripe
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%;"
height=
"calc(100vh - 360px)"
@
selection-change=
"listPick"
>
<el-table-column
type=
"selection"
width=
"60"
></el-table-column>
<el-table-column
prop=
"name"
label=
"柜组"
align=
"center"
></el-table-column>
<el-table-column
prop=
"principalName"
label=
"柜组负责人"
align=
"center"
></el-table-column>
<el-table-column
prop=
"num"
label=
"柜组编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"area"
label=
"所在区域"
align=
"center"
></el-table-column>
<el-table-column
prop=
"adminStallList.length"
label=
"门店数量"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
label=
"创建时间"
width=
"120"
align=
"center"
prop=
"createDate"
/>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
class=
"btn"
@
click=
"handleDetail(scope.row.id)"
>
详情
</el-button>
<el-button
type=
"text"
class=
"btn"
@
click=
"handleEdit(scope.row.id)"
>
编辑
</el-button
>
<el-button
type=
"text"
@
click=
"handleDelete(scope.row.id)"
class=
"listButtonRed"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"pages"
>
<el-pagination
@
current-change=
"handleCurrentChange"
:current-page=
"page.currentPage"
:page-size=
"page.size"
layout=
"total, prev, pager, next, jumper"
:total=
"page.total"
>
</el-pagination>
</div>
<add-counter
ref=
"addCounter"
></add-counter>
<counter-detail
ref=
"counterDetail"
:msgId=
"msgId"
v-if=
"detailDialog"
@
handleDetailClose=
"handleDetailClose"
></counter-detail>
<edit-counter
ref=
"editCounter"
:msgId=
"editId"
v-if=
"editDialog"
@
handleEditClose=
"handleEditClose"
></edit-counter>
</div>
</template>
<
script
>
import
CounterDetail
from
"./components/counterDetail"
import
AddCounter
from
"./components/addCounter"
import
EditCounter
from
"./components/editCounter"
import
{
getList
,
stallDel
}
from
"@/api/in/counter"
export
default
{
components
:
{
CounterDetail
,
AddCounter
,
EditCounter
},
data
()
{
return
{
tableData
:
[],
list
:
{
search
:
{
bar
:
[
{
id
:
"1"
,
name
:
"全部"
},
{
id
:
"2"
,
name
:
"测试"
}
],
taskType
:
[
{
id
:
"1"
,
name
:
"全部"
},
{
id
:
"2"
,
name
:
"测试"
}
]
}
},
detailDialog
:
false
,
counterDialog
:
false
,
editDialog
:
false
,
tableHeight
:
window
.
innerHeight
*
0.5
,
page
:{
currentPage
:
1
,
size
:
10
,
total
:
0
},
form
:{
keyWords
:
''
},
msgId
:
""
,
editId
:
""
,
multipleSelection
:[]
};
},
mounted
()
{
this
.
getListData
()
},
methods
:
{
getListData
()
{
let
param
=
{}
let
_this
=
this
param
.
keyWords
=
this
.
form
.
keyWords
?
this
.
form
.
keyWords
:
0
param
.
pageNum
=
this
.
page
.
currentPage
getList
(
param
).
then
(
res
=>
{
if
(
res
.
result
==
'fail'
){
_this
.
$message
.
error
(
res
.
errorMsg
)
_this
.
tableData
=
[]
}
if
(
res
.
result
==
'success'
){
let
data
=
res
.
data
.
pageInfo
.
list
_this
.
tableData
=
data
.
map
((
v
,
i
)
=>
{
let
obj
=
{}
for
(
let
key
in
v
.
adminShop
){
obj
[
key
]
=
v
.
adminShop
[
key
]
obj
.
principalName
=
v
.
principal
}
return
obj
})
_this
.
page
.
total
=
Number
(
res
.
data
.
pageInfo
.
total
)
}
})
},
listPick
(
val
)
{
this
.
multipleSelection
=
val
;
},
handleEdit
(
id
)
{
this
.
editId
=
id
this
.
editDialog
=
true
this
.
$refs
.
editCounter
.
counterDialog
=
true
},
//删除
handleDelete
(
id
)
{
let
_this
=
this
this
.
$confirm
(
'确定删除该柜组吗?'
,
{
}).
then
(()
=>
{
stallDel
({
shopIds
:
id
}).
then
(
res
=>
{
if
(
res
.
result
==
'fail'
){
_this
.
$message
.
error
(
res
.
errorMsg
)
}
if
(
res
.
result
==
'success'
){
_this
.
getListData
()
}
})
}).
catch
(()
=>
{
this
.
$message
.
info
(
"取消删除"
)
});
},
//批量删除
handleDelBatch
(){
let
_this
=
this
let
delIds
=
this
.
multipleSelection
.
map
(
v
=>
{
return
v
.
id
}).
join
(
','
)
this
.
$confirm
(
'确定批量删除柜组吗?'
,
{
}).
then
(()
=>
{
stallDel
({
shopIds
:
delIds
}).
then
(
res
=>
{
if
(
res
.
result
==
'fail'
){
_this
.
$message
.
error
(
res
.
errorMsg
)
}
if
(
res
.
result
==
'success'
){
_this
.
getListData
()
}
})
}).
catch
(()
=>
{
this
.
$message
.
info
(
"取消删除"
)
});
},
handleEditClose
()
{
this
.
editDialog
=
false
},
pagesSizeChange
()
{},
pagesNowPageChange
()
{},
handleDetail
(
id
)
{
this
.
msgId
=
id
this
.
detailDialog
=
true
this
.
$refs
.
counterDetail
.
detailDialog
=
true
},
handleDetailClose
()
{
this
.
detailDialog
=
false
},
addCounter
()
{
this
.
$refs
.
addCounter
.
counterDialog
=
true
},
addCounterFinish
()
{
this
.
counterDialog
=
false
},
handleCurrentChange
(
val
)
{
this
.
page
.
currentPage
=
val
this
.
getListData
()
},
//搜索 根据搜索条件查询
handleSearch
(){
this
.
getListData
()
},
},
/* mounted() {
this.$nextTick(() => {
this.tableHeight = window.innerHeight - 120;
})
} */
}
</
script
>
<
style
lang=
"scss"
scoped
>
.main
{
position
:
relative
;
background-color
:
#fff
;
box-sizing
:
border-box
;
height
:
100%
;
padding
:
0px
16px
16px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
width
:
100%
;
box-shadow
:
0px
2px
4px
0px
#ddd
;
}
.searchs
{
height
:
40px
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
align-items
:
center
;
}
.buttons
{
width
:
266px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-start
;
}
.buttonlight
{
background-color
:
#e8e9fe
;
color
:
#4e59c7
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.btn
{
font-size
:
14px
;
// font-weight:bold;
color
:rgba
(
102
,
102
,
102
,
1
)
;
}
.buttondark
{
width
:
88px
;
height
:
32px
;
background-color
:
#4e59c7
;
color
:
#ffffff
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.searchzone
{
height
:
40px
;
width
:
auto
;
min-width
:
654px
;
text-align
:
right
;
}
.lists
{
height
:
auto
;
min-height
:
70%
;
width
:
100%
;
margin-top
:
20px
;
}
.listButtonRed
{
color
:
#D0021B
;
// font-weight: bold;
}
.pages
{
height
:
40px
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
align-items
:
center
;
}
.title
{
height
:
48px
;
line-height
:
48px
;
color
:rgba
(
56
,
56
,
56
,
1
)
;
border-bottom
:
1px
solid
#f8f8f8
;
margin-bottom
:
16px
;
}
</
style
>
ybf_admin/src/pages/in/contact/index.vue
View file @
f844f059
...
...
@@ -30,28 +30,16 @@
</div>
-->
<div
class=
"content"
>
<mail
v-if=
"index == '1' && isHistoryShow == false"
@
isShow=
"contorlHistoryShow"
></mail>
<counter
v-if=
"index == '2'"
></counter>
<store
v-if=
"index == '3'"
></store>
<org
v-if=
"index == '4'"
></org>
<history
v-if=
"isHistoryShow == true"
@
isShow=
"contorlHistoryShow"
></history>
<mail></mail>
</div>
</d2-container>
</
template
>
<
script
>
import
Mail
from
"./mail"
;
import
Store
from
"./store"
;
import
Org
from
"./org"
;
import
Counter
from
"./counter"
;
import
History
from
"./components/history"
;
export
default
{
components
:
{
Mail
,
Store
,
Org
,
Counter
,
History
Mail
},
data
()
{
return
{
...
...
ybf_admin/src/pages/in/contact/mail.vue
View file @
f844f059
...
...
@@ -24,6 +24,7 @@
default-expand-all
expand-on-click-node
@
node-click=
"handleTreeClick"
:highlight-current=
"true"
>
</el-tree>
</div>
...
...
@@ -167,8 +168,6 @@ export default {
addDialogShow
:
false
,
editDialogShow
:
false
,
deleteDialogShow
:
false
,
counterDialog
:
false
,
storeDialog
:
false
,
nameDialog
:
false
,
allNumber
:
""
,
wNumber
:
""
,
...
...
@@ -409,8 +408,15 @@ export default {
}
};
</
script
>
<
style
>
.el-tree--highlight-current
.el-tree-node.is-current
>
.el-tree-node__content
{
background-color
:
#d0d0d0
!important
;
}
</
style
>
<
style
scoped
>
.trees
>>>
.el-tree--highlight-current
.el-tree-node.is-current
>
.el-tree-node__content
{
background-color
:
#d0d0d0
!important
;
}
.lines
{
height
:
55px
;
align-items
:
center
;
...
...
ybf_admin/src/pages/in/contact/org.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"main"
>
<!-- 搜索区 -->
<div
class=
"searchs"
>
<div
class=
"buttons"
>
<el-button
class=
"button buttonlight"
size=
"small"
@
click=
"orgMainAdd"
>
添加组织
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
@
click=
"orgMainDels"
>
批量删除
</el-button>
</div>
<el-form
class=
"searchzone"
:inline=
"true"
:model=
"zdata.searchPost"
label-width=
"auto"
>
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"zdata.search.post.keyword"
style=
"width:160px"
:placeholder=
"zcache.search.keywordTip"
/>
</el-form-item>
<el-button
class=
"button buttondark"
size=
"small"
@
click=
"orgMainSearch"
style=
"margin-top:4px;"
>
搜索
</el-button>
</el-form>
</div>
<!-- 列表区 -->
<div
class=
"lists"
>
<el-table
stripe
class=
"list"
ref=
"multipleTable"
:data=
"zlist.org"
tooltip-effect=
"dark"
style=
"width: 100%"
height=
"calc(100vh - 312px)"
row-key=
"id"
:tree-props=
"
{children: 'children',hasChildren: 'hasChildren'}"
>
<el-table-column
prop=
"name"
label=
"名称"
align=
"left"
></el-table-column>
<el-table-column
prop=
"typeName"
label=
"类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"bossName"
label=
"主管"
align=
"center"
></el-table-column>
<el-table-column
prop=
"bossWxId"
label=
"主管微信ID"
align=
"center"
></el-table-column>
<el-table-column
prop=
"bossPhoneNum"
label=
"主管电话"
align=
"center"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"创建时间"
align=
"center"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"orgMainSee(scope.row.id)"
class=
"btn"
>
详情
</el-button>
<el-button
type=
"text"
@
click=
"orgMainEdit(scope.row.id)"
class=
"btn"
>
编辑
</el-button>
<el-button
type=
"text"
@
click=
"orgMainDel(scope.row.id)"
class=
"listButtonRed"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"pages"
>
<el-pagination
@
current-change=
"orgMainPageChange"
:current-page=
"zcache.page.nowPage"
:page-size=
"zcache.page.pageSize"
layout=
"total, prev, pager, next, jumper"
:total=
"zcache.page.allItem"
></el-pagination>
</div>
<!-- 对话框区 -->
<div
class=
"dialogs"
>
<el-dialog
title=
"新建组织"
:visible
.
sync=
"zcache.status.dialog.new"
width=
"65%"
:before-close=
"orgNewClose"
>
<div
class=
"dialogMain"
>
<el-form
:model=
"zdata.new.post"
label-width=
"auto"
ref=
"orgNewForm"
>
<el-form-item
label=
"名称:"
prop=
"name"
>
<el-input
size=
"small"
v-model=
"zdata.new.post.name"
style=
"width:240px;"
:placeholder=
"zcache.new.nameTip"
/>
</el-form-item>
<!-- <el-form-item label="类型:" prop="type">
<el-select
size="small"
v-model="zdata.new.post.typeId"
placeholder="请选择品牌类型"
style="width:240px"
>
<el-option
v-for="item in ztrans.orgType"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>-->
<!-- <el-form-item v-if="zdata.new.post.typeId == '2'" label="所属门店:" prop="type">
<el-select
size="small"
v-model="zdata.new.post.typeId"
placeholder="请选择品牌类型"
style="width:240px"
>
<el-option
v-for="item in ztrans.orgType"
:key="item.id"
:label="item.name"
:value="item.id"
></el-option>
</el-select>
</el-form-item>-->
<el-form-item
label=
"所属上级:"
prop=
"from"
>
<el-tree
:data=
"ztrans.org"
show-checkbox
default-expand-all
node-key=
"id"
:props=
"ztrans.new.from"
@
node-click=
"orgNewFromPick"
></el-tree>
</el-form-item>
<el-form-item
label=
"品牌负责人:"
prop=
"people"
></el-form-item>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"orgNewCancel"
>
取 消
</el-button>
<el-button
type=
"primary"
@
click=
"orgNewSubmit"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<
script
>
import
{}
from
"@api/in/org"
;
const
zlog
=
console
.
log
.
bind
(
console
);
export
default
{
components
:
{},
data
()
{
return
{
zcache
:
{
status
:
{
dialog
:
{
new
:
false
,
see
:
false
,
edit
:
false
}
},
search
:
{
keywordTip
:
"请输入关键词"
},
page
:
{
pageSize
:
10
,
allItem
:
9
,
nowPage
:
1
},
new
:
{
nameTip
:
"请输入名称"
}
},
ztrans
:
{
new
:
{
from
:
{
label
:
"name"
,
children
:
"children"
,
disabled
:
true
,
isLeaf
:
true
,
}
},
orgS
:
[
{
id
:
1001
,
name
:
'A'
,
children
:
[
{
id
:
2001
,
name
:
'A1'
,
}
]
}
],
org
:
[
{
id
:
"01000000"
,
name
:
"欧亚万豪购物中心"
,
typeId
:
""
,
typeName
:
"门店"
,
bossId
:
""
,
bossName
:
"Alice"
,
bossWxId
:
"WxAlice"
,
bossPhoneNum
:
"18800000001"
,
createTime
:
"2019/01/01"
,
children
:
[
{
id
:
"01010000"
,
name
:
"品牌店"
,
typeId
:
""
,
typeName
:
"商场"
,
bossId
:
""
,
bossName
:
"Bob"
,
bossWxId
:
"WxBob"
,
bossPhoneNum
:
"18800000002"
,
createTime
:
"2019/02/01"
,
children
:
[
{
id
:
"01010100"
,
name
:
"精品男装"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Clid"
,
bossWxId
:
"WxClid"
,
bossPhoneNum
:
"18800000003"
,
createTime
:
"2019/03/01"
,
children
:
[
{
id
:
"01010101"
,
name
:
"Asics"
,
typeId
:
""
,
typeName
:
"专柜"
,
bossId
:
""
,
bossName
:
"Dive"
,
bossWxId
:
"WxDive"
,
bossPhoneNum
:
"18800000004"
,
createTime
:
"2019/04/01"
},
{
id
:
"01010102"
,
name
:
"Adidas"
,
typeId
:
""
,
typeName
:
"专柜"
,
bossId
:
""
,
bossName
:
"Eva"
,
bossWxId
:
"WxEva"
,
bossPhoneNum
:
"18800000005"
,
createTime
:
"2019/04/02"
},
{
id
:
"01010103"
,
name
:
"Nike"
,
typeId
:
""
,
typeName
:
"专柜"
,
bossId
:
""
,
bossName
:
"Fox"
,
bossWxId
:
"WxFox"
,
bossPhoneNum
:
"18800000006"
,
createTime
:
"2019/04/03"
}
]
},
{
id
:
"01010200"
,
name
:
"精品女装"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Gome"
,
bossWxId
:
"WxGome"
,
bossPhoneNum
:
"18800000007"
,
createTime
:
"2019/03/02"
,
children
:
[]
},
{
id
:
"01010300"
,
name
:
"皮鞋柜组"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Hola"
,
bossWxId
:
"WxHola"
,
bossPhoneNum
:
"18800000008"
,
createTime
:
"2019/03/03"
,
children
:
[]
},
{
id
:
"01010400"
,
name
:
"护肤美颜"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Ink"
,
bossWxId
:
"WxInk"
,
bossPhoneNum
:
"18800000009"
,
createTime
:
"2019/03/04"
,
children
:
[]
}
]
}
]
}
],
orgType
:
[
{
id
:
"01"
,
name
:
"门店"
},
{
id
:
"02"
,
name
:
"商场"
},
{
id
:
"03"
,
name
:
"柜组"
},
{
id
:
"04"
,
name
:
"品牌店"
}
]
},
zdata
:
{
search
:
{
post
:
{
keyword
:
""
},
default
:
{
keyword
:
""
}
},
new
:
{
post
:
{
name
:
""
,
typeId
:
""
,
typeName
:
""
,
fromType1Id
:
""
,
formType1Name
:
""
,
fromType2Id
:
""
,
formType2Name
:
""
,
fromType3Id
:
""
,
formType3Name
:
""
,
fromType4Id
:
""
,
formType4Name
:
""
,
bossId
:
""
,
bossName
:
""
},
default
:
{
name
:
""
,
typeId
:
""
,
typeName
:
""
,
fromType1Id
:
""
,
formType1Name
:
""
,
fromType2Id
:
""
,
formType2Name
:
""
,
fromType3Id
:
""
,
formType3Name
:
""
,
fromType4Id
:
""
,
formType4Name
:
""
,
bossId
:
""
,
bossName
:
""
}
}
},
zlist
:
{
org
:
[
{
id
:
"01000000"
,
name
:
"欧亚万豪购物中心"
,
typeId
:
""
,
typeName
:
"门店"
,
bossId
:
""
,
bossName
:
"Alice"
,
bossWxId
:
"WxAlice"
,
bossPhoneNum
:
"18800000001"
,
createTime
:
"2019/01/01"
,
children
:
[
{
id
:
"01010000"
,
name
:
"品牌店"
,
typeId
:
""
,
typeName
:
"商场"
,
bossId
:
""
,
bossName
:
"Bob"
,
bossWxId
:
"WxBob"
,
bossPhoneNum
:
"18800000002"
,
createTime
:
"2019/02/01"
,
children
:
[
{
id
:
"01010100"
,
name
:
"精品男装"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Clid"
,
bossWxId
:
"WxClid"
,
bossPhoneNum
:
"18800000003"
,
createTime
:
"2019/03/01"
,
children
:
[
{
id
:
"01010101"
,
name
:
"Asics"
,
typeId
:
""
,
typeName
:
"专柜"
,
bossId
:
""
,
bossName
:
"Dive"
,
bossWxId
:
"WxDive"
,
bossPhoneNum
:
"18800000004"
,
createTime
:
"2019/04/01"
},
{
id
:
"01010102"
,
name
:
"Adidas"
,
typeId
:
""
,
typeName
:
"专柜"
,
bossId
:
""
,
bossName
:
"Eva"
,
bossWxId
:
"WxEva"
,
bossPhoneNum
:
"18800000005"
,
createTime
:
"2019/04/02"
},
{
id
:
"01010103"
,
name
:
"Nike"
,
typeId
:
""
,
typeName
:
"专柜"
,
bossId
:
""
,
bossName
:
"Fox"
,
bossWxId
:
"WxFox"
,
bossPhoneNum
:
"18800000006"
,
createTime
:
"2019/04/03"
}
]
},
{
id
:
"01010200"
,
name
:
"精品女装"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Gome"
,
bossWxId
:
"WxGome"
,
bossPhoneNum
:
"18800000007"
,
createTime
:
"2019/03/02"
,
children
:
[]
},
{
id
:
"01010300"
,
name
:
"皮鞋柜组"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Hola"
,
bossWxId
:
"WxHola"
,
bossPhoneNum
:
"18800000008"
,
createTime
:
"2019/03/03"
,
children
:
[]
},
{
id
:
"01010400"
,
name
:
"护肤美颜"
,
typeId
:
""
,
typeName
:
"柜组"
,
bossId
:
""
,
bossName
:
"Ink"
,
bossWxId
:
"WxInk"
,
bossPhoneNum
:
"18800000009"
,
createTime
:
"2019/03/04"
,
children
:
[]
}
]
}
]
}
]
}
};
},
watch
:
{},
created
()
{},
mounted
()
{},
methods
:
{
orgMainAdd
()
{},
orgMainDels
()
{},
orgMainSearch
()
{},
orgMainPageChange
()
{},
orgMainSee
(
inData
)
{
this
.
zcache
.
status
.
dialog
.
new
=
true
;
},
orgMainEdit
()
{},
orgMainDel
()
{},
orgNewClose
()
{
this
.
zcache
.
status
.
dialog
.
new
=
false
;
this
.
zdata
.
new
.
post
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
new
.
default
));
},
orgNewFromPick
()
{},
orgNewCancel
()
{
this
.
zcache
.
status
.
dialog
.
new
=
false
;
this
.
zdata
.
new
.
post
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
new
.
default
));
},
orgNewSubmit
()
{
this
.
zcache
.
status
.
dialog
.
new
=
false
;
this
.
zdata
.
new
.
post
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
new
.
default
));
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.btn
{
font-size
:
14px
;
font-weight
:
bold
;
color
:
rgba
(
102
,
102
,
102
,
1
);
}
.main
{
position
:
relative
;
background-color
:
#fff
;
box-sizing
:
border-box
;
height
:
100%
;
padding
:
0px
16px
16px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
width
:
100%
;
box-shadow
:
0px
2px
4px
0px
#ddd
;
}
.buttons
{
width
:
266px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-start
;
}
.buttonlight
{
background-color
:
#e8e9fe
;
color
:
#4e59c7
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.buttondark
{
width
:
88px
;
height
:
32px
;
background-color
:
#4e59c7
;
color
:
#ffffff
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.searchzone
{
height
:
40px
;
width
:
auto
;
min-width
:
654px
;
text-align
:
right
;
}
.lists
{
height
:
auto
;
min-height
:
70%
;
width
:
100%
;
margin-top
:
20px
;
}
.listButtonRed
{
color
:
#d0021b
;
font-weight
:
bold
;
}
.pages
{
height
:
40px
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
align-items
:
center
;
}
.title
{
height
:
48px
;
line-height
:
48px
;
color
:
rgba
(
56
,
56
,
56
,
1
);
border-bottom
:
1px
solid
#f8f8f8
;
margin-bottom
:
16px
;
}
</
style
>
ybf_admin/src/pages/in/contact/store.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"main"
>
<div
class=
"title"
>
全部品牌( 共
{{
zcache
.
page
.
allItem
}}
个 )
</div>
<!-- 搜索区 -->
<div
class=
"searchs"
>
<div
class=
"buttons"
>
<el-button
class=
"button buttonlight"
size=
"small"
@
click=
"addStore"
>
添加品牌
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
@
click=
"storeDelStoreArr"
>
批量删除
</el-button>
</div>
<el-form
class=
"searchzone"
:inline=
"true"
:model=
"data.search"
label-width=
"auto"
>
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"zdata.searchPost.keywords"
style=
"width:160px"
placeholder=
"请输入关键词"
/>
</el-form-item>
<el-button
class=
"button buttondark"
size=
"small"
@
click=
"storeSearch"
style=
"margin-top:4px;"
>
搜索
</el-button>
</el-form>
</div>
<!-- 列表区 -->
<div
class=
"lists"
>
<el-table
stripe
class=
"list"
ref=
"multipleTable"
:data=
"list.main"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"listPick"
height=
"calc(100vh - 360px)"
>
<el-table-column
type=
"selection"
width=
"60"
></el-table-column>
<el-table-column
prop=
"adminStall.name"
label=
"品牌名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"adminStall.type"
label=
"品牌类型"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"adminStall.principal"
label=
"品牌负责人"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"shopName"
label=
"所属柜组"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"adminStall.location"
label=
"位置"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"adminStall.signNum"
label=
"门牌号"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"storeGetStoreDetail(scope.row.adminStall.id)"
class=
"btn"
>
详情
</el-button>
<el-button
type=
"text"
@
click=
"storeEditStore(scope.row.adminStall.id)"
class=
"btn"
>
编辑
</el-button>
<el-button
type=
"text"
@
click=
"storeDelStore(scope.row.adminStall.id)"
class=
"listButtonRed"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"pages"
>
<el-pagination
@
current-change=
"storePageIndexChange"
:current-page=
"zcache.page.nowPage"
:page-size=
"zcache.page.pageSize"
layout=
"total, prev, pager, next, jumper"
:total=
"zcache.page.allItem"
></el-pagination>
</div>
<add-store
ref=
"addStore"
></add-store>
<store-detail
ref=
"storeDetail"
></store-detail>
<!-- 对话框区 -->
<div
class=
"ztask-dialogs"
>
<!-- New -->
<el-dialog
title=
"新建品牌"
:visible
.
sync=
"zcache.status.newDialog"
width=
"65%"
:before-close=
"dialogNewClose"
>
<div
class=
"dialogMain"
>
<!-- <el-form :model="zdata.post" label-width="auto" ref="addStore" :rules="zrule"> -->
<el-form
:model=
"zdata.newPost"
label-width=
"auto"
ref=
"newStore"
style=
"border: 0px solid red;"
>
<!-- <el-form :model="zdata.post" label-width="auto" ref="createForm" :rules="rules"> -->
<el-form-item
label=
"品牌名称:"
prop=
"storeName"
>
<el-input
size=
"small"
v-model=
"zdata.newPost.storeName"
style=
"width:240px;"
placeholder=
"请输入品牌名称"
/>
</el-form-item>
<el-form-item
label=
"品牌类型:"
prop=
"storeType"
>
<el-select
size=
"small"
v-model=
"zdata.newPost.storeTypeId"
placeholder=
"请选择品牌类型"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"品牌负责人:"
prop=
"people"
>
<el-select
size=
"small"
v-model=
"zdata.newPost.storeBossId"
placeholder=
"请选择品牌负责人"
style=
"width:240px"
@
change=
"ztestman"
>
<el-option
v-for=
"item in zlist.unGroupMan"
:key=
"item.id"
:label=
"item.userName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属柜组:"
prop=
"counter"
>
<el-select
size=
"small"
v-model=
"zdata.newPost.storeFromBarId"
placeholder=
"请选择所属柜组"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.bar"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门牌号:"
prop=
"number"
>
<el-input
size=
"small"
v-model=
"zdata.newPost.storeDoorCode"
style=
"width:240px"
placeholder=
"请输入门牌号"
/>
</el-form-item>
<el-form-item
label=
"位置:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"zdata.newPost.storeAddress"
style=
"width:240px"
placeholder=
"请输入位置"
/>
</el-form-item>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogNewCancel"
>
取 消
</el-button>
<!-- <el-button type="primary" @click="addStoreSubmit('createForm')" size="small">确 定</el-button> -->
<el-button
type=
"primary"
@
click=
"dialogNewSubmit"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
<!-- See -->
<el-dialog
title=
"品牌详情"
:visible
.
sync=
"zcache.status.seeDialog"
width=
"50%"
:before-close=
"dialogSeeClose"
>
<div
class=
"dialogMain"
>
<el-form
:model=
"zdata.see"
label-width=
"120px"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"品牌名称:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeName"
autocomplete=
"off"
placeholder=
"品牌名称缺失"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"品牌类型:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeType"
autocomplete=
"off"
placeholder=
"品牌类型为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"所属柜组:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeFromBar"
autocomplete=
"off"
placeholder=
"柜组信息未知"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"品牌负责人:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeBossName"
autocomplete=
"off"
placeholder=
"品牌负责人未知"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"门牌号:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeDoorId"
autocomplete=
"off"
placeholder=
"门牌号未知"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"位置:"
>
<el-input
:disabled=
"true"
v-model=
"zdata.see.storeAddress"
autocomplete=
"off"
placeholder=
"位置未知"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"店员:"
>
<el-table
class=
"list"
:data=
"zdata.see.storeManList"
tooltip-effect=
"dark"
>
<el-table-column
type=
"index"
width=
"50"
align=
"center"
></el-table-column>
<el-table-column
prop=
"userName"
label=
"品牌名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"userId"
label=
"品牌类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"mobile"
label=
"品牌类型"
align=
"center"
></el-table-column>
</el-table>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogSeeClose"
>
关 闭
</el-button>
<!-- <el-button size="small" type="primary" @click="dialogSeeSubmitSend('seeForm')">任务下发</el-button> -->
</span>
</el-dialog>
<!-- Edit -->
<el-dialog
title=
"编辑品牌"
:visible
.
sync=
"zcache.status.editDialog"
width=
"65%"
:before-close=
"dialogEditClose"
>
<div
class=
"dialogMain"
>
<!-- <el-form :model="zdata.post" label-width="auto" ref="addStore" :rules="zrule"> -->
<el-form
:model=
"zdata.editPost"
label-width=
"auto"
ref=
"editStore"
style=
"border: 0px solid red;"
>
<!-- <el-form :model="zdata.post" label-width="auto" ref="createForm" :rules="rules"> -->
<el-form-item
label=
"品牌名称:"
prop=
"storeName"
>
<el-input
size=
"small"
v-model=
"zdata.editPost.storeName"
style=
"width:240px;"
placeholder=
"请输入品牌名称"
/>
</el-form-item>
<el-form-item
label=
"品牌类型:"
prop=
"storeType"
>
<el-select
size=
"small"
v-model=
"zdata.editPost.storeTypeId"
placeholder=
"请选择品牌类型"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"品牌负责人:"
prop=
"people"
>
<el-select
size=
"small"
v-model=
"zdata.editPost.storeBossId"
placeholder=
"请选择品牌负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.unGroupMan"
:key=
"item.id"
:label=
"item.userName"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属柜组:"
prop=
"counter"
>
<el-select
size=
"small"
v-model=
"zdata.editPost.storeFromBarId"
placeholder=
"请选择所属柜组"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeFromBarId"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门牌号:"
prop=
"number"
>
<el-input
size=
"small"
v-model=
"zdata.editPost.storeDoorCode"
style=
"width:240px"
placeholder=
"请输入门牌号"
/>
</el-form-item>
<el-form-item
label=
"位置:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"zdata.editPost.storeAddress"
style=
"width:240px"
placeholder=
"请输入位置"
/>
</el-form-item>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogEditCancel"
>
取 消
</el-button>
<!-- <el-button type="primary" @click="addStoreSubmit('createForm')" size="small">确 定</el-button> -->
<el-button
type=
"primary"
@
click=
"dialogEditSubmit"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<
script
>
import
AddStore
from
"./components/addStore"
;
import
StoreDetail
from
"./components/storeDetail"
;
import
{
ApiStoreGetMainList
,
ApiStoreGetStoreDetail
,
ApiStoreDelStore
,
ApiStoreGetUnGroupManList
,
ApiStoreAddStore
,
ApiStoreEditStore
,
ApiStoreGetBarList
,
ApiStoreSearch
}
from
"@api/in/store"
;
import
axios
from
"axios"
;
const
zlog
=
console
.
log
.
bind
(
console
);
export
default
{
components
:
{
AddStore
,
StoreDetail
},
data
()
{
return
{
zcache
:
{
status
:
{
newDialog
:
false
,
seeDialog
:
false
,
editDialog
:
false
,
isSearch
:
false
},
page
:
{
allItem
:
0
,
pageSize
:
10
,
nowPage
:
1
}
},
zdata
:
{
searchPost
:
{
keywords
:
""
},
newPost
:
{
storeName
:
""
,
storeTypeId
:
""
,
storeBossId
:
""
,
storeFromBarId
:
""
,
storeDoorCode
:
""
,
storeAddress
:
""
},
newPostDefault
:
{
storeName
:
""
,
storeTypeId
:
""
,
storeBossId
:
""
,
storeFromBarId
:
""
,
storeDoorCode
:
""
,
storeAddress
:
""
},
see
:
{
storeName
:
"storeName"
,
storeType
:
"storeType"
,
storeFromBar
:
"storeFromBar"
,
storeBossName
:
"storeBossName"
,
storeDoorId
:
"storeDoorId"
,
storeAddress
:
"storeAddress"
,
storeManList
:
[
{
userName
:
"Alice"
,
userId
:
"wx0001"
,
mobile
:
"110"
},
{
userName
:
"Bob"
,
userId
:
"wx0002"
,
mobile
:
"120"
}
]
},
edit
:
{},
editPost
:
{
id
:
""
,
storeName
:
""
,
storeTypeId
:
""
,
storeBossId
:
""
,
storeFromBarId
:
""
,
storeDoorCode
:
""
,
storeAddress
:
""
},
editPostDefault
:
{
id
:
""
,
storeName
:
""
,
storeTypeId
:
""
,
storeBossId
:
""
,
storeFromBarId
:
""
,
storeDoorCode
:
""
,
storeAddress
:
""
}
},
zlist
:
{
listPick
:
[],
storeType
:
[
{
id
:
"0"
,
name
:
"普通"
},
{
id
:
"1"
,
name
:
"专柜"
}
],
storeBossId
:
[
{
id
:
"2001200138020920001"
,
name
:
"王月云"
},
{
id
:
"2001200138020930002"
,
name
:
"李强"
}
],
storeFromBarId
:
[
{
id
:
"2001201134572130000"
,
name
:
"柜组一号"
},
{
id
:
"2001201135500920000"
,
name
:
"柜组二号"
}
],
unGroupMan
:
[],
bar
:
[]
},
page
:
{
currentPage
:
1
,
size
:
20
,
total
:
100
},
list
:
{
testMain
:
[
{
id
:
"1001"
,
taskName
:
"2019年男装销售任务"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
taskContent
:
"任务内容任务内容任务内容..."
,
sendDate
:
"2019/02/08"
},
{
id
:
"1002"
,
taskName
:
"2019年男装销售任务"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
taskContent
:
"任务内容任务内容任务内容..."
,
sendDate
:
"2019/02/08"
},
{
id
:
"1003"
,
taskName
:
"2019年男装销售任务"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
taskContent
:
"任务内容任务内容任务内容..."
,
sendDate
:
"2019/02/08"
},
{
id
:
"1003"
,
taskName
:
"2019年男装销售任务"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
taskContent
:
"任务内容任务内容任务内容..."
,
sendDate
:
"2019/02/08"
},
{
id
:
"1003"
,
taskName
:
"2019年男装销售任务"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
taskContent
:
"任务内容任务内容任务内容..."
,
sendDate
:
"2019/02/08"
},
{
id
:
"1003"
,
taskName
:
"2019年男装销售任务"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
taskContent
:
"任务内容任务内容任务内容..."
,
sendDate
:
"2019/02/08"
},
{
id
:
"1003"
,
taskName
:
"2019年男装销售任务"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
taskContent
:
"任务内容任务内容任务内容..."
,
sendDate
:
"2019/02/08"
}
],
main
:
[],
man
:
[],
search
:
{
bar
:
[
{
id
:
"1"
,
name
:
"全部"
},
{
id
:
"2"
,
name
:
"测试"
}
],
taskType
:
[
{
id
:
"1"
,
name
:
"全部"
},
{
id
:
"2"
,
name
:
"测试"
}
]
},
listPick
:
[]
},
tableHeight
:
window
.
innerHeight
*
0.5
,
data
:
{
search
:
{
bar
:
""
,
taskType
:
""
,
date
:
""
,
keys
:
""
},
page
:
{
nowPageNum
:
4
}
},
msgId
:
""
,
detailDialog
:
false
};
},
watch
:
{
// addStoreDialog() {
addStoreDialog
()
{
// if ((this.$refs.addStore.addStoreDialog = false)) {
// this.storeGetMainList();
// }
},
""
:
{
handler
:
function
()
{},
deep
:
true
}
},
// created() {
// this.storeGetMainList();
// zlog('--->Created!')
// },
mounted
()
{
// this.storeGetMainList();
this
.
storeSearch
();
this
.
storeReadyBarList
()
this
.
storeGetUnGroupManList
();
},
methods
:
{
storeReadyBarList
(){
ApiStoreGetBarList
()
.
then
(
res
=>
{
this
.
zlist
.
bar
=
res
.
data
})
.
catch
(
err
=>
{
})
},
storeGetUnGroupManList
()
{
let
postData
=
{};
ApiStoreGetUnGroupManList
(
postData
)
.
then
(
res
=>
{
this
.
zlist
.
unGroupMan
=
res
.
data
;
})
.
catch
(
err
=>
{});
},
storeGetBarList
()
{},
matchManIdAndManName
(
inId
)
{
let
manList
=
this
.
list
.
man
;
let
manName
=
"未知"
;
for
(
let
i
=
0
;
i
<
this
.
list
.
man
.
length
;
i
++
)
{
let
item
=
manList
[
i
];
if
(
item
!=
null
&&
item
.
id
!=
null
)
{
if
(
item
.
id
==
inId
)
{
manName
=
item
.
userName
;
}
}
}
return
manName
;
},
transManIdToManName
()
{
let
mainList
=
this
.
list
.
main
;
let
id
=
""
;
let
name
=
""
;
for
(
let
i
=
0
;
i
<
mainList
.
length
;
i
++
)
{
if
(
this
.
list
.
main
[
i
].
adminStall
.
principal
&&
this
.
list
.
main
[
i
].
adminStall
.
principal
!=
null
)
{
id
=
this
.
list
.
main
[
i
].
adminStall
.
principal
;
name
=
this
.
matchManIdAndManName
(
id
);
this
.
list
.
main
[
i
].
adminStall
.
principal
=
name
;
}
else
{
this
.
list
.
main
[
i
].
adminStall
.
principal
=
"未知"
;
}
}
},
storeSearch
()
{
if
(
this
.
zdata
.
searchPost
.
keywords
==
""
)
{
this
.
zcache
.
status
.
isSearch
=
false
;
this
.
zcache
.
page
.
nowPage
=
1
;
this
.
storeGetMainList
();
}
else
{
this
.
zcache
.
status
.
isSearch
=
true
;
let
postData
=
{
keyWords
:
this
.
zdata
.
searchPost
.
keywords
,
pageNum
:
1
};
ApiStoreSearch
(
postData
)
.
then
(
res
=>
{
// let result = [];
// result.push(res.data.stallInfo);
// this.list.main = result;
// this.list.main = res.data.list;
this
.
list
.
main
=
res
.
data
.
pageInfo_adminStalls
.
list
;
this
.
zcache
.
page
.
allItem
=
Number
(
res
.
data
.
pageInfo_adminStalls
.
total
);
this
.
zcache
.
page
.
pageSize
=
res
.
data
.
pageInfo_adminStalls
.
pageSize
;
this
.
zcache
.
page
.
nowPage
=
res
.
data
.
pageInfo_adminStalls
.
pageNum
;
})
.
catch
(
err
=>
{});
}
},
storeGetMainList
()
{
// zlog("--->In Get API!");
let
postData
=
{
pageNum
:
this
.
zcache
.
page
.
nowPage
};
ApiStoreGetMainList
(
postData
).
then
(
res
=>
{
// this.list.main = res.data.pageInfo_adminStalls.list[0];
// this.list.man = res.data.pageInfo_principals.list[0];
this
.
list
.
main
=
res
.
data
.
pageInfo_adminStalls
.
list
;
this
.
list
.
man
=
res
.
data
.
adminStall_principals
;
this
.
transManIdToManName
();
this
.
zcache
.
page
.
allItem
=
Number
(
res
.
data
.
pageInfo_adminStalls
.
total
);
this
.
zcache
.
page
.
pageSize
=
res
.
data
.
pageInfo_adminStalls
.
pageSize
;
this
.
zcache
.
page
.
nowPage
=
res
.
data
.
pageInfo_adminStalls
.
pageNum
;
});
},
storePageIndexChange
(
inData
)
{
console
.
log
(
"--->page: inData ="
,
inData
);
this
.
zcache
.
page
.
nowPage
=
inData
;
if
(
this
.
zcache
.
status
.
isSearch
)
{
let
postData
=
{
keyWords
:
this
.
zdata
.
searchPost
.
keywords
,
pageNum
:
inData
};
ApiStoreSearch
(
postData
)
.
then
(
res
=>
{
// let result = [];
// result.push(res.data.stallInfo);
// this.list.main = result;
// this.list.main = res.data.list;
this
.
list
.
main
=
res
.
data
.
pageInfo_adminStalls
.
list
;
this
.
zcache
.
page
.
allItem
=
Number
(
res
.
data
.
pageInfo_adminStalls
.
total
);
this
.
zcache
.
page
.
pageSize
=
res
.
data
.
pageInfo_adminStalls
.
pageSize
;
this
.
zcache
.
page
.
nowPage
=
res
.
data
.
pageInfo_adminStalls
.
pageNum
;
})
.
catch
(
err
=>
{});
}
else
{
this
.
zcache
.
page
.
nowPage
=
inData
;
this
.
storeGetMainList
();
}
},
storeGetStoreDetail
(
inData
)
{
let
postData
=
{
isDetail
:
true
,
stallId
:
inData
};
ApiStoreGetStoreDetail
(
postData
)
.
then
(
res
=>
{
this
.
zdata
.
see
.
storeName
=
res
.
data
.
adminStall
.
name
;
this
.
zdata
.
see
.
storeType
=
res
.
data
.
adminStall
.
type
;
// this.zdata.see.storeFromBar = res.data.adminStall.shopId;
this
.
zdata
.
see
.
storeFromBar
=
res
.
data
.
shopName
;
this
.
zdata
.
see
.
storeBossName
=
res
.
data
.
principal
.
userName
;
this
.
zdata
.
see
.
storeDoorId
=
res
.
data
.
adminStall
.
signNum
;
this
.
zdata
.
see
.
storeAddress
=
res
.
data
.
adminStall
.
location
;
this
.
zdata
.
see
.
storeManList
=
res
.
data
.
clerks_unselected
;
})
.
catch
(
err
=>
{});
this
.
zcache
.
status
.
seeDialog
=
true
;
},
storeEditStore
(
inData
)
{
this
.
storeGetUnGroupManList
();
this
.
zdata
.
editPost
.
id
=
Number
(
inData
);
let
postData
=
{
isDetail
:
true
,
stallId
:
inData
};
ApiStoreGetStoreDetail
(
postData
)
.
then
(
res
=>
{
this
.
zdata
.
edit
=
res
;
let
timeStoreTypeId
=
""
;
if
(
res
.
data
.
adminStall
.
type
==
"普通"
)
{
timeStoreTypeId
=
"0"
;
}
else
{
timeStoreTypeId
=
"1"
;
}
this
.
zdata
.
editPost
.
storeName
=
res
.
data
.
adminStall
.
name
;
this
.
zdata
.
editPost
.
storeTypeId
=
timeStoreTypeId
;
this
.
zdata
.
editPost
.
storeBossId
=
res
.
data
.
adminStall
.
principal
;
this
.
zdata
.
editPost
.
storeFromBarId
=
res
.
data
.
adminStall
.
shopId
;
this
.
zdata
.
editPost
.
storeDoorCode
=
res
.
data
.
adminStall
.
signNum
;
this
.
zdata
.
editPost
.
storeAddress
=
res
.
data
.
adminStall
.
location
;
})
.
catch
(
err
=>
{});
this
.
zcache
.
status
.
editDialog
=
true
;
},
storeDelStore
(
inData
)
{
let
delArr
=
[];
delArr
.
push
(
String
(
inData
));
let
postData
=
{
stallIds
:
delArr
};
ApiStoreDelStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"删除成功"
,
type
:
"success"
});
this
.
storeGetMainList
();
}
else
{
this
.
$message
({
message
:
"删除失败!"
,
type
:
"error"
});
}
})
.
catch
(
err
=>
{
this
.
$message
({
message
:
"删除失败!"
,
type
:
"error"
});
});
},
listPick
(
inData
)
{
this
.
zlist
.
listPick
=
inData
;
},
storeDelStoreArr
()
{
let
delArr
=
this
.
zlist
.
listPick
;
let
delIdsArr
=
[];
for
(
let
i
=
0
;
i
<
delArr
.
length
;
i
++
)
{
delIdsArr
.
push
(
String
(
delArr
[
i
].
id
));
}
let
postData
=
{
stallIds
:
delIdsArr
};
ApiStoreDelStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"删除成功"
,
type
:
"success"
});
this
.
storeGetMainList
();
}
else
{
this
.
$message
({
message
:
"删除失败!"
,
type
:
"error"
});
}
})
.
catch
(
err
=>
{
this
.
$message
({
message
:
"删除失败!"
,
type
:
"error"
});
});
},
ztestman
(
inData
){
console
.
log
(
'--->ManList ='
,
this
.
zlist
.
unGroupMan
)
console
.
log
(
'--->PickId ='
,
inData
,
' type ='
,
typeof
(
inData
))
// this.zdata.newPost.storeBossId = Number(inData)
},
dialogNewClose
()
{
this
.
zcache
.
status
.
newDialog
=
false
;
this
.
zdata
.
newPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
newPostDefault
)
);
},
dialogNewCancel
()
{
this
.
zcache
.
status
.
newDialog
=
false
;
this
.
zdata
.
newPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
newPostDefault
)
);
},
dialogNewSubmit
()
{
// console.log('--->PostId =', this.zdata.newPost.storeBossId * 1)
let
postData
=
{
name
:
this
.
zdata
.
newPost
.
storeName
,
// stallType: Number(this.zdata.newPost.storeTypeId),
stallType
:
this
.
zdata
.
newPost
.
storeTypeId
,
principal
:
this
.
zdata
.
newPost
.
storeBossId
,
shopId
:
this
.
zdata
.
newPost
.
storeFromBarId
,
signNum
:
this
.
zdata
.
newPost
.
storeDoorCode
,
location
:
this
.
zdata
.
newPost
.
storeAddress
};
console
.
log
(
"--->postData ="
,
postData
);
ApiStoreAddStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"添加成功"
,
type
:
"success"
});
this
.
zcache
.
status
.
newDialog
=
false
;
this
.
zdata
.
newPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
newPostDefault
)
);
this
.
storeSearch
();
}
})
.
catch
(
err
=>
{});
},
dialogEditClose
()
{
this
.
zcache
.
status
.
editDialog
=
false
;
this
.
zdata
.
editPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
editPostDefault
)
);
},
dialogEditCancel
()
{
this
.
zcache
.
status
.
editDialog
=
false
;
this
.
zdata
.
editPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
editPostDefault
)
);
},
dialogEditSubmit
()
{
let
postData
=
{
stallId
:
Number
(
this
.
zdata
.
editPost
.
id
),
name
:
this
.
zdata
.
editPost
.
storeName
,
type
:
String
(
this
.
zdata
.
editPost
.
storeTypeId
),
principal
:
Number
(
this
.
zdata
.
editPost
.
storeBossId
),
shopId
:
Number
(
this
.
zdata
.
editPost
.
storeFromBarId
),
signNum
:
String
(
this
.
zdata
.
editPost
.
storeDoorCode
),
location
:
this
.
zdata
.
editPost
.
storeAddress
};
ApiStoreEditStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"编辑成功"
,
type
:
"success"
});
this
.
zdata
.
editPost
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
zdata
.
editPostDefault
)
);
this
.
zcache
.
status
.
editDialog
=
false
;
this
.
storeGetMainList
();
}
else
{
this
.
$message
({
message
:
"编辑失败!"
,
type
:
"error"
});
}
})
.
catch
(
err
=>
{
this
.
$message
({
message
:
"编辑失败!"
,
type
:
"error"
});
});
},
testButtonClick
()
{},
pagesSizeChange
()
{},
pagesNowPageChange
()
{},
setListsHeadStyle
({
row
,
column
,
rowIndex
,
columnIndex
})
{
if
(
rowIndex
===
0
)
{
return
"background-color: #0B0F32; border-right: 1px solid white;color: white;"
;
}
else
{
return
""
;
}
},
addStore
()
{
// this.$refs.addStore.addStoreDialog = true;
this
.
zcache
.
status
.
newDialog
=
true
;
},
handleDetail
()
{
this
.
$refs
.
storeDetail
.
detailDialog
=
true
;
},
handleCurrentChange
(
val
)
{
console
.
log
(
`当前页:
${
val
}
`
);
},
dialogSeeClose
()
{
this
.
zcache
.
status
.
seeDialog
=
false
;
}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.btn
{
font-size
:
14px
;
font-weight
:
bold
;
color
:
rgba
(
102
,
102
,
102
,
1
);
}
.main
{
position
:
relative
;
background-color
:
#fff
;
box-sizing
:
border-box
;
height
:
100%
;
padding
:
0px
16px
16px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
width
:
100%
;
box-shadow
:
0px
2px
4px
0px
#ddd
;
}
.buttons
{
width
:
266px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-start
;
}
.buttonlight
{
background-color
:
#e8e9fe
;
color
:
#4e59c7
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.buttondark
{
width
:
88px
;
height
:
32px
;
background-color
:
#4e59c7
;
color
:
#ffffff
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.searchzone
{
height
:
40px
;
width
:
auto
;
min-width
:
654px
;
text-align
:
right
;
}
.lists
{
height
:
auto
;
min-height
:
70%
;
width
:
100%
;
margin-top
:
20px
;
}
.listButtonRed
{
color
:
#d0021b
;
font-weight
:
bold
;
}
.pages
{
height
:
40px
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
align-items
:
center
;
}
.title
{
height
:
48px
;
line-height
:
48px
;
color
:
rgba
(
56
,
56
,
56
,
1
);
border-bottom
:
1px
solid
#f8f8f8
;
margin-bottom
:
16px
;
}
</
style
>
ybf_admin/src/pages/task/bar/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ztask-bars"
>
<div
class=
"ztask-searchs"
>
<div
class=
"ztask-searchs-items"
>
<el-button
size=
"small"
@
click=
"searchsCreate"
>
创建任务
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"searchsSend"
>
发布任务
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"searchsDels"
>
批量删除
</el-button>
</div>
<div
class=
"ztask-searchs-items"
>
<el-form
class=
"ztask-searchs-forms"
:inline=
"true"
:model=
"data.search"
label-width=
"auto"
>
<el-form-item
label=
"柜组"
>
<el-select
size=
"small"
v-model=
"data.search.bar"
placeholder=
"请选择柜组"
style=
"width:160px;"
>
<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-form-item
label=
"任务类型"
>
<el-select
size=
"small"
v-model=
"data.search.taskType"
placeholder=
"请选择任务类型"
style=
"width:160px;"
>
<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-form-item
label=
"日期"
>
<el-date-picker
size=
"small"
v-model=
"data.search.taskDate"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width:200px;"
></el-date-picker>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
size=
"small"
v-model=
"data.search.status"
placeholder=
"请选择状态"
style=
"width:160px;"
>
<el-option
v-for=
"item in cache.list.status"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"data.search.keys"
style=
"width:160px"
placeholder=
"请输入关键词"
/>
</el-form-item>
</el-form>
<el-button
type=
"primary"
size=
"small"
@
click=
"searchsSearch"
>
搜 索
</el-button>
</div>
</div>
<div
class=
"ztask-lists"
>
<el-table
stripe
ref=
"multipleTable"
:data=
"list.main"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"listsSelectChange"
>
<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=
"taskType"
label=
"任务类型"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"bar"
label=
"柜组"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"createTime"
label=
"创建日期"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"taskDate"
label=
"任务期限"
align=
"center"
width=
"200"
></el-table-column>
<el-table-column
prop=
"taskDetail"
label=
"任务详情"
align=
"center"
style=
"min-width: 200px;"
></el-table-column>
<el-table-column
label=
"状态"
align=
"center"
width=
"160"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
taskStatus
===
'send'
?
'已发布'
:
'未发布'
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"240"
>
<
template
slot-scope=
"scope"
>
<!--
<el-button
v-if=
"scope.row.taskStatus === 'Top'"
class=
"buttonTextNormal"
type=
"text"
@
click=
"listsUntopClick(scope.row.id)"
>
已置顶
</el-button>
<el-button
v-if=
"scope.row.taskStatus !== 'Top'"
class=
"buttonTextNormal"
type=
"text"
@
click=
"listsTopClick(scope.row.id)"
>
置顶
</el-button>
-->
<el-button
class=
"buttonTextNormal"
type=
"text"
@
click=
"listsSeeClick(scope.row.id)"
>
详情
</el-button>
<el-button
class=
"buttonTextNormal"
type=
"text"
@
click=
"listsEditClick(scope.row.id)"
>
编辑
</el-button>
<el-button
class=
"buttonTextWarning"
type=
"text"
@
click=
"listsDelClick(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"ztask-pages"
>
<el-pagination
class=
"ztask-page"
@
size-change=
"pagesSizeChange"
@
current-change=
"pagesNowPageChange"
:current-page=
"data.page.nowPageNum"
:page-sizes=
"[100, 200, 300, 400]"
:page-size=
"100"
layout=
"prev, pager, next, sizes, jumper"
:total=
"400"
></el-pagination>
</div>
<div
class=
"ztask-dialogs"
>
<el-dialog
title=
"创建任务"
:visible
.
sync=
"cache.status.createDialog"
width=
"40%"
:before-close=
"dialogCreateBeforeClose"
>
<div
class=
"dialogMain"
>
<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-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-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务详情:"
prop=
"taskDetail"
>
<el-input
type=
"textarea"
:rows=
"5"
placeholder=
"请输入任务详情"
v-model=
"data.create.taskDetail"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogCreateCancel"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogCreateSubmit('createForm')"
>
保 存
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogCreateSubmitSend('createForm')"
>
保存并发布
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"任务详情"
:visible
.
sync=
"cache.status.seeDialog"
width=
"50%"
:before-close=
"dialogSeeBeforeClose"
>
<div
class=
"dialogMain"
>
<el-form
:model=
"data.see"
:rules=
"rule.see"
label-width=
"120px"
ref=
"seeForm"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务名称:"
prop=
"taskName"
>
<el-input
:disabled=
"true"
v-model=
"data.see.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-input
:disabled=
"true"
v-model=
"data.see.taskType"
autocomplete=
"off"
placeholder=
"任务类型为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"柜组:"
prop=
"bar"
>
<el-input
:disabled=
"true"
v-model=
"data.see.bar"
autocomplete=
"off"
placeholder=
"柜组为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"发布日期:"
prop=
"createTime"
>
<el-input
:disabled=
"true"
v-model=
"data.see.createTime"
autocomplete=
"off"
placeholder=
"发布日期为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务期限:"
prop=
"taskTime"
>
<el-input
:disabled=
"true"
v-model=
"data.see.taskTime"
autocomplete=
"off"
placeholder=
"任务期限为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"状态:"
prop=
"taskStatus"
>
<el-input
:disabled=
"true"
v-model=
"data.see.taskStatus"
autocomplete=
"off"
placeholder=
"任务状态为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务详情:"
prop=
"taskDetail"
>
<el-input
:disabled=
"true"
type=
"textarea"
:rows=
"5"
placeholder=
"任务详情为空"
v-model=
"data.see.taskDetail"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogSeeCancel"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogSeeSubmitSend('seeForm')"
>
任务下发
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<
script
>
import
{
ApiContactSync
}
from
"@api/task/bar"
;
import
md5
from
"js-md5"
;
export
default
{
components
:
{},
data
()
{
return
{
cache
:
{
status
:
{
createDialog
:
false
,
seeDialog
:
false
},
list
:
{
bar
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"柜组1"
}
],
taskType
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"测试"
}
],
status
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"已发布"
}
]
}
},
list
:
{
main
:
[
{
id
:
"1001"
,
taskName
:
"TaskComAlice"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComAliceDetail"
,
taskStatus
:
"send"
},
{
id
:
"1002"
,
taskName
:
"TaskComBob"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComBobDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1003"
,
taskName
:
"TaskComClid"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComClidDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1004"
,
taskName
:
"TaskComDive"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComDiveDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1005"
,
taskName
:
"TaskComEmma"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComEmmaDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1006"
,
taskName
:
"TaskComFaker"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComFakerDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1007"
,
taskName
:
"TaskComGlass"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComGlassDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1008"
,
taskName
:
"TaskComHardy"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComHardyDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1009"
,
taskName
:
"TaskComIda"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComIdaDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1010"
,
taskName
:
"TaskComJoke"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComJokeDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1011"
,
taskName
:
"TaskComKey"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComKeyDetail"
,
taskStatus
:
"nosend"
},
{
id
:
"1012"
,
taskName
:
"TaskComLux"
,
taskType
:
"拉新"
,
bar
:
"男装"
,
createTime
:
"2020-01-01"
,
taskDate
:
"2020-01-01 至 2020-01-01"
,
taskDetail
:
"TaskComLuxDetail"
,
taskStatus
:
"nosend"
}
]
},
data
:
{
search
:
{
bar
:
""
,
taskType
:
""
,
taskDate
:
""
,
status
:
""
,
keys
:
""
},
page
:
{
nowPageNum
:
1
},
create
:
{
taskName
:
""
,
taskType
:
""
,
bar
:
""
,
taskTime
:
""
,
taskDetail
:
""
},
createDefault
:
{
taskName
:
""
,
taskType
:
""
,
bar
:
""
,
taskTime
:
""
,
taskDetail
:
""
},
see
:
{
taskName
:
"taskName"
,
taskType
:
"taskType"
,
bar
:
"bar"
,
createTime
:
"2020-01-01"
,
taskTime
:
"2020-01-05"
+
" 至 "
+
"2020-01-10"
,
taskStatus
:
"已发布"
,
taskDetail
:
"taskDetail"
},
seeDefault
:
{
taskName
:
""
,
taskType
:
""
,
bar
:
""
,
createTime
:
""
,
taskTime
:
""
,
taskStatus
:
""
,
taskDetail
:
""
}
},
rule
:
{
create
:
{
taskName
:
[
{
required
:
true
,
message
:
"任务名称不能为空"
,
trigger
:
"change"
}
],
taskType
:
[
{
required
:
true
,
message
:
"任务类型不能为空"
,
trigger
:
"change"
}
],
bar
:
[{
required
:
true
,
message
:
"柜组不能为空"
,
trigger
:
"change"
}],
taskTime
:
[
{
required
:
true
,
message
:
"任务周期不能为空"
,
trigger
:
"change"
}
],
taskDetail
:
[
{
required
:
true
,
message
:
"任务详情不能为空"
,
trigger
:
"change"
}
]
},
see
:
{}
}
};
},
created
()
{},
methods
:
{
searchsCreate
()
{
this
.
cache
.
status
.
createDialog
=
true
;
},
searchsSend
()
{},
searchsDels
()
{
ApiContactSync
().
then
(
res
=>
{});
},
searchsSearch
()
{},
listsSelectChange
()
{},
listsUntopClick
()
{},
listsTopClick
()
{},
listsSeeClick
(
inData
)
{
this
.
cache
.
status
.
seeDialog
=
true
;
},
listsEditClick
()
{
this
.
cache
.
status
.
createDialog
=
true
;
this
.
data
.
create
=
{
taskName
:
"change"
,
taskType
:
"taskType"
,
bar
:
"bar"
,
taskTime
:
""
,
taskDetail
:
""
};
},
listsDelClick
()
{},
pagesSizeChange
()
{},
pagesNowPageChange
()
{},
dialogCreateTaskTypeChange
()
{},
dialogCreateBarChange
()
{},
dialogCreateBeforeClose
()
{
this
.
cache
.
status
.
createDialog
=
false
;
},
dialogCreateCancel
()
{
this
.
data
.
create
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
data
.
createDefault
));
this
.
cache
.
status
.
createDialog
=
false
;
},
dialogCreateSubmit
(
inForm
)
{
this
.
$refs
[
inForm
].
validate
(
valid
=>
{
if
(
valid
)
{
}
else
{
return
false
;
}
});
},
dialogCreateSubmitSend
()
{
this
.
$refs
[
inForm
].
validate
(
valid
=>
{
if
(
valid
)
{
}
else
{
return
false
;
}
});
},
dialogSeeBeforeClose
()
{
this
.
cache
.
status
.
seeDialog
=
false
;
},
dialogSeeCancel
()
{
this
.
data
.
see
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
data
.
seeDefault
));
this
.
cache
.
status
.
seeDialog
=
false
;
},
dialogSeeSubmitSend
()
{}
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.ztask-bars
{
/*border: 2px solid cyan;*/
height
:
calc
((
100vh
-
220px
)
*
1
);
}
.ztask-searchs
{
/*border: 2px solid #0ea4c5;*/
height
:
70px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
}
.ztask-searchs-items
{
/*border: 2px solid #00c561;*/
margin
:
17px
0px
20px
0px
;
width
:
auto
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-start
;
align-items
:
center
;
}
.ztask-searchs-forms
{
/*border: 2px solid #f900ff;*/
height
:
30px
;
margin-bottom
:
10px
;
}
.ztask-lists
{
/*border: 2px solid #0dc50e;*/
height
:
calc
((
100vh
-
338px
)
*
1
);
overflow
:
auto
;
}
.ztask-pages
{
/*border: 2px solid red;*/
/*height: 56px;*/
height
:
42px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
align-items
:
flex-end
;
}
.ztask-page
{
/*border: 2px solid red;*/
position
:
relative
;
margin-right
:
0
;
}
.buttonTextNormal
{
color
:
#666666
;
}
.buttonTextWarning
{
color
:
#d0021b
;
}
</
style
>
ybf_admin/src/pages/task/com/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ztask-coms"
>
<div
class=
"ztask-searchs"
>
<div
class=
"ztask-searchs-items"
>
<el-button
size=
"small"
@
click=
"searchsCreate"
>
创建任务
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"searchsDels"
>
批量删除
</el-button>
</div>
<div
class=
"ztask-searchs-items"
>
<el-form
class=
"ztask-searchs-forms"
:inline=
"true"
:model=
"data.search"
label-width=
"auto"
>
<el-form-item
label=
"柜组"
>
<el-select
size=
"small"
v-model=
"data.search.bar"
placeholder=
"请选择柜组"
style=
"width:160px;"
>
<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-form-item
label=
"任务类型"
>
<el-select
size=
"small"
v-model=
"data.search.taskType"
placeholder=
"请选择任务类型"
style=
"width:160px;"
>
<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-form-item
label=
"日期"
>
<el-date-picker
size=
"small"
v-model=
"data.search.taskDate"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width:200px;"
>
</el-date-picker>
</el-form-item>
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"data.search.keys"
style=
"width:160px"
placeholder=
"请输入关键词"
/>
</el-form-item>
</el-form>
<el-button
type=
"primary"
size=
"small"
@
click=
"searchsSearch"
>
搜 索
</el-button>
</div>
</div>
<div
class=
"ztask-lists"
>
<el-table
stripe
ref=
"multipleTable"
:data=
"list.main"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"listsSelectChange"
>
<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=
"taskDetail"
label=
"任务内容"
align=
"center"
></el-table-column>
<el-table-column
label=
"创建日期"
align=
"center"
width=
"160"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
createTime
}}
</
template
>
</el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"240"
>
<
template
slot-scope=
"scope"
>
<el-button
v-if=
"scope.row.taskStatus === 'Top'"
class=
"buttonTextNormal"
type=
"text"
@
click=
"listsUntopClick(scope.row.id)"
>
已置顶
</el-button>
<el-button
v-if=
"scope.row.taskStatus !== 'Top'"
class=
"buttonTextNormal"
type=
"text"
@
click=
"listsTopClick(scope.row.id)"
>
置顶
</el-button>
<el-button
type=
"text"
class=
"buttonTextNormal"
@
click=
"listsSeeClick(scope.row.id)"
>
详情
</el-button>
<el-button
type=
"text"
class=
"buttonTextNormal"
@
click=
"listsEditClick(scope.row.id)"
>
编辑
</el-button>
<el-button
type=
"text"
class=
"buttonTextWarning"
@
click=
"listsDelClick(scope.row)"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"ztask-pages"
>
<el-pagination
class=
"ztask-page"
@
size-change=
"pagesSizeChange"
@
current-change=
"pagesNowPageChange"
:current-page=
"data.page.nowPageNum"
:page-sizes=
"[100, 200, 300, 400]"
:page-size=
"100"
layout=
"prev, pager, next, sizes, jumper"
:total=
"400"
></el-pagination>
</div>
<div
class=
"ztask-dialogs"
>
<el-dialog
title=
"创建集团任务"
:visible
.
sync=
"cache.status.createDialog"
width=
"40%"
:before-close=
"dialogCreateBeforeClose"
>
<div
class=
"dialogMain"
>
<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=
"author"
>
<el-select
v-model=
"data.create.author"
placeholder=
"请选择作者"
@
change=
"dialogCreateAuthorChange"
style=
"width:100%;"
>
<el-option
v-for=
"item in list.man"
: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=
"taskDetail"
>
<el-input
type=
"textarea"
:rows=
"5"
placeholder=
"请输入任务详情"
v-model=
"data.create.taskDetail"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogCreateCancel"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogCreateSubmitSend('createForm')"
>
保存并发布
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"查看集团任务"
:visible
.
sync=
"cache.status.seeDialog"
width=
"60%"
:before-close=
"dialogSeeBeforeClose"
>
<div
class=
"dialogMain"
>
<el-form
:model=
"data.see"
:rules=
"rule.see"
label-width=
"120px"
ref=
"seeForm"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务标题:"
prop=
"taskName"
>
<el-input
:disabled=
"true"
v-model=
"data.see.taskName"
autocomplete=
"off"
placeholder=
"任务标题为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"作者:"
prop=
"author"
>
<el-input
:disabled=
"true"
v-model=
"data.see.authore"
autocomplete=
"off"
placeholder=
"作者为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务详情:"
prop=
"taskDetail"
>
<el-input
:disabled=
"true"
type=
"textarea"
:rows=
"5"
placeholder=
"任务详情为空"
v-model=
"data.see.taskDetail"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogSeeCancel"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogSeeSubmitSend('createForm')"
>
发 布
</el-button>
</span>
</el-dialog>
</div>
</div>
</template>
<
script
>
export
default
{
components
:
{},
data
()
{
return
{
cache
:
{
status
:
{
createDialog
:
false
,
seeDialog
:
false
},
list
:
{
bar
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"柜组1"
}
],
taskType
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"测试"
}
],
status
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"已发布"
}
],
}
},
list
:
{
main
:
[
{
id
:
'1001'
,
taskName
:
'TaskComAlice'
,
taskDetail
:
'TaskComAliceDetail'
,
createTime
:
'2020-01-01 01:01:00'
,
taskStatus
:
'Top'
},
{
id
:
'1002'
,
taskName
:
'TaskComBob'
,
taskDetail
:
'TaskComBobDetail'
,
createTime
:
'2020-01-02 02:02:00'
,
taskStatus
:
''
},
{
id
:
'1003'
,
taskName
:
'TaskComClid'
,
taskDetail
:
'TaskComClidDetail'
,
createTime
:
'2020-01-03 03:03:00'
,
taskStatus
:
''
},
{
id
:
'1004'
,
taskName
:
'TaskComDive'
,
taskDetail
:
'TaskComDiveDetail'
,
createTime
:
'2020-01-04 04:04:00'
,
taskStatus
:
''
},
{
id
:
'1005'
,
taskName
:
'TaskComEmma'
,
taskDetail
:
'TaskComEmmaDetail'
,
createTime
:
'2020-01-05 05:05:00'
,
taskStatus
:
''
},
{
id
:
'1006'
,
taskName
:
'TaskComFaker'
,
taskDetail
:
'TaskComFakerDetail'
,
createTime
:
'2020-01-06 06:06:00'
,
taskStatus
:
''
},
{
id
:
'1007'
,
taskName
:
'TaskComGlass'
,
taskDetail
:
'TaskComGlassDetail'
,
createTime
:
'2020-01-07 07:07:00'
,
taskStatus
:
''
},
{
id
:
'1008'
,
taskName
:
'TaskComHardy'
,
taskDetail
:
'TaskComHardyDetail'
,
createTime
:
'2020-01-08 08:08:00'
,
taskStatus
:
''
},
{
id
:
'1009'
,
taskName
:
'TaskComIda'
,
taskDetail
:
'TaskComIdaDetail'
,
createTime
:
'2020-01-09 09:09:00'
,
taskStatus
:
''
},
{
id
:
'1010'
,
taskName
:
'TaskComJoke'
,
taskDetail
:
'TaskComJokeDetail'
,
createTime
:
'2020-01-10 10:10:00'
,
taskStatus
:
''
},
{
id
:
'1011'
,
taskName
:
'TaskComKey'
,
taskDetail
:
'TaskComKeyDetail'
,
createTime
:
'2020-01-11 11:11:00'
,
taskStatus
:
''
},
{
id
:
'1012'
,
taskName
:
'TaskComLux'
,
taskDetail
:
'TaskComLuxDetail'
,
createTime
:
'2020-01-12 12:12:00'
,
taskStatus
:
''
},
],
man
:
[
{
id
:
'1001'
,
name
:
'Alice'
},
{
id
:
'1002'
,
name
:
'Bob'
},
{
id
:
'1003'
,
name
:
'Clid'
},
{
id
:
'1004'
,
name
:
'Dive'
},
]
},
data
:
{
search
:
{
bar
:
''
,
taskType
:
''
,
taskDate
:
''
,
keys
:
''
,
},
page
:
{
nowPageNum
:
1
,
},
create
:
{
taskName
:
''
,
author
:
''
,
taskDetail
:
''
,
},
createDefault
:
{
taskName
:
''
,
author
:
''
,
taskDetail
:
''
,
},
see
:
{
taskName
:
''
,
author
:
''
,
taskDetail
:
''
,
},
seeDefault
:
{
taskName
:
''
,
author
:
''
,
taskDetail
:
''
,
},
},
rule
:
{
create
:
{
taskName
:
[{
required
:
true
,
message
:
'任务名称不能为空'
,
trigger
:
'change'
}],
taskDetail
:
[{
required
:
true
,
message
:
'任务详情不能为空'
,
trigger
:
'change'
}],
},
see
:
{},
}
};
},
created
()
{
},
methods
:
{
searchsCreate
()
{
this
.
cache
.
status
.
createDialog
=
true
},
searchsDels
()
{
},
searchsSearch
()
{
},
listsSelectChange
()
{
},
listsUntopClick
()
{
},
listsTopClick
()
{
},
listsSeeClick
(
inData
)
{
this
.
cache
.
status
.
seeDialog
=
true
this
.
data
.
see
=
{
taskName
:
'Bob'
,
author
:
'author'
,
taskDetail
:
'taskDetail'
,
}
},
listsEditClick
(
inData
)
{
this
.
cache
.
status
.
createDialog
=
true
this
.
data
.
create
=
{
taskName
:
'taskName'
,
author
:
'author'
,
taskDetail
:
'taskDetail'
,
}
},
listsDelClick
()
{
},
pagesSizeChange
()
{
},
pagesNowPageChange
()
{
},
dialogCreateAuthorChange
()
{
},
dialogCreateBeforeClose
()
{
this
.
cache
.
status
.
createDialog
=
false
},
dialogCreateCancel
()
{
this
.
data
.
create
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
data
.
createDefault
))
this
.
cache
.
status
.
createDialog
=
false
},
dialogCreateSubmitSend
()
{
this
.
$refs
[
inForm
].
validate
(
valid
=>
{
if
(
valid
)
{
}
else
{
return
false
}
})
},
dialogSeeBeforeClose
()
{
this
.
cache
.
status
.
seeDialog
=
false
},
dialogSeeCancel
()
{
this
.
data
.
see
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
data
.
seeDefault
))
this
.
cache
.
status
.
seeDialog
=
false
},
dialogSeeSubmitSend
()
{
},
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.ztask-coms
{
/*border: 2px solid cyan;*/
height
:
calc
((
100vh
-
220px
)
*
1
.0
);
}
.ztask-searchs
{
/*border: 2px solid #0ea4c5;*/
height
:
70px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
}
.ztask-searchs-items
{
/*border: 2px solid #00c561;*/
margin
:
17px
0px
20px
0px
;
width
:
auto
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-start
;
align-items
:
center
;
}
.ztask-searchs-forms
{
/*border: 2px solid #f900ff;*/
height
:
30px
;
margin-bottom
:
10px
;
}
.ztask-lists
{
/*border: 2px solid #0dc50e;*/
height
:
calc
((
100vh
-
338px
)
*
1
.0
);
overflow
:
auto
;
}
.ztask-pages
{
/*border: 2px solid red;*/
/*height: 56px;*/
height
:
42px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
align-items
:
flex-end
;
}
.ztask-page
{
/*border: 2px solid red;*/
position
:
relative
;
margin-right
:
0
;
}
.buttonTextNormal
{
color
:
#666666
;
}
.buttonTextWarning
{
color
:
#D0021B
;
}
</
style
>
ybf_admin/src/pages/task/count/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ztask-coms"
>
<div
class=
"ztask-searchs"
>
<div
class=
"ztask-searchs-items"
>
<el-button
size=
"small"
@
click=
"searchsCreate"
>
创建任务
</el-button>
<el-button
type=
"primary"
size=
"small"
@
click=
"searchsDels"
>
批量删除
</el-button>
</div>
<div
class=
"ztask-searchs-items"
>
<el-form
class=
"ztask-searchs-forms"
:inline=
"true"
:model=
"data.search"
label-width=
"auto"
>
<el-form-item
label=
"柜组"
>
<el-select
size=
"small"
v-model=
"data.search.bar"
placeholder=
"请选择柜组"
style=
"width:160px;"
>
<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-form-item
label=
"任务类型"
>
<el-select
size=
"small"
v-model=
"data.search.taskType"
placeholder=
"请选择任务类型"
style=
"width:160px;"
>
<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-form-item
label=
"日期"
>
<el-date-picker
size=
"small"
v-model=
"data.search.taskDate"
type=
"daterange"
range-separator=
"至"
start-placeholder=
"开始日期"
end-placeholder=
"结束日期"
style=
"width:200px;"
>
</el-date-picker>
</el-form-item>
<!--
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"data.search.keys"
style=
"width:160px"
placeholder=
"请输入关键词"
/>
</el-form-item>
-->
</el-form>
<el-button
type=
"primary"
size=
"small"
@
click=
"searchsSearch"
>
搜 索
</el-button>
</div>
</div>
<div
class=
"ztask-charts"
>
<ve-histogram
class=
"ztask-chart"
:data=
"list.chart"
v-bind=
"setting.chart"
></ve-histogram>
</div>
<div
class=
"ztask-lists"
>
<el-table
stripe
ref=
"multipleTable"
:data=
"list.main"
tooltip-effect=
"dark"
style=
"width: 100%"
@
selection-change=
"listsSelectChange"
>
<el-table-column
type=
"selection"
width=
"60"
></el-table-column>
<el-table-column
prop=
"barName"
label=
"门店"
align=
"center"
width=
"200"
></el-table-column>
<el-table-column
prop=
"barType"
label=
"门店类型"
align=
"center"
></el-table-column>
<el-table-column
prop=
"customNew"
label=
"拉新"
align=
"center"
></el-table-column>
<el-table-column
prop=
"customRebuy"
label=
"复购"
align=
"center"
></el-table-column>
</el-table>
</div>
<div
class=
"ztask-pages"
>
<el-pagination
class=
"ztask-page"
@
size-change=
"pagesSizeChange"
@
current-change=
"pagesNowPageChange"
:current-page=
"data.page.nowPageNum"
:page-sizes=
"[100, 200, 300, 400]"
:page-size=
"100"
layout=
"prev, pager, next, sizes, jumper"
:total=
"400"
></el-pagination>
</div>
<div
class=
"ztask-dialogs"
>
<el-dialog
title=
"创建集团任务"
:visible
.
sync=
"cache.status.createDialog"
width=
"60%"
:before-close=
"dialogCreateBeforeClose"
>
<div
class=
"dialogMain"
>
<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=
"author"
>
<el-select
v-model=
"data.create.author"
placeholder=
"请选择作者"
@
change=
"dialogCreateAuthorChange"
style=
"width:100%;"
>
<el-option
v-for=
"item in list.man"
: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=
"taskDetail"
>
<el-input
type=
"textarea"
:rows=
"5"
placeholder=
"请输入任务详情"
v-model=
"data.create.taskDetail"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogCreateCancel"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogCreateSubmitSend('createForm')"
>
保存并发布
</el-button>
</span>
</el-dialog>
<el-dialog
title=
"查看集团任务"
:visible
.
sync=
"cache.status.seeDialog"
width=
"60%"
:before-close=
"dialogSeeBeforeClose"
>
<div
class=
"dialogMain"
>
<el-form
:model=
"data.see"
:rules=
"rule.see"
label-width=
"120px"
ref=
"seeForm"
>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务标题:"
prop=
"taskName"
>
<el-input
:disabled=
"true"
v-model=
"data.see.taskName"
autocomplete=
"off"
placeholder=
"任务标题为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"作者:"
prop=
"author"
>
<el-input
:disabled=
"true"
v-model=
"data.see.authore"
autocomplete=
"off"
placeholder=
"作者为空"
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col
:span=
"24"
>
<el-form-item
label=
"任务详情:"
prop=
"taskDetail"
>
<el-input
:disabled=
"true"
type=
"textarea"
:rows=
"5"
placeholder=
"任务详情为空"
v-model=
"data.see.taskDetail"
></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"dialogSeeCancel"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"dialogSeeSubmitSend('createForm')"
>
发 布
</el-button>
</span>
</el-dialog>
</div>
</div>
</
template
>
<
script
>
import
list
from
'@/pages/task/count/list.js'
export
default
{
mixins
:
[
list
],
components
:
{},
data
()
{
return
{
cache
:
{
status
:
{
createDialog
:
false
,
seeDialog
:
false
},
list
:
{
bar
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"柜组1"
}
],
taskType
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"测试"
}
],
status
:
[
{
id
:
"0"
,
name
:
"全部"
},
{
id
:
"1"
,
name
:
"已发布"
}
],
}
},
list
:
{
chart
:
{},
main
:
[
{
id
:
'1001'
,
barName
:
'Asics 店'
,
barType
:
'专柜'
,
customNew
:
'10'
,
customRebuy
:
'20'
},
{
id
:
'1002'
,
barName
:
'Bape 店'
,
barType
:
'专柜'
,
customNew
:
'18'
,
customRebuy
:
'10'
},
{
id
:
'1003'
,
barName
:
'Champion 店'
,
barType
:
'普通门店'
,
customNew
:
'24'
,
customRebuy
:
'40'
},
{
id
:
'1004'
,
barName
:
'Dior 店'
,
barType
:
'普通门店'
,
customNew
:
'40'
,
customRebuy
:
'15'
},
{
id
:
'1005'
,
barName
:
'Edc 店'
,
barType
:
'专柜'
,
customNew
:
'22'
,
customRebuy
:
'8'
},
{
id
:
'1006'
,
barName
:
'FILA 店'
,
barType
:
'专柜'
,
customNew
:
'30'
,
customRebuy
:
'14'
},
{
id
:
'1007'
,
barName
:
'Gaucho 店'
,
barType
:
'专柜'
,
customNew
:
'20'
,
customRebuy
:
'15'
},
{
id
:
'1008'
,
barName
:
'Hermes 店'
,
barType
:
'专柜'
,
customNew
:
'8'
,
customRebuy
:
'20'
},
{
id
:
'1009'
,
barName
:
'Isolda 店'
,
barType
:
'普通门店'
,
customNew
:
'11'
,
customRebuy
:
'23'
},
{
id
:
'1010'
,
barName
:
'Jeanswest 店'
,
barType
:
'普通门店'
,
customNew
:
'40'
,
customRebuy
:
'20'
},
{
id
:
'1011'
,
barName
:
'Kevin 店'
,
barType
:
'普通门店'
,
customNew
:
'11'
,
customRebuy
:
'14'
},
{
id
:
'1012'
,
barName
:
'Lux 店'
,
barType
:
'专柜'
,
customNew
:
'24'
,
customRebuy
:
'14'
},
],
man
:
[
{
id
:
'1001'
,
name
:
'Alice'
},
{
id
:
'1002'
,
name
:
'Bob'
},
{
id
:
'1003'
,
name
:
'Clid'
},
{
id
:
'1004'
,
name
:
'Dive'
},
]
},
data
:
{
search
:
{
bar
:
''
,
taskType
:
''
,
taskDate
:
''
,
keys
:
''
,
},
page
:
{
nowPageNum
:
1
,
},
create
:
{
taskName
:
''
,
author
:
''
,
taskDetail
:
''
,
},
createDefault
:
{
taskName
:
''
,
author
:
''
,
taskDetail
:
''
,
},
see
:
{
taskName
:
''
,
author
:
''
,
taskDetail
:
''
,
},
seeDefault
:
{
taskName
:
''
,
author
:
''
,
taskDetail
:
''
,
},
},
rule
:
{
create
:
{
taskName
:
[{
required
:
true
,
message
:
'任务名称不能为空'
,
trigger
:
'change'
}],
taskDetail
:
[{
required
:
true
,
message
:
'任务详情不能为空'
,
trigger
:
'change'
}],
},
see
:
{},
},
setting
:
{
chart
:
{
yAxisType
:
[
'KMB'
],
yAxisName
:
[
'数值'
]
}
}
};
},
created
()
{
},
methods
:
{
searchsCreate
()
{
this
.
cache
.
status
.
createDialog
=
true
},
searchsDels
()
{
},
searchsSearch
()
{
this
.
list
.
chart
=
{}
this
.
list
.
chart
=
{
columns
:
[
'日期'
,
'访问用户'
,
'下单用户'
,
'下单率'
],
rows
:
[
{
'日期'
:
'1'
,
'访问用户'
:
20
,
'下单用户'
:
10
,
'下单率'
:
50
,
'专柜类型'
:
'普通店铺'
},
{
'日期'
:
'2'
,
'访问用户'
:
30
,
'下单用户'
:
15
,
'下单率'
:
50
,
'专柜类型'
:
'普通店铺'
},
{
'日期'
:
'3'
,
'访问用户'
:
40
,
'下单用户'
:
20
,
'下单率'
:
50
,
'专柜类型'
:
'普通店铺'
},
{
'日期'
:
'4'
,
'访问用户'
:
50
,
'下单用户'
:
25
,
'下单率'
:
50
,
'专柜类型'
:
'普通店铺'
},
{
'日期'
:
'5'
,
'访问用户'
:
60
,
'下单用户'
:
30
,
'下单率'
:
50
,
'专柜类型'
:
'普通店铺'
},
{
'日期'
:
'6'
,
'访问用户'
:
70
,
'下单用户'
:
35
,
'下单率'
:
50
,
'专柜类型'
:
'普通店铺'
}
]
}
},
listsSelectChange
()
{
},
listsUntopClick
()
{
},
listsTopClick
()
{
},
listsSeeClick
(
inData
)
{
this
.
cache
.
status
.
seeDialog
=
true
this
.
data
.
see
=
{
taskName
:
'Bob'
,
author
:
'author'
,
taskDetail
:
'taskDetail'
,
}
},
listsEditClick
(
inData
)
{
this
.
cache
.
status
.
createDialog
=
true
this
.
data
.
create
=
{
taskName
:
'taskName'
,
author
:
'author'
,
taskDetail
:
'taskDetail'
,
}
},
listsDelClick
()
{
},
pagesSizeChange
()
{
},
pagesNowPageChange
()
{
},
dialogCreateAuthorChange
()
{
},
dialogCreateBeforeClose
()
{
this
.
cache
.
status
.
createDialog
=
false
},
dialogCreateCancel
()
{
this
.
data
.
create
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
data
.
createDefault
))
this
.
cache
.
status
.
createDialog
=
false
},
dialogCreateSubmitSend
()
{
this
.
$refs
[
inForm
].
validate
(
valid
=>
{
if
(
valid
)
{
}
else
{
return
false
}
})
},
dialogSeeBeforeClose
()
{
this
.
cache
.
status
.
seeDialog
=
false
},
dialogSeeCancel
()
{
this
.
data
.
see
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
data
.
seeDefault
))
this
.
cache
.
status
.
seeDialog
=
false
},
dialogSeeSubmitSend
()
{
},
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.ztask-coms
{
/*border: 2px solid cyan;*/
height
:
calc
((
100vh
-
220px
)
*
1
.0
);
}
.ztask-searchs
{
/*border: 2px solid #0ea4c5;*/
height
:
70px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
}
.ztask-searchs-items
{
/*border: 2px solid #00c561;*/
margin
:
17px
0px
20px
0px
;
width
:
auto
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-start
;
align-items
:
center
;
}
.ztask-searchs-forms
{
/*border: 2px solid #f900ff;*/
height
:
30px
;
margin-bottom
:
10px
;
}
.ztask-charts
{
/*border: 2px solid green;*/
background-color
:
rgba
(
220
,
220
,
220
,
0
.5
);
height
:
262px
;
}
.ztask-chart
{
/*border: 2px solid deeppink;*/
/*height: 50%;*/
height
:
50px
;
width
:
100%
;
}
.ztask-lists
{
/*border: 2px solid red;*/
height
:
calc
((
100vh
-
600px
)
*
1
.0
);
overflow
:
auto
;
}
.ztask-pages
{
/*border: 2px solid red;*/
/*height: 56px;*/
height
:
42px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
align-items
:
flex-end
;
}
.ztask-page
{
/*border: 2px solid red;*/
position
:
relative
;
margin-right
:
0
;
}
.buttonTextNormal
{
color
:
#666666
;
}
.buttonTextWarning
{
color
:
#D0021B
;
}
</
style
>
ybf_admin/src/pages/task/count/list.js
deleted
100644 → 0
View file @
920c80e0
import
Vue
from
'vue'
import
VCharts
from
'v-charts'
Vue
.
use
(
VCharts
)
export
default
{
data
()
{
return
{
pubSetting
:
{
height
:
'100%'
}
}
}
}
ybf_admin/src/pages/task/main/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<!--
<d2-container
type=
"card"
>
-->
<el-card
class=
"box-card mains"
>
<el-tabs
class=
"ztabs"
v-model=
"cache.nowMenu"
@
tab-click=
"ztabsClick"
>
<el-tab-pane
label=
"柜组任务"
name=
"taskBar"
>
<task-bar
/>
</el-tab-pane>
<el-tab-pane
label=
"集团任务"
name=
"taskCom"
>
<task-com
/>
</el-tab-pane>
<el-tab-pane
label=
"任务统计"
name=
"taskCount"
>
<task-count
/>
</el-tab-pane>
</el-tabs>
</el-card>
</
template
>
<
script
>
import
TaskBar
from
"../bar/index"
;
import
TaskCom
from
"../com/index"
;
import
TaskCount
from
"../count/index"
;
// import { ApiTestGet, ApiTestPost } from "@/api/task/main";
export
default
{
components
:
{
TaskBar
,
TaskCom
,
TaskCount
},
data
()
{
return
{
cache
:
{
nowMenu
:
"taskBar"
}
};
},
created
()
{
let
postData
=
{
brief
:
"停车券兑换"
,
orderNo
:
"12345678"
,
point
:
"123.321"
,
procType
:
46
,
updateType
:
"dec"
,
vipId
:
1
};
// ApiTestPost(postData).then(res => {
// log("--->Api: Post: res =", res);
// });
},
methods
:{
ztabsClick
(){},
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.mains
{
/*border: 1px solid red;*/
height
:
calc
((
100vh
-
140px
)
*
1
.0
);
min-width
:
1280px
;
margin
:
10px
20px
10px
10px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
}
.ztabs
{
/*border: 2px solid darkviolet;*/
height
:
calc
((
100vh
-
180px
)
*
1
.0
);
width
:
100%
;
}
</
style
>
ybf_admin/src/router/routes.js
View file @
f844f059
...
...
@@ -42,123 +42,6 @@ const frameIn = [
title
:
'通讯录管理'
}
},
// // Z-进件管理-通讯录管理
// {
// path: '/in/bar',
// name: 'inBar',
// component: () => import('@/pages/in/bar'),
// meta: {
// auth: true,
// title: '柜组管理'
// }
// },
// // Z-进件管理-通讯录管理
// {
// path: '/in/shop',
// name: 'inShop',
// component: () => import('@/pages/in/shop'),
// meta: {
// auth: true,
// title: '门店管理'
// }
// },
// Z-活动模版管理-模版中心
{
path
:
'/active/mode'
,
name
:
'modeCenter'
,
component
:
()
=>
import
(
'@/pages/active/mode'
),
meta
:
{
auth
:
true
,
title
:
'模版中心'
}
},
// Z-活动模版管理-模版商城
{
path
:
'/active/shop'
,
name
:
'modeShop'
,
component
:
()
=>
import
(
'@/pages/active/shop'
),
meta
:
{
auth
:
true
,
title
:
'模版商城'
}
},
// Z-任务管理-柜组任务
{
path
:
'/task/main'
,
name
:
'taskMain'
,
component
:
()
=>
import
(
'@/pages/task/main'
),
meta
:
{
auth
:
true
,
title
:
'柜组任务'
}
},
// Z-任务管理-集团任务
{
path
:
'/task/com'
,
name
:
'taskCom'
,
component
:
()
=>
import
(
'@/pages/task/com'
),
meta
:
{
auth
:
true
,
title
:
'集团任务'
}
},
// Z-任务管理-任务统计
{
path
:
'/task/count'
,
name
:
'taskCount'
,
component
:
()
=>
import
(
'@/pages/task/count'
),
meta
:
{
auth
:
true
,
title
:
'任务统计'
}
},
// Z-活动商品-活动商品
// {
// path: '/goods/main',
// name: 'goodsMain',
// component: () => import('@/pages/goods/main'),
// meta: {
// auth: true,
// title: '活动商品'
// }
// },
// // 演示页面
// {
// path: 'page1',
// name: 'page1',
// meta: {
// title: '页面 1',
// auth: true
// },
// component: _import('demo/page1')
// },
// {
// path: 'page2',
// name: 'page2',
// meta: {
// title: '页面 2',
// auth: true
// },
// component: _import('demo/page2')
// },
// {
// path: 'page3',
// name: 'page3',
// meta: {
// title: '页面 3',
// auth: true
// },
// component: _import('demo/page3')
// },
// {
// path: '/page-demo',
// name: 'page-demo',
// component: () => import('@/pages/page-demo'),
// meta: {
// auth: true,
// title: '新建示例'
// }
// },
// 系统 前端日志
{
path
:
'log'
,
...
...
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