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
27477f5d
Commit
27477f5d
authored
Jan 14, 2020
by
xd
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
按照原型修改
parent
d804dc17
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
169 additions
and
89 deletions
+169
-89
index.scss
ybf_admin/src/assets/style/pagination/index.scss
+1
-1
addCounter.vue
ybf_admin/src/pages/in/contact/components/addCounter.vue
+38
-14
addStore.vue
ybf_admin/src/pages/in/contact/components/addStore.vue
+49
-19
history.vue
ybf_admin/src/pages/in/contact/components/history.vue
+0
-7
storeDetail.vue
ybf_admin/src/pages/in/contact/components/storeDetail.vue
+26
-18
counter.vue
ybf_admin/src/pages/in/contact/counter.vue
+2
-2
mail.vue
ybf_admin/src/pages/in/contact/mail.vue
+51
-26
index.js
ybf_admin/src/router/index.js
+2
-2
No files found.
ybf_admin/src/assets/style/pagination/index.scss
View file @
27477f5d
...
...
@@ -22,7 +22,7 @@ div::-webkit-scrollbar-thumb:hover{
background
:
#555
;
}
div
:
:-
webkit-scrollbar-corner
{
background
:
#179a16
;
//
background: #179a16;
}
.el-table.list
{
.el-button--text
{
...
...
ybf_admin/src/pages/in/contact/components/addCounter.vue
View file @
27477f5d
...
...
@@ -29,14 +29,6 @@
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=
"柜组负责人:"
prop=
"people"
>
<el-select
size=
"small"
...
...
@@ -52,7 +44,15 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"柜组编号:"
>
<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"
...
...
@@ -83,8 +83,13 @@
</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
@
click=
"handleCancel('addCounter')"
size=
"small"
>
取 消
</el-button
>
<el-button
type=
"primary"
@
click=
"handleFinish('addCounter')"
size=
"small"
>
确 定
</el-button
>
</span>
...
...
@@ -104,7 +109,16 @@ export default {
});
}
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
(),
...
...
@@ -133,10 +147,20 @@ export default {
}
],
rules
:
{
name
:
[{
required
:
true
,
message
:
"请输入柜组名称"
,
trigger
:
"blur"
}],
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"
}]
}
};
},
...
...
ybf_admin/src/pages/in/contact/components/addStore.vue
View file @
27477f5d
...
...
@@ -21,7 +21,7 @@
ref=
"addStore"
:rules=
"rules"
>
<el-form-item
label=
"
柜组
名称:"
prop=
"name"
>
<el-form-item
label=
"
门店
名称:"
prop=
"name"
>
<el-input
size=
"small"
v-model=
"formData.name"
...
...
@@ -29,7 +29,7 @@
placeholder=
"请输入门店名称"
/>
</el-form-item>
<el-form-item
label=
"门店类型:"
>
<el-form-item
label=
"门店类型:"
prop=
"type"
>
<el-select
size=
"small"
v-model=
"formData.type"
...
...
@@ -37,44 +37,44 @@
style=
"width:240px"
>
<el-option
v-for=
"item in
personList
"
v-for=
"item in
storeType
"
:key=
"item.id"
:label=
"item.name"
:value=
"item.id"
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"
所属柜组:"
prop=
"counter
"
>
<el-form-item
label=
"
门店负责人:"
prop=
"people
"
>
<el-select
size=
"small"
v-model=
"formData.
counter
"
placeholder=
"请选择
所属柜组
"
v-model=
"formData.
people
"
placeholder=
"请选择
门店负责人
"
style=
"width:240px"
>
<el-option
v-for=
"item in
counter
"
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=
"people
"
>
<el-form-item
label=
"
所属柜组:"
prop=
"counter
"
>
<el-select
size=
"small"
v-model=
"formData.
people
"
placeholder=
"请选择
柜组负责人
"
v-model=
"formData.
counter
"
placeholder=
"请选择
所属柜组
"
style=
"width:240px"
>
<el-option
v-for=
"item in
personList
"
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-form-item>
<el-form-item
label=
"门牌号:"
prop=
"number"
>
<el-input
size=
"small"
v-model=
"formData.number"
...
...
@@ -82,7 +82,7 @@
placeholder=
"请输入门牌号"
/>
</el-form-item>
<el-form-item
label=
"位置:"
>
<el-form-item
label=
"位置:"
prop=
"area"
>
<el-input
size=
"small"
v-model=
"formData.area"
...
...
@@ -135,6 +135,15 @@ export default {
}
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
{
addStoreDialog
:
false
,
data
:
generateData
(),
...
...
@@ -147,10 +156,20 @@ export default {
name
:
""
,
code
:
""
,
people
:
""
,
type
:
""
,
type
:
"
1
"
,
number
:
""
,
area
:
""
},
storeType
:
[
{
id
:
"1"
,
name
:
"普通门店"
},
{
id
:
"2"
,
name
:
"专柜"
}
],
personList
:
[
{
id
:
"1"
,
...
...
@@ -172,13 +191,24 @@ export default {
}
],
rules
:
{
name
:
[{
required
:
true
,
message
:
"请输入柜组名称"
,
trigger
:
"blur"
}],
name
:
[{
required
:
true
,
message
:
"请输入柜组名称"
,
trigger
:
"blur"
},
{
validator
:
nameValidate
,
trigger
:
"blur"
},
{
max
:
50
,
message
:
'长度在50个字符以内'
,
trigger
:
'blur'
}],
people
:
[
{
required
:
true
,
message
:
"请选择
活动
负责人"
,
trigger
:
"change"
}
{
required
:
true
,
message
:
"请选择
门店
负责人"
,
trigger
:
"change"
}
],
type
:
[
{
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'
},
]
}
};
},
...
...
@@ -245,7 +275,7 @@ export default {
padding
:
0
;
}
.ct
>>>
.el-transfer-panel
{
width
:
25
0px
;
width
:
18
0px
;
}
.circle
{
width
:
30px
;
...
...
ybf_admin/src/pages/in/contact/components/history.vue
View file @
27477f5d
...
...
@@ -15,17 +15,10 @@
:header-cell-style=
"setListsHeadStyle"
>
<el-table-column
label=
"序号"
width=
"70"
type=
"index"
align=
"center"
></el-table-column>
<el-table-column
prop=
"taskName"
label=
"门店名称"
align=
"center"
></el-table-column>
<el-table-column
prop=
"taskType"
label=
"姓名"
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
prop=
"bar"
...
...
ybf_admin/src/pages/in/contact/components/storeDetail.vue
View file @
27477f5d
...
...
@@ -19,7 +19,7 @@
label-width=
"auto"
disabled
>
<el-form-item
label=
"
柜组
名称:"
>
<el-form-item
label=
"
门店
名称:"
>
<el-input
size=
"small"
v-model=
"formData.name"
...
...
@@ -42,52 +42,52 @@
></el-option>
</el-select>
</el-form-item>
<el-form-item
label=
"
所属柜组
:"
>
<el-form-item
label=
"
门店负责人
:"
>
<el-select
size=
"small"
v-model=
"formData.
counter
"
placeholder=
"请选择
所属柜组
"
v-model=
"formData.
people
"
placeholder=
"请选择
柜组负责人
"
style=
"width:240px"
>
<el-option
v-for=
"item in
counter
"
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-form-item
label=
"
所属柜组
:"
>
<el-select
size=
"small"
v-model=
"formData.
people
"
placeholder=
"请选择
柜组负责人
"
v-model=
"formData.
counter
"
placeholder=
"请选择
所属柜组
"
style=
"width:240px"
>
<el-option
v-for=
"item in
personList
"
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-form-item>
<el-form-item
label=
"
位置
:"
>
<el-input
size=
"small"
v-model=
"formData.
number
"
v-model=
"formData.
area
"
style=
"width:240px"
placeholder=
"请输入
门牌号
"
placeholder=
"请输入
位置
"
/>
</el-form-item>
<el-form-item
label=
"
位置
:"
>
</el-form-item>
<el-form-item
label=
"
门牌号
:"
>
<el-input
size=
"small"
v-model=
"formData.
area
"
v-model=
"formData.
number
"
style=
"width:240px"
placeholder=
"请输入
位置
"
placeholder=
"请输入
门牌号
"
/>
</el-form-item>
</el-form-item>
<div
class=
"tb"
>
<el-form-item
label=
"绑定店员:"
>
</el-form-item>
<el-table
...
...
@@ -125,6 +125,14 @@
<
script
>
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
{
formData
:
{
name
:
""
,
...
...
ybf_admin/src/pages/in/contact/counter.vue
View file @
27477f5d
...
...
@@ -39,7 +39,7 @@
<el-table-column
type=
"selection"
width=
"60"
></el-table-column>
<el-table-column
prop=
"taskName"
label=
"柜组
名称
"
label=
"柜组"
align=
"center"
></el-table-column>
<el-table-column
...
...
@@ -56,7 +56,7 @@
></el-table-column>
<el-table-column
prop=
"bar"
label=
"所
有
区域"
label=
"所
在
区域"
align=
"center"
width=
"120"
></el-table-column>
...
...
ybf_admin/src/pages/in/contact/mail.vue
View file @
27477f5d
...
...
@@ -25,7 +25,7 @@
>
<span
class=
"custom-tree-node"
slot-scope=
"
{ node, data }">
<span>
{{
node
.
label
}}
</span>
<span
style=
"margin-left:20px;"
>
<
!--
<
span
style=
"margin-left:20px;"
>
<d2-icon-svg
name=
"edit"
class=
"icon"
...
...
@@ -36,6 +36,14 @@
class=
"icon"
@
click=
"() => remove(node, data)"
/>
</span>
-->
<span
style=
"margin-left:8px;"
class=
"btn"
>
<el-button
type=
"text"
size=
"mini"
@
click=
"() => edit(data)"
>
<i
class=
"el-icon-edit"
></i>
</el-button>
<el-button
type=
"text"
size=
"mini"
@
click=
"() => remove(node, data)"
>
<i
class=
"el-icon-remove-outline"
></i>
</el-button>
</span>
</span>
</el-tree>
...
...
@@ -43,7 +51,7 @@
</div>
</div>
<div
class=
"end"
>
<
span
class=
"add-l"
@
click=
"addCounter"
>
添加柜组
</span
>
<
!--
<span
class=
"add-l"
@
click=
"addCounter"
>
添加柜组
</span>
--
>
<span
class=
"add-r"
@
click=
"addStore"
>
添加门店/专柜
</span>
</div>
</div>
...
...
@@ -52,15 +60,15 @@
<div
class=
"top"
>
三号柜组(共18人)
</div>
<div
class=
"searchs"
>
<div
class=
"buttons"
>
<el-button
class=
"button buttondark"
size=
"small"
@
click=
"handleMove"
>
移动
</el-button
>
<el-button
class=
"button buttonlight"
size=
"small"
@
click=
"synchronismMember"
>
同步成员
</el-button
>
<el-button
class=
"button buttondark"
size=
"small"
@
click=
"handleMove"
>
移动
</el-button
>
>
同步记录
</el-button
>
</div>
<!-- 搜索区 -->
<el-form
...
...
@@ -78,6 +86,7 @@
/>
</el-form-item>
<el-button
class=
"button buttondark"
size=
"small"
>
搜索
</el-button>
</el-form>
</div>
<el-table
...
...
@@ -128,6 +137,13 @@
align=
"center"
width=
"120"
></el-table-column>
<el-table-column
label=
"操作"
align=
"center"
fixed=
"right"
width=
"120"
>
<
template
slot-scope=
"scope"
>
<el-button
class=
"btn"
@
click=
"handleShopowner(scope.row)"
size=
"small"
>
设为店长
</el-button
>
</
template
>
</el-table-column>
</el-table>
<div
class=
"fy"
>
<el-pagination
...
...
@@ -139,8 +155,6 @@
>
</el-pagination>
</div>
<!-- </div> -->
</div>
<move-dialog
v-if=
"moveDialogShow"
...
...
@@ -148,14 +162,15 @@
@
handleCancel=
"moveDialogShow = false"
@
handleFinish=
"removeFinish"
></move-dialog>
<add-counter
ref=
"addCounter"
></add-counter>
<add-store
ref=
"addStore"
></add-store>
<!-- <add-counter ref="addCounter"></add-counter> -->
</div>
</template>
<
script
>
import
MoveDialog
from
"./components/move"
;
import
AddCounter
from
"./components/addCounter"
;
//
import AddCounter from "./components/addCounter";
import
AddStore
from
"./components/addStore"
;
import
{
getMailList
}
from
"@/api/jinjian"
export
default
{
...
...
@@ -334,7 +349,7 @@ export default {
},
components
:
{
MoveDialog
,
AddCounter
,
//
AddCounter,
AddStore
},
created
()
{
...
...
@@ -348,12 +363,19 @@ export default {
}
data
.
children
.
push
(
newChild
);
},
edit
(
data
)
{},
remove
(
node
,
data
)
{
const
parent
=
node
.
parent
;
const
children
=
parent
.
data
.
children
||
parent
.
data
;
const
index
=
children
.
findIndex
(
d
=>
d
.
id
===
data
.
id
);
children
.
splice
(
index
,
1
);
edit
(
data
)
{
console
.
log
(
1111
);
},
remove
(
data
)
{
console
.
log
(
"删除"
);
this
.
$confirm
(
'门店下包含成员,删除后所有成员将被移动到“未分组”列表,是否确认继续删除?'
,
{
}).
then
(()
=>
{
this
.
$message
.
success
(
"删除成功"
)
}).
catch
(()
=>
{
this
.
$message
.
info
(
"取消删除"
)
});
},
listPick
()
{},
testButtonClick
()
{},
...
...
@@ -371,10 +393,12 @@ export default {
this
.
moveDialogShow
=
false
;
},
handleCurrentChange
()
{},
addCounter
()
{
/*
addCounter() {
this.$refs.addCounter.counterDialog = true;
},
},
*/
addStore
()
{
console
.
log
(
"触发没"
);
this
.
$refs
.
addStore
.
addStoreDialog
=
true
;
},
getMailList
()
{
...
...
@@ -385,12 +409,18 @@ export default {
console
.
log
(
res
,
"通讯录表格数据"
);
})
},
handleShopowner
()
{
}
}
};
</
script
>
<
style
scoped
>
.btn
>>>
.el-button
+
.el-button
{
margin-left
:
5px
;
}
.mail
{
display
:
flex
;
width
:
100%
;
...
...
@@ -505,12 +535,7 @@ export default {
flex-direction
:
column
;
justify-content
:
flex-start
;
}
.searchzone
{
height
:
40px
;
width
:
auto
;
min-width
:
654px
;
text-align
:
right
;
}
.lists
{
height
:
auto
;
min-height
:
70%
;
...
...
ybf_admin/src/router/index.js
View file @
27477f5d
...
...
@@ -32,7 +32,7 @@ const router = new VueRouter({
* 路由拦截
* 权限验证
*/
router
.
beforeEach
(
async
(
to
,
from
,
next
)
=>
{
/*
router.beforeEach(async (to, from, next) => {
// 确认已经加载多标签页数据 https://github.com/d2-projects/d2-admin/issues/201
await store.dispatch('d2admin/page/isLoaded')
// 确认已经加载组件尺寸设置 https://github.com/d2-projects/d2-admin/issues/198
...
...
@@ -64,7 +64,7 @@ router.beforeEach(async (to, from, next) => {
// 不需要身份校验 直接通过
next()
}
})
})
*/
router
.
afterEach
(
to
=>
{
// 进度条
...
...
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