Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
S
SuperMan
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
1
Issues
1
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
罗超
SuperMan
Commits
2d23a51d
Commit
2d23a51d
authored
Apr 11, 2019
by
吴春
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交客户实名认证
parent
e8996745
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
3327 additions
and
2936 deletions
+3327
-2936
CustomerCertification.vue
src/components/SalesModule/CustomerCertification.vue
+376
-0
MyCustomer.vue
src/components/SalesModule/MyCustomer.vue
+4
-2
customerApproval.vue
src/components/SalesModule/customerApproval.vue
+4
-2
customerTransfer.vue
src/components/SalesModule/customerTransfer.vue
+4
-1
publicCustomer.vue
src/components/SalesModule/publicCustomer.vue
+7
-4
config.js
src/router/config.js
+2932
-2927
No files found.
src/components/SalesModule/CustomerCertification.vue
0 → 100644
View file @
2d23a51d
<
template
>
<div
class=
"CertificationDetail"
>
<div>
<div
:class=
"
{salesApprovalLayercontentDiv:showlayer,rightZero:isTransition}"
class="ownScrollbarStyle"
@click.stop
>
<div
class=
"title"
>
实名认证详情
</div>
<div
class=
"list"
>
<div
class=
"itemAnswer"
v-show=
"answerDetailList.length>0"
>
<div
class=
"item"
v-for=
"item in answerDetailList"
>
<div
class=
"topMsg"
>
<!--
<img
v-if=
"!item.photo"
src=
"../../assets/img/litheader.png"
>
<img
v-if=
"item.photo"
:onerror=
"defaultImg"
:src=
"item.photo"
>
-->
<p>
{{
item
.
CustomerName
}}
</p>
<p
class=
"mt5"
>
<i
class=
"iconfont icon-img_dianhua fz12"
style=
"color: #09d49d;"
></i>
<span
class=
"fz14 color333"
>
{{
item
.
Customer
}}
</span>
<span
class=
"fz14 color333"
>
{{
item
.
ContactPhone
}}
</span>
</p>
<p
class=
"fz12 color999 mt5"
>
{{
item
.
Addres
}}
</p>
</div>
<p
class=
"fz16 color666"
>
<i
class=
"iconfont icon-ico-renwuyaoqiu fz14 color999"
></i>
认证信息
</p>
<div
class=
"salesApprovalLayercontentBtn"
>
<p
class=
"fz12 color999 mt5"
>
认证方式:
{{
item
.
ApplyType
==
1
?
"三证合一"
:
"身份证+名片"
}}
</p>
<p
class=
"fz12 color999 mt5"
>
申请时间:
{{
item
.
CreateDateStr
}}
</p>
<div
v-if=
"item.CertificationPics&&item.CertificationPics.length>0"
>
<div
v-for=
"picItem in item.CertificationPics"
>
<img
v-if=
"!picItem"
src=
"../../assets/img/litheader.png"
>
<img
v-if=
"picItem"
:onerror=
"defaultImg"
:src=
"picItem"
></div>
</div>
<div>
<span
class=
"fz14 color333"
>
审批意见
</span>
</div>
<p
class=
"mt20"
>
<el-input
type=
"textarea"
v-model=
"Reason"
></el-input>
</p>
<input
type=
"button"
class=
"normalBtn mt20 fr"
value=
"通过"
@
click=
"saveIdea(item,1)"
>
<input
type=
"button"
class=
"normalBtn mt20 fr"
value=
"拒绝"
@
click=
"saveIdea(item,2)"
>
<span
class=
"fr cursorpointer colorE95252"
@
click=
"closeLayer"
>
取消
</span>
</div>
</div>
</div>
</div>
</div>
</div>
<div
class=
"query-box"
style=
"border: none;"
>
<ul>
<!--
<li><span><em>
姓名
</em></span>
<el-input
v-model=
'msg.CustomerName'
></el-input>
</li>
-->
<li>
<span>
<em>
申请时间
</em>
</span>
<el-date-picker
v-model=
"msg.SDate"
@
change=
"dataDui()"
class=
"w135"
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
-
<el-date-picker
v-model=
"msg.EDate"
@
change=
"dataDui()"
class=
"w135"
value-format=
"yyyy-MM-dd"
type=
"date"
></el-date-picker>
</li>
<li>
<span>
<em>
状态
</em>
</span>
<el-select
v-model=
"msg.MarkOverType"
>
<el-option
label=
"不限"
value=
"-1"
key=
"-1"
></el-option>
<el-option
label=
"申请中"
value=
"0"
key=
"0"
></el-option>
<el-option
label=
"通过"
value=
"1"
key=
"1"
></el-option>
<el-option
label=
"拒绝"
value=
"2"
key=
"2"
></el-option>
</el-select>
</li>
<li>
<input
type=
"button"
class=
"hollowFixedBtn"
value=
"查询"
@
click=
"resetPageIndex(),getList()"
>
</li>
</ul>
</div>
<table
class=
"publicCustomerTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
v-loading=
"loading"
>
<tr>
<th
width=
"20%"
>
门店名称
</th>
<th
width=
"10%"
>
联系人
</th>
<th
width=
"10%"
>
电话
</th>
<th
width=
"10%"
>
地址
</th>
<th
width=
"10%"
>
申请时间
</th>
<th
width=
"10%"
>
操作
</th>
</tr>
<tr>
<td
colspan=
"6"
align=
"center"
v-show=
"list.length==0"
>
暂无数据
</td>
</tr>
<tr
v-for=
"(item,index) in list"
>
<td>
{{
item
.
CustomerName
}}
</td>
<td>
{{
item
.
Customer
}}
</td>
<td>
{{
item
.
ContactPhone
}}
</td>
<td>
{{
item
.
Addres
}}
</td>
<td>
{{
item
.
CreateDateStr
}}
</td>
<td>
<input
type=
"button"
value=
"查看详情"
class=
"normalBtn"
style=
"margin-left: 0;"
@
click=
"getDetail(item)"
>
</td>
</tr>
</table>
<el-pagination
background
@
current-change=
"handleCurrentChange"
:current-page
.
sync=
"currentPage"
layout=
"total,prev, pager, next, jumper"
:page-size=
"msg.pageSize"
:total=
"total"
></el-pagination>
</div>
</
template
>
<
script
>
export
default
{
data
()
{
return
{
layerShow
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
10
,
SDate
:
""
,
EDate
:
""
,
ApplyState
:
"-1"
},
Reason
:
""
,
showlayer
:
false
,
loading
:
false
,
isTransition
:
false
,
currentPage
:
1
,
total
:
0
,
answerDetailList
:
[],
list
:
[]
};
},
methods
:
{
// 结束日期不能大于开始日期
dataDui
()
{
if
(
this
.
msg
.
SDate
>
this
.
msg
.
EDate
&&
this
.
msg
.
EDate
!==
""
)
{
this
.
$message
.
error
(
"结束日期不能大于开始日期"
);
this
.
msg
.
EDate
=
""
;
}
},
closeLayer
()
{
let
_this
=
this
;
setTimeout
(
function
()
{
_this
.
showlayer
=
false
;
},
300
);
this
.
isTransition
=
false
;
this
.
Reason
=
""
;
},
saveIdea
(
obj
,
applyState
)
{
console
.
log
(
obj
,
"sdsdsd"
);
obj
.
applyState
=
applyState
;
obj
.
Reason
=
this
.
Reason
;
this
.
apipost
(
"app_customer_UpdateCertification"
,
obj
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
success
(
res
.
data
.
message
);
this
.
getList
();
this
.
closeLayer
();
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"app_customer_GetCertificationPageList"
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
loading
=
false
;
this
.
list
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
loading
=
false
;
}
},
err
=>
{}
);
},
closeLayer
()
{
let
_this
=
this
;
setTimeout
(
function
()
{
_this
.
showlayer
=
false
;
},
300
);
this
.
isTransition
=
false
;
this
.
Reason
=
''
},
getDetail
(
obj
)
{
this
.
showlayer
=
true
;
this
.
isTransition
=
true
;
this
.
apipost
(
"app_customer_GetCertificationModel"
,
{
ID
:
obj
.
ID
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
answerDetailList
=
res
.
data
.
data
;
this
.
Reason
=
this
.
answerDetailList
[
0
].
Reason
;
}
else
{
this
.
$message
.
error
(
res
.
data
.
message
);
}
},
err
=>
{}
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
}
},
mounted
()
{
this
.
getList
();
}
};
</
script
>
<
style
>
.CertificationDetail
{
overflow-x
:
hidden
;
}
.CertificationDetail
.title
{
width
:
420px
;
height
:
48px
;
line-height
:
48px
;
text-indent
:
20px
;
font-size
:
16px
;
color
:
#333
;
}
.CertificationDetail
.list
.item
{
width
:
380px
;
height
:
auto
;
overflow
:
hidden
;
border
:
1px
solid
#e6e6e6
;
margin
:
20px
0
20px
20px
;
padding
:
20px
;
}
.CertificationDetail
.list
.item
.topMsg
{
overflow
:
hidden
;
padding-bottom
:
20px
;
border-bottom
:
1px
solid
#e6e6e6
;
}
.CertificationDetail
.list
.item
.topMsg
>
img
{
float
:
left
;
margin-right
:
13px
;
}
.CertificationDetail
.list
.item
.topMsg
.newGuest
{
width
:
50px
;
height
:
18px
;
text-align
:
center
;
font-size
:
14px
;
color
:
#257bf1
;
background
:
#dae4ff
;
}
.CertificationDetail
.list
.item
.bottomMsg
{
padding
:
15px
0
;
}
.CertificationDetail
.list
.itemAnswer
{
width
:
380px
;
height
:
auto
;
margin
:
20px
0
20px
20px
;
padding
:
20px
;
background
:
#ebf0ff
;
}
.CertificationDetail
.list
.itemAnswer
.answerItem
{
border-bottom
:
1px
solid
#bcc0cc
;
overflow
:
hidden
;
padding
:
15px
0
;
}
.CertificationDetail
.list
.itemAnswer
.answerItem
>
img
{
float
:
left
;
width
:
24px
;
height
:
24px
;
border-radius
:
12px
;
margin-right
:
10px
;
}
.publicCustomerTable
{
width
:
100%
;
font-size
:
14px
;
color
:
#333
;
border
:
1px
solid
#dcdcdc
;
box-sizing
:
border-box
;
border-bottom
:
none
;
border-right
:
none
;
}
.publicCustomerTable
tr
th
{
background
:
#dcdcdc
;
height
:
30px
;
font-size
:
12px
;
text-align
:
left
;
text-indent
:
25px
;
}
.publicCustomerTable
tr
{
text-align
:
left
;
}
.publicCustomerTable
tr
:nth-child
(
2n
)
{
background
:
#f2f2f2
;
}
.publicCustomerTable
tr
:nth-child
(
2n
+
1
)
{
background
:
#ffffff
;
}
.publicCustomerTable
tr
:hover
{
background
:
#d0d2d9
;
}
.publicCustomerTable
tr
td
{
height
:
40px
;
padding-left
:
25px
;
border-bottom
:
1px
solid
#dcdcdc
;
font-size
:
14px
;
color
:
#333
;
border-right
:
1px
solid
#dcdcdc
;
}
.pd20
{
padding
:
12px
20px
!important
;
}
.el-popper
[
x-placement
^=
"bottom"
]
{
margin-top
:
0px
!important
;
}
.el-popper
[
x-placement
^=
"top"
]
{
margin-bottom
:
0px
!important
;
}
.CertificationDetail
.ownScrollbarStyle
{
width
:
0px
;
position
:
absolute
;
right
:
0
;
background-color
:
white
;
transition
:
all
linear
0.5s
;
height
:
100%
;
overflow
:
hidden
;
}
.salesApprovalLayercontentDiv
{
width
:
450px
!important
;
}
</
style
>
\ No newline at end of file
src/components/SalesModule/MyCustomer.vue
View file @
2d23a51d
...
...
@@ -65,7 +65,9 @@
.page_MyCustomerSearch
li
>
span
{
display
:
inline-block
;
}
.page_MyCustomerSearch
li
span
>
em
{
display
:
inline-block
;
min-width
:
60px
;
text-align
:
right
;
font-style
:
normal
;
margin
:
0
12px
0
0
;}
.page_MyCustomerSearch
li
:last-child
{
float
:
right
;}
.page_MyCustomerSearch
._class_b
{
color
:
#257BF1
!important
}
</
style
>
<
template
>
<div
class=
"page_MyCustomer"
>
...
...
@@ -106,7 +108,7 @@
<img
v-if=
'item.icon'
:onerror=
"defaultImg"
:src=
'item.icon'
/>
<p>
{{
item
.
contact
}}
</p>
<p><i
class=
"iconfont icon-img_dianhua"
></i>
{{
item
.
contactNumber
}}
</p>
<p
class=
"_addr"
>
{{
item
.
customerName
}}
</p>
<p
class=
"_addr"
>
{{
item
.
customerName
}}
<i
class=
"iconfont icon-shimingrenzheng"
:class=
"
{'_class_b': item.RealNameAuthentication===1}">
</i>
</p>
</div>
<div
class=
"_record"
v-if=
"item.customerAccountId!=0"
>
<p
class=
"_fist_n"
v-if=
"item.customerVisitList.length>0"
>
近期约访:
{{
item
.
customerVisitList
[
0
].
visitDateTime
}}
</p>
...
...
src/components/SalesModule/customerApproval.vue
View file @
2d23a51d
...
...
@@ -27,7 +27,9 @@
.customerApprovalLayercontentBtn
>
span
.cked
{
border
:
2px
solid
#E95252
;
box-sizing
:
border-box
;}
.customerApprovalLayercontentBtn
>
span
>
img
{
float
:
left
;
margin
:
10px
23px
;
width
:
63px
;
height
:
63px
;}
.customerApproval
.lastVisitContent
{
background
:
#f5f5f5
;
font-size
:
12px
;
padding
:
5px
12px
;
margin-top
:
8px
;}
.customerApproval
._class_b
{
color
:
#257BF1
!important
}
</
style
>
<
template
>
...
...
@@ -197,7 +199,7 @@
<th
width=
"15%"
>
操作
</th>
</tr>
<tr
v-for=
"item in list"
>
<td
class=
"fz16"
>
{{
item
.
customerName
}}
</td>
<td
class=
"fz16"
>
{{
item
.
customerName
}}
<
i
class=
"iconfont icon-shimingrenzheng"
:class=
"
{'_class_b': item.RealNameAuthentication===1}">
</i><
/td>
<td>
{{
item
.
contact
}}
</td>
...
...
src/components/SalesModule/customerTransfer.vue
View file @
2d23a51d
...
...
@@ -115,7 +115,7 @@
@
change=
"ckeckedOne"
style=
"vertical-align: middle;"
>
{{
item
.
CustomerName
}}
{{
item
.
CustomerName
}}
<i
class=
"iconfont icon-shimingrenzheng"
:class=
"
{'_class_b': item.RealNameAuthentication===1}">
</i>
</label>
</td>
<td>
{{
item
.
Contact
}}
</td>
...
...
@@ -1045,6 +1045,9 @@ export default {
box-sizing
:
border-box
;
border-bottom
:
none
;
border-right
:
none
;
}
.customerTransferTable
._class_b
{
color
:
#257BF1
!important
}
.customerTransferTable
tr
th
{
background
:
#dcdcdc
;
...
...
src/components/SalesModule/publicCustomer.vue
View file @
2d23a51d
...
...
@@ -54,13 +54,13 @@
<th
width=
"20%"
>
<label><input
type=
"checkbox"
v-model=
"isCkedAll"
@
click=
'checkedAll()'
style=
"vertical-align: middle;"
/>
门店名称
</label>
</th>
<th
width=
"1
0
%"
>
联系电话
</th>
<th
width=
"1
7
%"
>
联系电话
</th>
<th
width=
"20%"
>
地址
</th>
<th
width=
"10%"
>
来源
</th>
<th
width=
"
10
%"
>
拜访次数
</th>
<th
width=
"
8
%"
>
拜访次数
</th>
<th
width=
"10%"
>
交易金额
</th>
<th
width=
"10%"
>
创建人
</th>
<th
width=
"
10
%"
>
操作
</th>
<th
width=
"
5
%"
>
操作
</th>
</tr>
<tr>
<td
colspan=
"8"
align=
"center"
v-show=
'list.length==0'
>
...
...
@@ -69,7 +69,7 @@
</tr>
<tr
v-for=
'(item,index) in list'
>
<td>
<label><input
type=
"checkbox"
:value=
"item.CustomerId"
v-model=
"customerList"
@
change=
"ckeckedOne"
style=
"vertical-align: middle;"
/>
{{
item
.
CustomerName
}}
</label>
<label><input
type=
"checkbox"
:value=
"item.CustomerId"
v-model=
"customerList"
@
change=
"ckeckedOne"
style=
"vertical-align: middle;"
/>
{{
item
.
CustomerName
}}
<
i
class=
"iconfont icon-shimingrenzheng"
:class=
"
{'_class_b': item.RealNameAuthentication===1}">
</i><
/label>
</td>
<td><i
class=
"iconfont icon-img_dianhua fz14"
style=
"color:#09D49D;margin-right: 5px;"
></i>
{{
item
.
ContactNumber
}}
</td>
<td>
{{
item
.
Address
}}
</td>
...
...
@@ -249,4 +249,7 @@
.pd20
{
padding
:
12px
20px
!important
;
}
.el-popper
[
x-placement
^=
bottom
]
{
margin-top
:
0px
!important
;}
.el-popper
[
x-placement
^=
top
]
{
margin-bottom
:
0px
!important
;}
.publicCustomerTable
._class_b
{
color
:
#257BF1
!important
}
</
style
>
\ No newline at end of file
src/router/config.js
View file @
2d23a51d
This source diff could not be displayed because it is too large. You can
view the blob
instead.
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