Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
Y
ybf
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
xulili
ybf
Commits
f844f059
Commit
f844f059
authored
Apr 15, 2020
by
xd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改侧边栏和删除后台管理系统的代码
parent
920c80e0
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
28 changed files
with
70 additions
and
6801 deletions
+70
-6801
index.vue
wx_application/src/views/mainSale/active/main/index.vue
+13
-12
active1.png
ybf_admin/src/pages/active/img/active1.png
+0
-0
active2.png
ybf_admin/src/pages/active/img/active2.png
+0
-0
index.vue
ybf_admin/src/pages/active/mode/index.vue
+0
-70
index.vue
ybf_admin/src/pages/active/shop/index.vue
+0
-7
add_goods.vue
ybf_admin/src/pages/goods/main/components/add_goods.vue
+0
-107
index.vue
ybf_admin/src/pages/goods/main/index.vue
+0
-217
index.vue
ybf_admin/src/pages/home/main/index.vue
+0
-7
Bk_org.vue
ybf_admin/src/pages/in/contact/Bk_org.vue
+0
-986
addCounter.vue
ybf_admin/src/pages/in/contact/components/addCounter.vue
+0
-254
addGroup.vue
ybf_admin/src/pages/in/contact/components/addGroup.vue
+26
-18
addStore.vue
ybf_admin/src/pages/in/contact/components/addStore.vue
+0
-291
counterDetail.vue
ybf_admin/src/pages/in/contact/components/counterDetail.vue
+0
-197
editCounter.vue
ybf_admin/src/pages/in/contact/components/editCounter.vue
+0
-289
editGroup.vue
ybf_admin/src/pages/in/contact/components/editGroup.vue
+20
-31
nav.vue
ybf_admin/src/pages/in/contact/components/nav.vue
+0
-68
storeDetail.vue
ybf_admin/src/pages/in/contact/components/storeDetail.vue
+0
-240
counter.vue
ybf_admin/src/pages/in/contact/counter.vue
+0
-326
index.vue
ybf_admin/src/pages/in/contact/index.vue
+2
-14
mail.vue
ybf_admin/src/pages/in/contact/mail.vue
+9
-3
org.vue
ybf_admin/src/pages/in/contact/org.vue
+0
-580
store.vue
ybf_admin/src/pages/in/contact/store.vue
+0
-1078
index.vue
ybf_admin/src/pages/task/bar/index.vue
+0
-698
index.vue
ybf_admin/src/pages/task/com/index.vue
+0
-534
index.vue
ybf_admin/src/pages/task/count/index.vue
+0
-568
list.js
ybf_admin/src/pages/task/count/list.js
+0
-13
index.vue
ybf_admin/src/pages/task/main/index.vue
+0
-76
routes.js
ybf_admin/src/router/routes.js
+0
-117
No files found.
wx_application/src/views/mainSale/active/main/index.vue
View file @
f844f059
...
...
@@ -155,10 +155,10 @@ export default {
}
},
barInfo
:
{
fans
:
"
299
"
,
personalFans
:
"
77
"
,
newFans
:
"
11
"
,
allNewFans
:
"
15
"
fans
:
"
0
"
,
personalFans
:
"
0
"
,
newFans
:
"
0
"
,
allNewFans
:
"
0
"
},
menuInfo
:
{
icon
:
{
...
...
@@ -350,11 +350,17 @@ export default {
})
.
then
(
res
=>
{
console
.
log
(
res
,
"粉丝"
);
this
.
test
.
barInfo
.
fans
=
res
.
data
.
data
.
length
;
sessionStorage
.
setItem
(
"allFans"
,
res
.
data
.
data
.
length
);
let
newList
=
[]
res
.
data
.
data
.
forEach
(
item
=>
{
if
(
item
!=
null
)
{
newList
.
push
(
item
)
}
})
this
.
test
.
barInfo
.
fans
=
newList
.
length
sessionStorage
.
setItem
(
"allFans"
,
newList
.
length
)
})
.
catch
(
err
=>
{
console
.
log
(
err
)
;
console
.
log
(
err
)
});
},
getNewFans
()
{
...
...
@@ -576,12 +582,10 @@ export default {
background-color
:
rgb
(
237
,
239
,
243
);
width
:
100%
;
height
:
auto
;
/*padding: ;*/
padding-bottom
:
94px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
start
;
overflow
:
auto
;
}
...
...
@@ -630,7 +634,6 @@ export default {
}
.manInfo-switch
{
/*border: 1px solid greenyellow;*/
width
:
100px
;
height
:
18px
;
...
...
@@ -727,9 +730,7 @@ export default {
}
.main-actives
{
/*border: 1px solid lightcoral;*/
width
:
100%
;
/*margin-bottom: 94px;*/
margin-top
:
36px
;
padding
:
0px
12px
;
background-color
:
white
;
...
...
ybf_admin/src/pages/active/img/active1.png
deleted
100644 → 0
View file @
920c80e0
325 KB
ybf_admin/src/pages/active/img/active2.png
deleted
100644 → 0
View file @
920c80e0
344 KB
ybf_admin/src/pages/active/mode/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<d2-container>
<div
class=
"container"
>
<div
class=
"left"
>
<div
class=
"img"
><img
src=
"../img/active1.png"
alt=
""
></div>
<div
class=
"btn"
>
<div
class=
"btn-l"
>
配置
</div>
<div
class=
"btn-r"
>
预览
</div>
</div>
</div>
<div
class=
"right"
>
<div
class=
"img"
><img
src=
"../img/active2.png"
alt=
""
></div>
<div
class=
"btn"
>
<div
class=
"btn-l"
>
配置
</div>
<div
class=
"btn-r"
>
预览
</div>
</div>
</div>
</div>
</d2-container>
</
template
>
<
script
>
export
default
{};
</
script
>
<
style
scoped
>
.container
{
padding
:
16px
;
display
:
flex
;
}
.left
,
.right
{
display
:
flex
;
flex-direction
:
column
;
width
:
440px
;
height
:
500px
;
background
:
#f8f8f8
;
margin-right
:
24px
;
box-sizing
:
border-box
;
padding
:
16px
;
}
.img
{
width
:
408px
;
height
:
408px
;
}
.img
img
{
width
:
100%
;
}
.btn
{
height
:
72px
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
}
.btn-l
,
.btn-r
{
width
:
198px
;
height
:
40px
;
background
:
rgba
(
232
,
233
,
254
,
1
);
box-shadow
:
0px
1px
3px
0px
rgba
(
221
,
221
,
221
,
1
);
border-radius
:
4px
;
border
:
1px
solid
rgba
(
78
,
89
,
199
,
1
);
font-size
:
14px
;
font-weight
:
800
;
color
:
rgba
(
78
,
89
,
199
,
1
);
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
}
.btn-r
{
background
:
rgba
(
78
,
89
,
199
,
1
);
color
:
#fff
;
}
</
style
>
ybf_admin/src/pages/active/shop/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<d2-container>
<template
slot=
"header"
>
header
</
template
>
active/shop/index.vue
<
template
slot=
"footer"
>
footer
</
template
>
</d2-container>
</template>
ybf_admin/src/pages/goods/main/components/add_goods.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"dialogs"
>
<!--
<el-dialog
title=
"创建任务"
:visible
.
sync=
"dialogVisible"
width=
"480px"
--
>
<el-dialog
title=
"佣金配置"
:visible
.
sync=
"dialogVisible"
width=
"480px"
:before-close=
"handleClose"
class=
"addGoods"
>
<div
class=
"dialogMain"
>
<el-form
:model=
"form"
:rules=
"formRules"
ref=
"addform"
label-width=
"130px"
>
<el-form-item
label=
"商品:"
prop=
"goods"
>
<el-input
v-model=
"form.goodName"
></el-input>
</el-form-item>
<el-form-item
label=
"价格:"
>
<el-input
disabled=
"true"
v-model=
"form.goodPrice"
></el-input>
</el-form-item>
<el-form-item
label=
"库存:"
>
<el-input
v-model
.
number=
"form.goodNum"
></el-input>
</el-form-item>
<el-form-item
label=
"佣金:"
prop=
"charges"
>
<el-radio-group
v-model=
"form.goodBackType"
>
<el-radio
:label=
"1"
>
佣金
</el-radio>
<el-radio
:label=
"2"
>
百分比
</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item
v-if=
"form.goodBackType===1"
label=
"金额:"
label-width=
"176px"
class=
"chargeInput"
>
<el-input
v-model=
"form.goodBackPrice"
></el-input>
<span
class=
"unit"
>
元 ( ¥ )
</span>
</el-form-item>
<el-form-item
v-if=
"form.goodBackType===2"
label=
"佣金比例:"
label-width=
"176px"
class=
"chargeInput"
>
<el-input
v-model=
"form.goodBackPercent"
></el-input>
<span
class=
"unit"
>
( % )
</span>
</el-form-item>
</el-form>
</div>
<div
slot=
"footer"
class=
"dialog-footer"
>
<el-button
size=
"small"
@
click=
"handleCancel('addform')"
>
取 消
</el-button>
<el-button
size=
"small"
type=
"primary"
@
click=
"handleSubmit('addform')"
>
提交
</el-button>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
name
:
'add_goods'
,
data
(){
return
{
dialogVisible
:
false
,
form
:{
goodName
:
'膳魔师'
,
goodPrice
:
'200'
,
goodNum
:
'44'
,
goodBackType
:
2
,
goodBackPrice
:
'20'
,
goodBackPercent
:
'10'
,
goods
:
'膳魔师'
,
price
:
'200'
,
charges
:
1
,
num
:
44
},
formRules
:{
goods
:
[
{
required
:
true
,
message
:
'请输入商品'
,
trigger
:
'blur'
},
{
min
:
3
,
max
:
5
,
message
:
'长度在 3 到 5 个字符'
,
trigger
:
'blur'
}
],
}
}
},
methods
:{
// 弹窗关闭
handleClose
(
done
)
{
this
.
$confirm
(
'确认关闭?'
)
.
then
(
_
=>
{
done
();
})
.
catch
(
_
=>
{});
},
handleSubmit
(
formName
){
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
alert
(
'submit!'
);
}
else
{
console
.
log
(
'error submit!!'
);
return
false
;
}
});
},
handleCancel
(
formName
){
this
.
$refs
[
formName
].
resetFields
();
this
.
dialogVisible
=
false
},
},
watch
:{
dialogVisible
(){
if
(
this
.
dialogVisible
){
if
(
this
.
$refs
.
addform
){
this
.
$refs
.
addform
.
resetFields
();
}
}
}
}
}
</
script
>
<
style
scoped
>
</
style
>
ybf_admin/src/pages/goods/main/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<d2-container
class=
"pRelative"
>
<div
class=
"searchs"
>
<!-- 搜索区 -->
<div>
<el-button
class=
"button buttondark"
size=
"small"
>
批量上架
</el-button>
</div>
<el-form
class=
"searchzone"
:inline=
"true"
:model=
"formData"
label-width=
"auto"
>
<el-form-item
label=
"门店"
>
<el-select
size=
"small"
v-model=
"formData.store"
placeholder=
"请选择门店"
style=
"width:160px;"
>
<el-option
v-for=
"item in statusList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"状态"
>
<el-select
size=
"small"
v-model=
"formData.status"
placeholder=
"请选择状态"
style=
"width:160px;"
>
<el-option
v-for=
"item in statusList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"formData.keys"
style=
"width:160px"
placeholder=
"请输入关键词"
/>
</el-form-item>
<el-button
class=
"button buttondark"
size=
"small"
>
搜索
</el-button>
</el-form>
</div>
<el-table
:data=
"data"
class=
"list"
style=
"width: 100%"
empty-text=
"暂无商品信息"
height=
"calc(100% - 120px)"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
type=
"selection"
width=
"55"
>
</el-table-column>
<el-table-column
prop=
"goodName"
label=
"商品名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodPrice"
label=
"门店"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodNum"
label=
"门店id"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodBackMoney"
label=
"价格"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodStatus"
label=
"佣金"
align=
"center"
></el-table-column>
<el-table-column
prop=
"goodStatus"
label=
"状态"
align=
"center"
>
<template
slot-scope=
"scope"
>
<span>
{{
scope
.
row
.
goodStatus
===
'up'
?
'上架'
:
'下架'
}}
</span>
</
template
>
</el-table-column>
<el-table-column
prop=
"goodStatus"
label=
"上架时间"
align=
"center"
></el-table-column>
<!-- 查看详情 -->
<el-table-column
fixed=
"right"
align=
"center"
label=
"操作"
width=
"140"
@
selection-change=
"listPick"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"text"
@
click=
"handleAdd"
>
{{
scope
.
row
.
goodStatus
===
'up'
?
'下架'
:
'上架'
}}
</el-button>
<el-button
type=
"text"
@
click=
"handleAdd"
>
佣金配置
</el-button>
</
template
>
</el-table-column>
</el-table>
<el-pagination
@
current-change=
"handleCurrentChange"
:current-page=
"page.currentPage"
:page-size=
"page.size"
layout=
"total, prev, pager, next, jumper"
:total=
"page.total"
></el-pagination>
<add-goods
ref=
"addGoods"
></add-goods>
</d2-container>
</template>
<
script
>
import
addGoods
from
"./components/add_goods"
;
export
default
{
data
()
{
return
{
formData
:
{
status
:
""
,
keys
:
""
},
statusList
:
[],
data
:
[
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"象印"
,
goodPrice
:
"180元"
,
goodNum
:
"14"
,
goodBackMoney
:
"18元"
,
goodStatus
:
"down"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"Dior"
,
goodPrice
:
"240元"
,
goodNum
:
"60"
,
goodBackMoney
:
"40元"
,
goodStatus
:
"down"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"ASICS"
,
goodPrice
:
"450元"
,
goodNum
:
"120"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"NIKE"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"Adidas"
,
goodPrice
:
"540元"
,
goodNum
:
"210"
,
goodBackMoney
:
"30元"
,
goodStatus
:
"down"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"down"
},
{
imgUrl
:
"http://wework.qpic.cn/bizmail/FLjpJB8Od58W5ULAIYTRstTvFOJEFUnKQ3tRCdkicxorh6dEHcpNqVw/100"
,
goodName
:
"膳魔师"
,
goodPrice
:
"200元"
,
goodNum
:
"44"
,
goodBackMoney
:
"20元"
,
goodStatus
:
"up"
}
],
page
:
{
currentPage
:
1
,
size
:
20
,
total
:
100
}
};
},
components
:
{
addGoods
},
methods
:
{
handleCurrentChange
(
val
)
{
this
.
page
.
currentPage
=
val
console
.
log
(
`当前页:
${
val
}
`
);
},
listPick
()
{},
handleAdd
()
{
this
.
$refs
.
addGoods
.
dialogVisible
=
true
;
},
handleSelectionChange
(
val
)
{
console
.
log
(
val
,
'批量选择'
);
}
}
};
</
script
>
<
style
lang=
"scss"
>
</
style
>
ybf_admin/src/pages/home/main/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<d2-container>
<template
slot=
"header"
>
header
</
template
>
home/main/index.vue
<
template
slot=
"footer"
>
footer
</
template
>
</d2-container>
</template>
ybf_admin/src/pages/in/contact/Bk_org.vue
deleted
100644 → 0
View file @
920c80e0
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
>
ybf_admin/src/pages/in/contact/components/addGroup.vue
View file @
f844f059
...
...
@@ -51,7 +51,7 @@
/>
</el-form-item>
<el-form-item
label=
"设置主管:"
prop=
"clerkId"
v-if=
"detail == 1"
>
<el-cascader
:props=
"props"
v-model=
"deptId"
:options=
"parentDeptList"
:show-all-levels=
"false"
filterable
style=
"width: 30%;margin-right:15px;"
@
change=
"handleParentChange"
></el-cascader>
<el-cascader
:props=
"props"
v-model=
"deptId"
:
disabled=
"ifDisabled"
:
options=
"parentDeptList"
:show-all-levels=
"false"
filterable
style=
"width: 30%;margin-right:15px;"
@
change=
"handleParentChange"
></el-cascader>
<el-select
v-model=
"addForm.clerkId"
filterable
multiple
placeholder=
"请选择"
style=
"width: 30%;"
clearble
>
<el-option
v-for=
"item in peopleList"
...
...
@@ -83,15 +83,17 @@ export default {
}
},
data
()
{
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
))
}
else
{
callback
()
}
}
// 检查名称
const
checkLabel
=
(
rule
,
value
,
callback
)
=>
{
let
labelReg
=
/^
[\u
4e00-
\u
9fa5A-Za-z0-9
\-\_]
*$/
;
if
(
value
==
""
)
{
callback
(
new
Error
(
"请输入部门名称"
));
}
else
if
(
!
labelReg
.
test
(
value
))
{
//引入methods中封装的检查手机格式的方法
callback
(
new
Error
(
"只可以输入中文、字母、数字和减号!"
));
}
else
{
callback
();
}
}
return
{
treeData
:
[],
group_name
:
""
,
...
...
@@ -114,6 +116,7 @@ export default {
clerkId
:
[]
},
detail
:
2
,
ifDisabled
:
false
,
deptId
:
''
,
// 上级部门
parentDeptList
:
[],
...
...
@@ -121,11 +124,10 @@ export default {
orgTree
:
[],
rules
:
{
label
:
[
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
required
:
true
,
validator
:
checkLabel
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
},
deptOption
:
{
value
:
'id'
,
...
...
@@ -215,11 +217,16 @@ export default {
let
data
=
Object
.
assign
(
this
.
addForm
,{
clerkIds
})
delete
data
.
clerkId
addGroup
(
data
).
then
(
res
=>
{
if
(
res
.
data
.
isSuccessful
==
0
)
{
this
.
$message
.
error
(
res
.
data
.
msg
)
}
else
{
this
.
$emit
(
"handleAddFinish"
)
if
(
res
.
result
==
"success"
)
{
if
(
res
.
data
.
isSuccessful
==
0
)
{
this
.
$message
.
error
(
"门店id不能重复"
)
}
else
{
this
.
$emit
(
"handleAddFinish"
)
}
}
else
{
this
.
$message
.
error
(
res
.
data
)
}
})
}
else
{
return
false
;
...
...
@@ -231,9 +238,10 @@ export default {
},
// 获取所有人员
getGroupMember
(
id
)
{
getAllPeopleList
({
id
}).
then
(
res
=>
{
console
.
log
(
res
,
'人员'
)
this
.
ifDisabled
=
true
getAllPeopleList
({
id
}).
then
(
res
=>
{
this
.
peopleList
=
res
.
data
this
.
ifDisabled
=
false
})
}
}
...
...
ybf_admin/src/pages/in/contact/components/addStore.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ct"
>
<el-dialog
:visible
.
sync=
"addStoreDialog"
class=
"dialog"
width=
"65%"
:show-close=
"false"
:before-close=
"handleClose"
>
<div
class=
"choose"
>
<div
class=
"title"
>
<div
class=
"cg"
>
添加门店
</div>
<div
class=
"circle"
@
click=
"handleClose"
>
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"addStore"
:rules=
"zrule"
>
-->
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"addStore"
>
<!--
<el-form
:model=
"zdata.post"
label-width=
"auto"
ref=
"createForm"
:rules=
"rules"
>
-->
<el-form-item
label=
"门店名称:"
prop=
"storeName"
>
<el-input
size=
"small"
v-model=
"zdata.post.storeName"
style=
"width:240px;"
placeholder=
"请输入门店名称"
/>
</el-form-item>
<el-form-item
label=
"门店类型:"
prop=
"storeType"
>
<el-select
size=
"small"
v-model=
"zdata.post.storeTypeId"
placeholder=
"请选择门店类型"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeType"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门店负责人:"
prop=
"people"
>
<el-select
size=
"small"
v-model=
"zdata.post.storeBossId"
placeholder=
"请选择门店负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeBossId"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属柜组:"
prop=
"counter"
>
<el-select
size=
"small"
v-model=
"zdata.post.storeFromBarId"
placeholder=
"请选择所属柜组"
style=
"width:240px"
>
<el-option
v-for=
"item in zlist.storeFromBarId"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门牌号:"
prop=
"number"
>
<el-input
size=
"small"
v-model=
"zdata.post.storeDoorCode"
style=
"width:240px"
placeholder=
"请输入门牌号"
/>
</el-form-item>
<el-form-item
label=
"位置:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"zdata.post.storeAddress"
style=
"width:240px"
placeholder=
"请输入位置"
/>
</el-form-item>
</el-form>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCancel('addStore')"
size=
"small"
>
取 消
</el-button>
<!--
<el-button
type=
"primary"
@
click=
"addStoreSubmit('createForm')"
size=
"small"
>
确 定
</el-button>
-->
<el-button
type=
"primary"
@
click=
"addStoreSubmit"
size=
"small"
>
确 定
</el-button>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
ApiStoreAddStore
}
from
"@api/in/store"
const
zlog
=
console
.
log
.
bind
(
console
)
export
default
{
data
()
{
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
))
}
else
{
callback
();
}
};
return
{
zlist
:
{
storeType
:
[
{
id
:
"0"
,
name
:
"普通"
},
{
id
:
"1"
,
name
:
"专柜"
}
],
storeBossId
:
[
{
id
:
"2001200138020920001"
,
name
:
"王月云"
},
{
id
:
"2001200138020930002"
,
name
:
"李强"
}
],
storeFromBarId
:
[
{
id
:
"2001201134572130000"
,
name
:
"柜组一号"
},
{
id
:
"2001201135500920000"
,
name
:
"柜组二号"
}
]
},
zdata
:
{
post
:
{
storeName
:
""
,
storeTypeId
:
""
,
storeBossId
:
""
,
storeFromBarId
:
""
,
storeDoorCode
:
""
,
storeAddress
:
""
}
},
rules
:
{
// name: [
// { required: true, message: "请输入柜组名称F", trigger: "blur" },
// { validator: nameValidate, trigger: "blur" },
// { max: 50, message: "长度在50个字符以内", trigger: "blur" }
// ],
type
:
[{
required
:
true
,
message
:
"请选择门店类型"
,
trigger
:
"change"
}]
// people: [
// { required: true, message: "请选择门店负责人", trigger: "change" }
// ],
// counter: [
// { required: true, message: "请选择所属柜组", trigger: "change" }
// ],
// number: [{ max: 50, message: "长度在50个字符以内", trigger: "blur" }],
// area: [{ max: 50, message: "长度在100个字符以内", trigger: "blur" }]
},
addStoreDialog
:
false
};
},
methods
:
{
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
(
_
=>
{
this
.
addStoreDialog
=
false
;
})
.
catch
(
_
=>
{});
},
handleCancel
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
addStoreDialog
=
false
;
},
addStoreSubmit
(
inDataName
=
""
)
{
let
postData
=
{
name
:
this
.
zdata
.
post
.
storeName
,
stallType
:
Number
(
this
.
zdata
.
post
.
storeTypeId
),
principal
:
Number
(
this
.
zdata
.
post
.
storeBossId
),
shopId
:
this
.
zdata
.
post
.
storeFromBarId
,
signNum
:
this
.
zdata
.
post
.
storeDoorCode
,
location
:
this
.
zdata
.
post
.
storeAddress
,
};
console
.
log
(
"--->postData ="
,
postData
);
ApiStoreAddStore
(
postData
)
.
then
(
res
=>
{
if
(
res
.
result
==
"success"
)
{
this
.
$message
({
message
:
"添加成功"
,
type
:
"success"
});
this
.
addStoreDialog
=
false
;
}
})
.
catch
(
err
=>
{
});
},
handleChange
()
{}
},
watch
:
{
addStoreDialog
()
{
if
(
this
.
addStoreDialog
)
{
if
(
this
.
$refs
.
addStore
)
{
this
.
$refs
.
addStore
.
resetFields
();
}
}
}
}
};
</
script
>
<
style
scoped
>
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
padding
:
0
!important
;
}
.ct
>>>
.el-dialog__body
{
padding
:
0
;
}
.ct
>>>
.el-transfer-panel
{
width
:
180px
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
/* border: 2px solid red; */
}
.cs
{
display
:
flex
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/counterDetail.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ct"
>
<el-dialog
:visible
.
sync=
"detailDialog"
width=
"65%"
:show-close=
"false"
>
<div
class=
"choose"
>
<div
class=
"title"
>
<div
class=
"cg"
>
柜组详情
</div>
<div
class=
"circle"
@
click=
"handleClose"
>
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<el-form
class=
"searchzone"
:model=
"formData"
label-width=
"auto"
disabled
>
<el-form-item
label=
"柜组名称:"
>
<el-input
size=
"small"
v-model=
"formData.name"
style=
"width:240px"
placeholder=
"请输入柜组名称"
/>
</el-form-item>
<el-form-item
label=
"柜组编号:"
>
<el-input
size=
"small"
v-model=
"formData.code"
style=
"width:240px"
placeholder=
"请输入柜组编号"
/>
</el-form-item>
<el-form-item
label=
"柜组负责人:"
>
<el-input
size=
"small"
v-model=
"formData.people"
style=
"width:240px"
/>
</el-form-item>
<el-form-item
label=
"所在区域:"
>
<el-input
size=
"small"
v-model=
"formData.area"
style=
"width:240px"
placeholder=
"请输入所在区域"
/>
</el-form-item>
<div
class=
"tb"
>
<el-form-item
label=
"门店:"
>
</el-form-item>
<el-table
stripe
class=
"list"
ref=
"multipleTable table"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"60"
></el-table-column>
<el-table-column
prop=
"name"
label=
"柜组名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"signNum"
label=
"门牌号"
align=
"center"
></el-table-column>
</el-table>
</div>
</el-form>
</div>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getDetail
}
from
"@/api/in/counter"
export
default
{
props
:
{
msgId
:
{
type
:
String
,
default
:
''
}
},
data
()
{
return
{
detailDialog
:
false
,
formData
:
{
name
:
""
,
code
:
""
,
people
:
""
},
tableData
:
[],
personList
:
[],
counter
:[]
};
},
created
()
{
this
.
getDetail
()
},
methods
:
{
getDetail
()
{
this
.
detailDialog
=
true
let
params
=
{
isDetail
:
true
,
shopId
:
this
.
msgId
}
getDetail
(
params
).
then
(
res
=>
{
console
.
log
(
res
,
"详情"
);
let
data
=
res
.
data
this
.
formData
.
name
=
data
.
shop
.
name
this
.
formData
.
code
=
data
.
shop
.
num
this
.
formData
.
people
=
data
.
principal
.
userName
this
.
formData
.
area
=
data
.
shop
.
area
this
.
tableData
=
data
.
shop
.
adminStallList
})
},
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
(
_
=>
{
this
.
detailDialog
=
false
;
his
.
$emit
(
'handleDetailClose'
,
"false"
)
})
.
catch
(
_
=>
{});
},
},
watch
:{
detailDialog
(
newValue
)
{
// this.getDetail()
},
}
};
</
script
>
<
style
>
</
style
>
<
style
scoped
>
.tb
{
display
:
flex
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
padding
:
0
!important
;
}
.ct
>>>
.el-dialog__body
{
padding
:
0
;
}
.ct
>>>
.el-transfer-panel
{
width
:
250px
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/editCounter.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ct"
>
<el-dialog
:visible
.
sync=
"counterDialog"
width=
"65%"
class=
"dialog"
:show-close=
"false"
:before-close=
"handleClose"
>
<div
class=
"choose"
>
<div
class=
"title"
>
<div
class=
"cg"
>
修改柜组
</div>
<div
class=
"circle"
@
click=
"handleClose"
>
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<el-form
class=
"searchzone"
:model=
"formData"
label-width=
"auto"
ref=
"addCounter"
:rules=
"rules"
>
<el-form-item
label=
"柜组名称:"
prop=
"name"
>
<el-input
size=
"small"
v-model=
"formData.name"
style=
"width:240px"
placeholder=
"请输入柜组名称"
/>
</el-form-item>
<el-form-item
label=
"柜组负责人:"
prop=
"people"
>
<el-select
size=
"small"
v-model=
"formData.people"
placeholder=
"请选择柜组负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in personList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"柜组编号:"
prop=
"code"
>
<el-input
size=
"small"
v-model=
"formData.code"
style=
"width:240px"
placeholder=
"请输入柜组编号"
/>
</el-form-item>
<el-form-item
label=
"所在区域:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"formData.area"
style=
"width:240px"
placeholder=
"请输入所在区域"
/>
</el-form-item>
<div
class=
"cs"
>
<el-form-item
label=
"门店:"
>
</el-form-item>
<div>
<el-transfer
style=
"text-align: left; display: inline-block"
v-model=
"value4"
:left-default-checked=
"[]"
:right-default-checked=
"[]"
:titles=
"['选择', '已选']"
:button-texts=
"['删除', '添加']"
@
change=
"handleChange"
:data=
"data"
>
<span
slot-scope=
"
{ option }"
>
{{
option
.
key
}}
-
{{
option
.
label
}}
</span
>
</el-transfer>
</div>
</div>
</el-form>
</div>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
<el-button
@
click=
"handleCancel('addCounter')"
size=
"small"
>
取 消
</el-button
>
<el-button
type=
"primary"
@
click=
"handleFinish('addCounter')"
size=
"small"
>
确 定
</el-button
>
</span>
</el-dialog>
</div>
</
template
>
<
script
>
import
{
getDetail
}
from
"@/api/in/counter"
export
default
{
props
:
{
msgId
:
{
type
:
String
,
default
:
''
}
},
data
()
{
const
generateData
=
_
=>
{
const
data
=
[];
for
(
let
i
=
1
;
i
<=
15
;
i
++
)
{
data
.
push
({
key
:
i
,
label
:
`备选项
${
i
}
`
});
}
return
data
;
}
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
'含有非法字符(只能输入字母、汉字)!'
))
}
else
{
callback
()
}
}
return
{
counterDialog
:
false
,
data
:
generateData
(),
value
:
[
1
],
value4
:
[
1
],
renderFunc
(
h
,
option
)
{
return
(
<
span
>
{
option
.
key
}
-
{
option
.
label
}
<
/span
>
);
},
formData
:
{
name
:
""
,
code
:
""
,
people
:
""
},
personList
:
[
{
id
:
"1"
,
name
:
"张三"
},
{
id
:
"2"
,
name
:
"李四"
}
],
rules
:
{
name
:
[{
required
:
true
,
message
:
"请输入柜组名称"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
},
{
validator
:
nameValidate
,
trigger
:
"blur"
}],
people
:
[
{
required
:
true
,
message
:
"请选择活动负责人"
,
trigger
:
"change"
}
],
code
:
[{
required
:
true
,
message
:
"请输入柜组编号"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
},
{
validator
:
nameValidate
,
trigger
:
"blur"
}],
area
:
[{
required
:
true
,
message
:
"请输入所在区域"
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
},
{
validator
:
nameValidate
,
trigger
:
"blur"
}]
}
};
},
created
()
{
this
.
getDetail
()
},
methods
:
{
getDetail
()
{
this
.
counterDialog
=
true
let
params
=
{
isDetail
:
true
,
shopId
:
this
.
msgId
}
getDetail
(
params
).
then
(
res
=>
{
console
.
log
(
res
,
"详情"
);
let
data
=
res
.
data
this
.
formData
.
name
=
data
.
shop
.
name
this
.
formData
.
code
=
data
.
shop
.
num
this
.
formData
.
people
=
data
.
shop
.
principal
this
.
formData
.
area
=
data
.
shop
.
area
})
},
handleChange
()
{},
handleClose
(
done
)
{
this
.
$confirm
(
"确认关闭?"
)
.
then
(
_
=>
{
this
.
counterDialog
=
false
;
this
.
$emit
(
'handleEditClose'
,
"false"
)
})
.
catch
(
_
=>
{});
},
handleCancel
(
formName
)
{
this
.
$refs
[
formName
].
resetFields
();
this
.
counterDialog
=
false
;
this
.
$emit
(
'handleEditClose'
,
"false"
)
},
handleFinish
(
formName
)
{
this
.
$refs
[
formName
].
validate
((
valid
)
=>
{
if
(
valid
)
{
this
.
counterDialog
=
false
;
this
.
$emit
(
'handleEditClose'
,
"false"
)
}
else
{
console
.
log
(
'error submit!!'
);
return
false
;
}
});
},
},
watch
:{
counterDialog
(){
if
(
this
.
counterDialog
){
if
(
this
.
$refs
.
addCounter
){
this
.
$refs
.
addCounter
.
resetFields
();
}
}
}
}
};
</
script
>
<
style
scoped
>
.dialog
>>>
.el-dialog
{
height
:
calc
(
100vh
-
208px
);
overflow
:
auto
;
}
.cs
{
display
:
flex
;
}
.ct
>>>
.el-transfer-panel
{
width
:
180px
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
padding
:
0
!important
;
}
.ct
>>>
.el-dialog__body
{
padding
:
0
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/editGroup.vue
View file @
f844f059
...
...
@@ -50,7 +50,7 @@
/>
</el-form-item>
<el-form-item
label=
"设置主管:"
prop=
"clerkId"
v-if=
"detail == 1"
>
<el-cascader
:props=
"props"
v-model=
"deptId"
:options=
"parentDeptList"
:show-all-levels=
"false"
filterable
style=
"width: 30%;margin-right:15px;"
@
change=
"handleParentChange"
></el-cascader>
<el-cascader
:props=
"props"
v-model=
"deptId"
:options=
"parentDeptList"
:
disabled=
"ifDisabled"
:
show-all-levels=
"false"
filterable
style=
"width: 30%;margin-right:15px;"
@
change=
"handleParentChange"
></el-cascader>
<el-select
v-model=
"addForm.clerkId"
filterable
multiple
placeholder=
"请选择"
style=
"width: 30%;"
clearble
>
<el-option
v-for=
"item in peopleList"
...
...
@@ -86,15 +86,17 @@ export default {
}
},
data
()
{
// 中英文验证规则
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
))
}
else
{
callback
()
}
}
// 检查名称
const
checkLabel
=
(
rule
,
value
,
callback
)
=>
{
let
labelReg
=
/^
[\u
4e00-
\u
9fa5A-Za-z0-9
\-\_]
*$/
;
if
(
value
==
""
)
{
callback
(
new
Error
(
"请输入部门名称"
));
}
else
if
(
!
labelReg
.
test
(
value
))
{
//引入methods中封装的检查手机格式的方法
callback
(
new
Error
(
"只可以输入中文、字母、数字和减号!"
));
}
else
{
callback
();
}
}
return
{
treeData
:
[],
group_name
:
""
,
...
...
@@ -124,7 +126,7 @@ export default {
orgTree
:
[],
rules
:
{
label
:
[
{
required
:
true
,
message
:
"请输入部门名称"
,
trigger
:
"blur"
},
{
required
:
true
,
validator
:
checkLabel
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
"长度在50个字符以内"
,
trigger
:
"blur"
}
],
parentId
:
[{
required
:
true
,
message
:
"请选择上级部门"
,
trigger
:
"change"
}]
...
...
@@ -150,7 +152,8 @@ export default {
},
1000
);
}
},
props
:
{
ifDisabled
:
false
,
props
:
{
value
:
'id'
,
children
:
'children'
,
lazy
:
true
,
...
...
@@ -248,30 +251,16 @@ export default {
}
else
{
return
false
;
}
});
})
},
// 获取所有人员
getGroupMember
(
id
)
{
getAllPeopleList
({
id
}).
then
(
res
=>
{
console
.
log
(
res
,
'人员'
)
this
.
ifDisabled
=
true
getAllPeopleList
({
id
}).
then
(
res
=>
{
this
.
peopleList
=
res
.
data
this
.
ifDisabled
=
false
})
},
/* handleNodeClick(item, node, self) {
// console.log(item,node,self)
this.params.d_parentId = item.id;
this.paramsForShow.father_name = item.label;
},
checkChange(item, node, self) {},
showTreeData() {
this.showTree = !this.showTree;
},
*/
}
}
};
</
script
>
...
...
ybf_admin/src/pages/in/contact/components/nav.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div>
<div>
<el-row
class=
"tac"
>
<el-col>
<el-menu
:default-active=
"index"
class=
"el-menu-vertical-demo"
@
open=
"handleOpen"
@
close=
"handleClose"
>
<el-menu-item
index=
"1"
>
<span
class=
"circle"
><d2-icon-svg
name=
"mail"
/></span>
<span
slot=
"title"
>
通讯录管理
</span>
</el-menu-item>
<el-menu-item
index=
"2"
>
<span
class=
"circle"
><d2-icon-svg
name=
"counter"
/></span>
<span
slot=
"title"
>
柜组管理
</span>
</el-menu-item>
<el-menu-item
index=
"3"
>
<span
class=
"circle"
><d2-icon-svg
name=
"store"
/></span>
<span
slot=
"title"
>
门店管理
</span>
</el-menu-item>
</el-menu>
</el-col>
</el-row>
</div>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
index
:
'1'
}
},
methods
:
{
handleClose
()
{},
handleOpen
()
{}
}
}
</
script
>
<
style
scoped
>
.tac
{
width
:
248px
;
height
:
100%
;
}
.tac
>>>
.el-menu
{
border-right
:
none
;
}
.circle
{
display
:
inline-block
;
width
:
24px
;
height
:
24px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
box-shadow
:
0px
1px
2px
0px
rgba
(
78
,
89
,
199
,
1
);
border-radius
:
50%
;
line-height
:
24px
;
text-align
:
center
;
margin-right
:
12px
;
}
.theme-d2
.el-menu-item
svg
,
.theme-d2
.el-submenu__title
svg
{
margin-right
:
0
;
}
</
style
>
ybf_admin/src/pages/in/contact/components/storeDetail.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"ct"
>
<el-dialog
:visible
.
sync=
"detailDialog"
width=
"65%"
:show-close=
"false"
>
<div
class=
"choose"
>
<div
class=
"title"
>
<div
class=
"cg"
>
门店详情
</div>
<div
class=
"circle"
@
click=
"handleClose"
>
<d2-icon-svg
name=
"close"
class=
"icon"
/>
</div>
</div>
<div
class=
"br"
>
<el-form
class=
"searchzone"
:model=
"formData"
label-width=
"auto"
disabled
>
<el-form-item
label=
"门店名称:"
>
<el-input
size=
"small"
v-model=
"formData.name"
style=
"width:240px"
placeholder=
"请输入门店名称"
/>
</el-form-item>
<el-form-item
label=
"门店类型:"
>
<el-select
size=
"small"
v-model=
"formData.type"
placeholder=
"请选择门店类型"
style=
"width:240px"
>
<el-option
v-for=
"item in personList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"门店负责人:"
>
<el-select
size=
"small"
v-model=
"formData.people"
placeholder=
"请选择柜组负责人"
style=
"width:240px"
>
<el-option
v-for=
"item in personList"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"所属柜组:"
>
<el-select
size=
"small"
v-model=
"formData.counter"
placeholder=
"请选择所属柜组"
style=
"width:240px"
>
<el-option
v-for=
"item in counter"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"位置:"
>
<el-input
size=
"small"
v-model=
"formData.area"
style=
"width:240px"
placeholder=
"请输入位置"
/>
</el-form-item>
<el-form-item
label=
"门牌号:"
>
<el-input
size=
"small"
v-model=
"formData.number"
style=
"width:240px"
placeholder=
"请输入门牌号"
/>
</el-form-item>
<div
class=
"tb"
>
<el-form-item
label=
"绑定店员:"
></el-form-item>
<el-table
stripe
class=
"list"
ref=
"multipleTable table"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%"
>
<el-table-column
type=
"index"
label=
"序号"
width=
"60"
></el-table-column>
<el-table-column
prop=
"taskName"
label=
"门店名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"number"
label=
"门牌号"
align=
"center"
></el-table-column>
</el-table>
</div>
</el-form>
</div>
</div>
</el-dialog>
</div>
</
template
>
<
script
>
export
default
{
props
:
{
msgId
:
{
type
:
String
,
default
:
""
}
},
data
()
{
const
nameValidate
=
(
rule
,
value
,
callback
)
=>
{
let
reg
=
/^
[
a-zA-Z
\u
4e00-
\u
9fa5
]
+$/
;
if
(
!
reg
.
test
(
value
))
{
callback
(
new
Error
(
"含有非法字符(只能输入字母、汉字)!"
));
}
else
{
callback
();
}
};
return
{
formData
:
{
name
:
""
,
code
:
""
,
people
:
""
,
type
:
""
,
number
:
""
,
area
:
""
},
personList
:
[
{
id
:
"1"
,
name
:
"张三"
},
{
id
:
"2"
,
name
:
"李四"
}
],
counter
:
[
{
id
:
"1"
,
name
:
"张三"
},
{
id
:
"2"
,
name
:
"李四"
}
],
tableData
:
[],
detailDialog
:
false
};
},
created
()
{
this
.
getDetail
();
},
methods
:
{
getDetail
()
{
this
.
detailDialog
=
false
// let params = {
// isDetail: true,
// shopId: this.msgId
// }
// getDetail(params).then(res => {
// console.log(res,"详情");
// let data = res.data
// this.formData.name = data.shop.name
// this.formData.code = data.shop.num
// this.formData.people = data.shop.principal
// this.formData.area = data.shop.area
// this.tableData = data.stall_unselected
// })
},
handleClose
()
{
this
.
detailDialog
=
false
;
}
}
};
</
script
>
<
style
scoped
>
.tb
{
display
:
flex
;
}
.choose
{
padding
:
16px
;
font-size
:
16px
;
font-weight
:
bold
;
color
:
rgba
(
56
,
56
,
56
,
1
);
box-sizing
:
border-box
;
}
.title
{
display
:
flex
;
align-items
:
center
;
justify-content
:
space-between
;
/* border-bottom: 1px solid #f8f8f8; */
padding-bottom
:
10px
;
}
.transfer-footer
{
margin-left
:
20px
;
padding
:
6px
5px
;
}
.ct
>>>
.el-dialog__header
{
padding
:
0
!important
;
}
.ct
>>>
.el-dialog__body
{
padding
:
0
;
}
.ct
>>>
.el-transfer-panel
{
width
:
250px
;
}
.circle
{
width
:
30px
;
height
:
30px
;
line-height
:
30px
;
border-radius
:
50%
;
border
:
1px
solid
rgba
(
208
,
2
,
27
,
1
);
position
:
relative
;
}
.circle
>>>
.icon
{
width
:
28px
;
height
:
28px
;
position
:
absolute
;
left
:
50%
;
top
:
50%
;
transform
:
translate
(
-50%
,
-50%
);
}
.br
{
border-top
:
1px
solid
#f8f8f8
;
border-bottom
:
1px
solid
#f8f8f8
;
padding
:
24px
60px
;
}
</
style
>
ybf_admin/src/pages/in/contact/counter.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<div
class=
"main"
>
<div
class=
"title"
>
全部柜组( 共
<span>
{{
page
.
total
}}
</span>
个 )
</div>
<div
class=
"searchs"
>
<div
class=
"buttons"
>
<el-button
class=
"button buttonlight"
size=
"small"
@
click=
"addCounter"
>
添加柜组
</el-button>
<el-button
class=
"button buttondark"
size=
"small"
v-if=
"multipleSelection.length>1"
@
click=
"handleDelBatch"
>
批量删除
</el-button>
</div>
<!-- 搜索区 -->
<el-form
class=
"searchzone"
:inline=
"true"
:model=
"form"
label-width=
"auto"
>
<el-form-item
label=
"关键词"
>
<el-input
size=
"small"
v-model=
"form.keyWords"
style=
"width:160px"
placeholder=
"请输入关键词"
clearable
/>
</el-form-item>
<el-button
class=
"button buttondark"
size=
"small"
style=
"margin-top:4px;"
@
click=
"handleSearch"
>
搜索
</el-button>
</el-form>
</div>
<div
class=
"lists"
>
<el-table
stripe
ref=
"multipleTable"
:data=
"tableData"
tooltip-effect=
"dark"
style=
"width: 100%;"
height=
"calc(100vh - 360px)"
@
selection-change=
"listPick"
>
<el-table-column
type=
"selection"
width=
"60"
></el-table-column>
<el-table-column
prop=
"name"
label=
"柜组"
align=
"center"
></el-table-column>
<el-table-column
prop=
"principalName"
label=
"柜组负责人"
align=
"center"
></el-table-column>
<el-table-column
prop=
"num"
label=
"柜组编号"
align=
"center"
></el-table-column>
<el-table-column
prop=
"area"
label=
"所在区域"
align=
"center"
></el-table-column>
<el-table-column
prop=
"adminStallList.length"
label=
"门店数量"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
label=
"创建时间"
width=
"120"
align=
"center"
prop=
"createDate"
/>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"200"
>
<template
slot-scope=
"scope"
>
<el-button
type=
"text"
class=
"btn"
@
click=
"handleDetail(scope.row.id)"
>
详情
</el-button>
<el-button
type=
"text"
class=
"btn"
@
click=
"handleEdit(scope.row.id)"
>
编辑
</el-button
>
<el-button
type=
"text"
@
click=
"handleDelete(scope.row.id)"
class=
"listButtonRed"
>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
</div>
<div
class=
"pages"
>
<el-pagination
@
current-change=
"handleCurrentChange"
:current-page=
"page.currentPage"
:page-size=
"page.size"
layout=
"total, prev, pager, next, jumper"
:total=
"page.total"
>
</el-pagination>
</div>
<add-counter
ref=
"addCounter"
></add-counter>
<counter-detail
ref=
"counterDetail"
:msgId=
"msgId"
v-if=
"detailDialog"
@
handleDetailClose=
"handleDetailClose"
></counter-detail>
<edit-counter
ref=
"editCounter"
:msgId=
"editId"
v-if=
"editDialog"
@
handleEditClose=
"handleEditClose"
></edit-counter>
</div>
</template>
<
script
>
import
CounterDetail
from
"./components/counterDetail"
import
AddCounter
from
"./components/addCounter"
import
EditCounter
from
"./components/editCounter"
import
{
getList
,
stallDel
}
from
"@/api/in/counter"
export
default
{
components
:
{
CounterDetail
,
AddCounter
,
EditCounter
},
data
()
{
return
{
tableData
:
[],
list
:
{
search
:
{
bar
:
[
{
id
:
"1"
,
name
:
"全部"
},
{
id
:
"2"
,
name
:
"测试"
}
],
taskType
:
[
{
id
:
"1"
,
name
:
"全部"
},
{
id
:
"2"
,
name
:
"测试"
}
]
}
},
detailDialog
:
false
,
counterDialog
:
false
,
editDialog
:
false
,
tableHeight
:
window
.
innerHeight
*
0.5
,
page
:{
currentPage
:
1
,
size
:
10
,
total
:
0
},
form
:{
keyWords
:
''
},
msgId
:
""
,
editId
:
""
,
multipleSelection
:[]
};
},
mounted
()
{
this
.
getListData
()
},
methods
:
{
getListData
()
{
let
param
=
{}
let
_this
=
this
param
.
keyWords
=
this
.
form
.
keyWords
?
this
.
form
.
keyWords
:
0
param
.
pageNum
=
this
.
page
.
currentPage
getList
(
param
).
then
(
res
=>
{
if
(
res
.
result
==
'fail'
){
_this
.
$message
.
error
(
res
.
errorMsg
)
_this
.
tableData
=
[]
}
if
(
res
.
result
==
'success'
){
let
data
=
res
.
data
.
pageInfo
.
list
_this
.
tableData
=
data
.
map
((
v
,
i
)
=>
{
let
obj
=
{}
for
(
let
key
in
v
.
adminShop
){
obj
[
key
]
=
v
.
adminShop
[
key
]
obj
.
principalName
=
v
.
principal
}
return
obj
})
_this
.
page
.
total
=
Number
(
res
.
data
.
pageInfo
.
total
)
}
})
},
listPick
(
val
)
{
this
.
multipleSelection
=
val
;
},
handleEdit
(
id
)
{
this
.
editId
=
id
this
.
editDialog
=
true
this
.
$refs
.
editCounter
.
counterDialog
=
true
},
//删除
handleDelete
(
id
)
{
let
_this
=
this
this
.
$confirm
(
'确定删除该柜组吗?'
,
{
}).
then
(()
=>
{
stallDel
({
shopIds
:
id
}).
then
(
res
=>
{
if
(
res
.
result
==
'fail'
){
_this
.
$message
.
error
(
res
.
errorMsg
)
}
if
(
res
.
result
==
'success'
){
_this
.
getListData
()
}
})
}).
catch
(()
=>
{
this
.
$message
.
info
(
"取消删除"
)
});
},
//批量删除
handleDelBatch
(){
let
_this
=
this
let
delIds
=
this
.
multipleSelection
.
map
(
v
=>
{
return
v
.
id
}).
join
(
','
)
this
.
$confirm
(
'确定批量删除柜组吗?'
,
{
}).
then
(()
=>
{
stallDel
({
shopIds
:
delIds
}).
then
(
res
=>
{
if
(
res
.
result
==
'fail'
){
_this
.
$message
.
error
(
res
.
errorMsg
)
}
if
(
res
.
result
==
'success'
){
_this
.
getListData
()
}
})
}).
catch
(()
=>
{
this
.
$message
.
info
(
"取消删除"
)
});
},
handleEditClose
()
{
this
.
editDialog
=
false
},
pagesSizeChange
()
{},
pagesNowPageChange
()
{},
handleDetail
(
id
)
{
this
.
msgId
=
id
this
.
detailDialog
=
true
this
.
$refs
.
counterDetail
.
detailDialog
=
true
},
handleDetailClose
()
{
this
.
detailDialog
=
false
},
addCounter
()
{
this
.
$refs
.
addCounter
.
counterDialog
=
true
},
addCounterFinish
()
{
this
.
counterDialog
=
false
},
handleCurrentChange
(
val
)
{
this
.
page
.
currentPage
=
val
this
.
getListData
()
},
//搜索 根据搜索条件查询
handleSearch
(){
this
.
getListData
()
},
},
/* mounted() {
this.$nextTick(() => {
this.tableHeight = window.innerHeight - 120;
})
} */
}
</
script
>
<
style
lang=
"scss"
scoped
>
.main
{
position
:
relative
;
background-color
:
#fff
;
box-sizing
:
border-box
;
height
:
100%
;
padding
:
0px
16px
16px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
width
:
100%
;
box-shadow
:
0px
2px
4px
0px
#ddd
;
}
.searchs
{
height
:
40px
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
space-between
;
align-items
:
center
;
}
.buttons
{
width
:
266px
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-start
;
}
.buttonlight
{
background-color
:
#e8e9fe
;
color
:
#4e59c7
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.btn
{
font-size
:
14px
;
// font-weight:bold;
color
:rgba
(
102
,
102
,
102
,
1
)
;
}
.buttondark
{
width
:
88px
;
height
:
32px
;
background-color
:
#4e59c7
;
color
:
#ffffff
;
border
:
1px
solid
#4e59c7
;
box-sizing
:
border-box
;
}
.searchzone
{
height
:
40px
;
width
:
auto
;
min-width
:
654px
;
text-align
:
right
;
}
.lists
{
height
:
auto
;
min-height
:
70%
;
width
:
100%
;
margin-top
:
20px
;
}
.listButtonRed
{
color
:
#D0021B
;
// font-weight: bold;
}
.pages
{
height
:
40px
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
justify-content
:
flex-end
;
align-items
:
center
;
}
.title
{
height
:
48px
;
line-height
:
48px
;
color
:rgba
(
56
,
56
,
56
,
1
)
;
border-bottom
:
1px
solid
#f8f8f8
;
margin-bottom
:
16px
;
}
</
style
>
ybf_admin/src/pages/in/contact/index.vue
View file @
f844f059
...
...
@@ -30,28 +30,16 @@
</div>
-->
<div
class=
"content"
>
<mail
v-if=
"index == '1' && isHistoryShow == false"
@
isShow=
"contorlHistoryShow"
></mail>
<counter
v-if=
"index == '2'"
></counter>
<store
v-if=
"index == '3'"
></store>
<org
v-if=
"index == '4'"
></org>
<history
v-if=
"isHistoryShow == true"
@
isShow=
"contorlHistoryShow"
></history>
<mail></mail>
</div>
</d2-container>
</
template
>
<
script
>
import
Mail
from
"./mail"
;
import
Store
from
"./store"
;
import
Org
from
"./org"
;
import
Counter
from
"./counter"
;
import
History
from
"./components/history"
;
export
default
{
components
:
{
Mail
,
Store
,
Org
,
Counter
,
History
Mail
},
data
()
{
return
{
...
...
ybf_admin/src/pages/in/contact/mail.vue
View file @
f844f059
...
...
@@ -24,6 +24,7 @@
default-expand-all
expand-on-click-node
@
node-click=
"handleTreeClick"
:highlight-current=
"true"
>
</el-tree>
</div>
...
...
@@ -167,8 +168,6 @@ export default {
addDialogShow
:
false
,
editDialogShow
:
false
,
deleteDialogShow
:
false
,
counterDialog
:
false
,
storeDialog
:
false
,
nameDialog
:
false
,
allNumber
:
""
,
wNumber
:
""
,
...
...
@@ -409,8 +408,15 @@ export default {
}
};
</
script
>
<
style
>
.el-tree--highlight-current
.el-tree-node.is-current
>
.el-tree-node__content
{
background-color
:
#d0d0d0
!important
;
}
</
style
>
<
style
scoped
>
.trees
>>>
.el-tree--highlight-current
.el-tree-node.is-current
>
.el-tree-node__content
{
background-color
:
#d0d0d0
!important
;
}
.lines
{
height
:
55px
;
align-items
:
center
;
...
...
ybf_admin/src/pages/in/contact/org.vue
deleted
100644 → 0
View file @
920c80e0
This diff is collapsed.
Click to expand it.
ybf_admin/src/pages/in/contact/store.vue
deleted
100644 → 0
View file @
920c80e0
This diff is collapsed.
Click to expand it.
ybf_admin/src/pages/task/bar/index.vue
deleted
100644 → 0
View file @
920c80e0
This diff is collapsed.
Click to expand it.
ybf_admin/src/pages/task/com/index.vue
deleted
100644 → 0
View file @
920c80e0
This diff is collapsed.
Click to expand it.
ybf_admin/src/pages/task/count/index.vue
deleted
100644 → 0
View file @
920c80e0
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%'
}
}
}
}
ybf_admin/src/pages/task/main/index.vue
deleted
100644 → 0
View file @
920c80e0
<
template
>
<!--
<d2-container
type=
"card"
>
-->
<el-card
class=
"box-card mains"
>
<el-tabs
class=
"ztabs"
v-model=
"cache.nowMenu"
@
tab-click=
"ztabsClick"
>
<el-tab-pane
label=
"柜组任务"
name=
"taskBar"
>
<task-bar
/>
</el-tab-pane>
<el-tab-pane
label=
"集团任务"
name=
"taskCom"
>
<task-com
/>
</el-tab-pane>
<el-tab-pane
label=
"任务统计"
name=
"taskCount"
>
<task-count
/>
</el-tab-pane>
</el-tabs>
</el-card>
</
template
>
<
script
>
import
TaskBar
from
"../bar/index"
;
import
TaskCom
from
"../com/index"
;
import
TaskCount
from
"../count/index"
;
// import { ApiTestGet, ApiTestPost } from "@/api/task/main";
export
default
{
components
:
{
TaskBar
,
TaskCom
,
TaskCount
},
data
()
{
return
{
cache
:
{
nowMenu
:
"taskBar"
}
};
},
created
()
{
let
postData
=
{
brief
:
"停车券兑换"
,
orderNo
:
"12345678"
,
point
:
"123.321"
,
procType
:
46
,
updateType
:
"dec"
,
vipId
:
1
};
// ApiTestPost(postData).then(res => {
// log("--->Api: Post: res =", res);
// });
},
methods
:{
ztabsClick
(){},
}
};
</
script
>
<
style
lang=
"scss"
scoped
>
.mains
{
/*border: 1px solid red;*/
height
:
calc
((
100vh
-
140px
)
*
1
.0
);
min-width
:
1280px
;
margin
:
10px
20px
10px
10px
;
display
:
flex
;
flex-direction
:
column
;
justify-content
:
flex-start
;
}
.ztabs
{
/*border: 2px solid darkviolet;*/
height
:
calc
((
100vh
-
180px
)
*
1
.0
);
width
:
100%
;
}
</
style
>
ybf_admin/src/router/routes.js
View file @
f844f059
...
...
@@ -42,123 +42,6 @@ const frameIn = [
title
:
'通讯录管理'
}
},
// // Z-进件管理-通讯录管理
// {
// path: '/in/bar',
// name: 'inBar',
// component: () => import('@/pages/in/bar'),
// meta: {
// auth: true,
// title: '柜组管理'
// }
// },
// // Z-进件管理-通讯录管理
// {
// path: '/in/shop',
// name: 'inShop',
// component: () => import('@/pages/in/shop'),
// meta: {
// auth: true,
// title: '门店管理'
// }
// },
// Z-活动模版管理-模版中心
{
path
:
'/active/mode'
,
name
:
'modeCenter'
,
component
:
()
=>
import
(
'@/pages/active/mode'
),
meta
:
{
auth
:
true
,
title
:
'模版中心'
}
},
// Z-活动模版管理-模版商城
{
path
:
'/active/shop'
,
name
:
'modeShop'
,
component
:
()
=>
import
(
'@/pages/active/shop'
),
meta
:
{
auth
:
true
,
title
:
'模版商城'
}
},
// Z-任务管理-柜组任务
{
path
:
'/task/main'
,
name
:
'taskMain'
,
component
:
()
=>
import
(
'@/pages/task/main'
),
meta
:
{
auth
:
true
,
title
:
'柜组任务'
}
},
// Z-任务管理-集团任务
{
path
:
'/task/com'
,
name
:
'taskCom'
,
component
:
()
=>
import
(
'@/pages/task/com'
),
meta
:
{
auth
:
true
,
title
:
'集团任务'
}
},
// Z-任务管理-任务统计
{
path
:
'/task/count'
,
name
:
'taskCount'
,
component
:
()
=>
import
(
'@/pages/task/count'
),
meta
:
{
auth
:
true
,
title
:
'任务统计'
}
},
// Z-活动商品-活动商品
// {
// path: '/goods/main',
// name: 'goodsMain',
// component: () => import('@/pages/goods/main'),
// meta: {
// auth: true,
// title: '活动商品'
// }
// },
// // 演示页面
// {
// path: 'page1',
// name: 'page1',
// meta: {
// title: '页面 1',
// auth: true
// },
// component: _import('demo/page1')
// },
// {
// path: 'page2',
// name: 'page2',
// meta: {
// title: '页面 2',
// auth: true
// },
// component: _import('demo/page2')
// },
// {
// path: 'page3',
// name: 'page3',
// meta: {
// title: '页面 3',
// auth: true
// },
// component: _import('demo/page3')
// },
// {
// path: '/page-demo',
// name: 'page-demo',
// component: () => import('@/pages/page-demo'),
// meta: {
// auth: true,
// title: '新建示例'
// }
// },
// 系统 前端日志
{
path
:
'log'
,
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment