Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
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
5 years ago
by
xd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改侧边栏和删除后台管理系统的代码
parent
920c80e0
Show 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
;
...
...
This diff is collapsed.
Click to expand it.
ybf_admin/src/pages/active/img/active1.png
deleted
100644 → 0
View file @
920c80e0
325 KB
This diff is collapsed.
Click to expand it.
ybf_admin/src/pages/active/img/active2.png
deleted
100644 → 0
View file @
920c80e0
344 KB
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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,13 +83,15 @@ export default {
}
},
data
()
{
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
))
// 检查名称
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
()
callback
();
}
}
return
{
...
...
@@ -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
.
result
==
"success"
)
{
if
(
res
.
data
.
isSuccessful
==
0
)
{
this
.
$message
.
error
(
res
.
data
.
msg
)
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
)
{
this
.
ifDisabled
=
true
getAllPeopleList
({
id
}).
then
(
res
=>
{
console
.
log
(
res
,
'人员'
)
this
.
peopleList
=
res
.
data
this
.
ifDisabled
=
false
})
}
}
...
...
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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,13 +86,15 @@ export default {
}
},
data
()
{
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
))
// 检查名称
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
()
callback
();
}
}
return
{
...
...
@@ -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,6 +152,7 @@ export default {
},
1000
);
}
},
ifDisabled
:
false
,
props
:
{
value
:
'id'
,
children
:
'children'
,
...
...
@@ -248,30 +251,16 @@ export default {
}
else
{
return
false
;
}
});
})
},
// 获取所有人员
getGroupMember
(
id
)
{
this
.
ifDisabled
=
true
getAllPeopleList
({
id
}).
then
(
res
=>
{
console
.
log
(
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
>
...
...
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
{
...
...
This diff is collapsed.
Click to expand it.
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
;
...
...
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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%'
}
}
}
}
This diff is collapsed.
Click to expand it.
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
>
This diff is collapsed.
Click to expand it.
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'
,
...
...
This diff is collapsed.
Click to expand it.
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