Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
C
CRM
Project
Project
Details
Activity
Releases
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
华国豪
CRM
Commits
d01ed87a
Commit
d01ed87a
authored
Mar 27, 2020
by
罗超
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
http://gitlab.oytour.com/huaguohao/crm
# Conflicts: # src/App.vue
parents
d1262dc5
13ea9508
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
123 additions
and
32 deletions
+123
-32
App.vue
src/App.vue
+1
-1
addBusinessBox.vue
src/components/businessManagement/addBusinessBox.vue
+13
-0
businessManagement.vue
src/components/businessManagement/businessManagement.vue
+26
-4
clueManagement.vue
src/components/clueManagement/clueManagement.vue
+1
-1
customerDialogBox.vue
src/components/clueManagement/customerDialogBox.vue
+13
-1
guestDialogBox.vue
src/components/clueManagement/guestDialogBox.vue
+13
-6
addContactsBox.vue
src/components/contactsManagement/addContactsBox.vue
+13
-1
contactsManagement.vue
src/components/contactsManagement/contactsManagement.vue
+1
-1
customerDialogBox.vue
src/components/dialogModel/customerDialogBox.vue
+13
-1
customerDialogBox.vue
src/components/guestManagement/customerDialogBox.vue
+13
-6
guestManagement.vue
src/components/guestManagement/guestManagement.vue
+3
-3
Opinionpolls.vue
src/components/statistics/Opinionpolls.vue
+3
-2
marriage.vue
src/components/statistics/marriage.vue
+4
-2
old.vue
src/components/statistics/old.vue
+4
-1
watersManagement.vue
src/components/watersManagement/watersManagement.vue
+2
-2
No files found.
src/App.vue
View file @
d01ed87a
...
...
@@ -30,7 +30,7 @@ export default {
@import
'./assets/css/tablevoerride.css'
;
@import
'./assets/global/font.css'
;
@import
'//at.alicdn.com/t/font_1627123_
6dhpsx1gwus
.css'
;
@import
'//at.alicdn.com/t/font_1627123_
98ft13ltmlv
.css'
;
@import
url('//at.alicdn.com/t/font_1627123_grz80mbm3sv.css')
;
/* @import './assets/css/common.css'; */
@import
'./assets/css/init.css'
;
...
...
src/components/businessManagement/addBusinessBox.vue
View file @
d01ed87a
...
...
@@ -322,8 +322,21 @@ export default {
},
deep
:
true
}
,
isGuest
:
{
handler
(
val
,
oldVal
){
if
(
val
)
{
this
.
form
.
CustomerType
=
1
this
.
getGuestList
()
}
else
{
this
.
getCustomerList
()
}
},
deep
:
true
}
},
mounted
()
{
console
.
log
(
this
.
isGuest
)
if
(
this
.
isGuest
)
{
this
.
form
.
CustomerType
=
1
this
.
getGuestList
()
...
...
src/components/businessManagement/businessManagement.vue
View file @
d01ed87a
...
...
@@ -14,13 +14,19 @@
</el-input>
</div>
<div
class=
"rightmenu"
>
<el-button
icon=
"el-icon-plus"
class=
"crm-btn org-btn"
@
click=
"BusinessId = 0, dialogBusinessVisibleName = '新建商机', dialogBusinessVisible=true"
>
新建商机
</el-button>
<el-dropdown
@
command=
"handleCommand"
>
<el-button
icon=
"el-icon-plus"
class=
"crm-btn org-btn"
>
新建商机
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"1"
><i
class=
"iconfont iconkehu"
></i>
客户商机
</el-dropdown-item>
<el-dropdown-item
command=
"2"
><i
class=
"iconfont icontongxunlu"
></i>
直客商机
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
<el-dropdown
@
command=
"handleCommand"
>
<el-button
class=
"crm-btn crm-btn-more easy-btn margin-right0"
>
<i
class=
"iconfont icongengduo"
></i>
</el-button>
<el-dropdown-menu
slot=
"dropdown"
>
<el-dropdown-item
command=
"
1
"
><i
class=
"iconfont icondaochu"
></i>
导入
</el-dropdown-item>
<el-dropdown-item
command=
"
d
"
><i
class=
"iconfont icondaochu"
></i>
导入
</el-dropdown-item>
</el-dropdown-menu>
</el-dropdown>
</div>
...
...
@@ -61,6 +67,13 @@
</el-popover>
</el-col>
<el-col
:span=
"4"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
客户类型
</span>
<el-select
size=
"mini"
v-model=
"msg.CustomerType"
placeholder=
"请选择"
@
change=
"getList"
>
<el-option
key=
"0"
label=
"客户"
:value=
"0"
></el-option>
<el-option
key=
"1"
label=
"直客"
:value=
"1"
></el-option>
</el-select>
</el-col>
<el-col
:span=
"4"
>
<el-button
icon=
"iconfont iconshaixuan"
class=
"crm-btn query-btn crm-btn-mini margin-right0"
@
click=
"MsgBus.$emit('sceneBoxShow', 3)"
>
高级筛选
</el-button>
</el-col>
...
...
@@ -246,7 +259,7 @@
</div>
<!-- 添加商机弹窗 -->
<div
v-if=
"dialogBusinessVisible"
>
<addBusinessBox
@
getList=
"getList"
:name=
"dialogBusinessVisibleName"
:ID=
"BusinessId"
/>
<addBusinessBox
@
getList=
"getList"
:name=
"dialogBusinessVisibleName"
:ID=
"BusinessId"
:isGuest=
"isGuest"
/>
</div>
<!-- 添加团队成员弹窗 -->
<div
v-if=
"addBusinessShow"
>
...
...
@@ -383,6 +396,7 @@ export default {
show
:
true
,
}
],
isGuest
:
false
,
BusinessId
:
0
,
BusinessIdCustomerId
:
0
,
dialogTableVisibleName
:
'新建客户'
,
...
...
@@ -415,7 +429,8 @@ export default {
ContactNumber
:
''
,
WhereType
:
-
1
,
OrderBy
:
''
,
ID
:
24
ID
:
24
,
CustomerType
:
0
},
total
:
0
,
WhereTypeList
:
[
...
...
@@ -492,7 +507,14 @@ export default {
},
methods
:
{
handleCommand
(
command
){
if
(
command
===
'd'
)
{
this
.
$message
.
warning
(
'功能正在开发中~'
);
}
else
{
this
.
isGuest
=
command
===
'1'
?
false
:
true
this
.
BusinessId
=
0
this
.
dialogBusinessVisibleName
=
'新建商机'
this
.
dialogBusinessVisible
=
true
}
},
changeWhere
(
item
){
this
.
msg
.
ID
=
item
.
ID
...
...
src/components/clueManagement/clueManagement.vue
View file @
d01ed87a
...
...
@@ -135,7 +135,7 @@
tooltip-effect=
"dark"
style=
"width: 100%"
:height=
"sceneList.length > 0 ? '600' : '660'"
border
border
row-class-name=
"font-size-12"
@
selection-change=
"handleSelectionChange"
>
<el-table-column
fixed
type=
"selection"
width=
"40"
></el-table-column>
...
...
src/components/clueManagement/customerDialogBox.vue
View file @
d01ed87a
...
...
@@ -414,6 +414,18 @@ export default {
}
},
data
()
{
let
checkPhone
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
return
callback
(
new
Error
(
'手机号不能为空'
));
}
else
{
const
reg
=
/^1
[
3|4|5|7|8
][
0-9
]\d{8}
$/
if
(
reg
.
test
(
value
))
{
callback
();
}
else
{
return
callback
(
new
Error
(
'请输入正确的手机号'
));
}
}
}
return
{
dialogTableVisible
:
false
,
SourceEnum
:
[],
...
...
@@ -466,7 +478,7 @@ export default {
{
required
:
true
,
message
:
'请输入联系人'
,
trigger
:
'blur'
}
],
ContactNumber
:
[
{
required
:
true
,
message
:
'请输入联系电话'
,
trigger
:
'blur'
}
{
validator
:
checkPhone
,
trigger
:
'blur'
}
],
Premises
:
[
{
required
:
true
,
message
:
'请选择经营场所'
,
trigger
:
'change'
}
...
...
src/components/clueManagement/guestDialogBox.vue
View file @
d01ed87a
...
...
@@ -455,6 +455,18 @@ export default {
}
},
data
()
{
let
checkPhone
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
return
callback
(
new
Error
(
'手机号不能为空'
));
}
else
{
const
reg
=
/^1
[
3|4|5|7|8
][
0-9
]\d{8}
$/
if
(
reg
.
test
(
value
))
{
callback
();
}
else
{
return
callback
(
new
Error
(
'请输入正确的手机号'
));
}
}
}
return
{
dialogTableVisible
:
false
,
SourceEnum
:
[],
...
...
@@ -597,12 +609,7 @@ export default {
message
:
"请填写签发地"
,
trigger
:
"blur"
}],
MobilePhone
:
[{
required
:
true
,
message
:
"请填写手机号码"
,
trigger
:
"blur"
}
],
MobilePhone
:
[{
validator
:
checkPhone
,
trigger
:
'blur'
}],
Nationality
:
[{
required
:
true
,
message
:
"请选择国籍"
,
...
...
src/components/contactsManagement/addContactsBox.vue
View file @
d01ed87a
...
...
@@ -142,6 +142,18 @@
export
default
{
props
:
[
'ID'
,
'name'
],
data
()
{
let
checkPhone
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
return
callback
(
new
Error
(
'手机号不能为空'
));
}
else
{
const
reg
=
/^1
[
3|4|5|7|8
][
0-9
]\d{8}
$/
if
(
reg
.
test
(
value
))
{
callback
();
}
else
{
return
callback
(
new
Error
(
'请输入正确的手机号'
));
}
}
}
return
{
dialogTableVisible
:
true
,
rules
:
{
...
...
@@ -161,7 +173,7 @@ export default {
{
required
:
true
,
message
:
'请输入联系人姓名'
,
trigger
:
'blur'
}
],
ContactPhone
:
[
{
required
:
true
,
message
:
'请输入联系电话'
,
trigger
:
'blur'
}
{
required
:
true
,
validator
:
checkPhone
,
trigger
:
'blur'
}
],
},
zwList
:
[],
...
...
src/components/contactsManagement/contactsManagement.vue
View file @
d01ed87a
...
...
@@ -161,7 +161,7 @@
show-overflow-tooltip
>
</el-table-column>
<el-table-column
prop=
"UpdateTime
s
tr"
prop=
"UpdateTime
S
tr"
label=
"更新时间"
v-if=
"queryType[6].show"
show-overflow-tooltip
>
...
...
src/components/dialogModel/customerDialogBox.vue
View file @
d01ed87a
...
...
@@ -408,6 +408,18 @@ export default {
}
},
data
()
{
let
checkPhone
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
return
callback
(
new
Error
(
'手机号不能为空'
));
}
else
{
const
reg
=
/^1
[
3|4|5|7|8
][
0-9
]\d{8}
$/
if
(
reg
.
test
(
value
))
{
callback
();
}
else
{
return
callback
(
new
Error
(
'请输入正确的手机号'
));
}
}
}
return
{
dialogTableVisible
:
false
,
SourceEnum
:
[],
...
...
@@ -460,7 +472,7 @@ export default {
{
required
:
true
,
message
:
'请输入联系人'
,
trigger
:
'blur'
}
],
ContactNumber
:
[
{
required
:
true
,
message
:
'请输入联系电话'
,
trigger
:
'blur'
}
{
required
:
true
,
validator
:
checkPhone
,
trigger
:
'blur'
}
],
Premises
:
[
{
required
:
true
,
message
:
'请选择经营场所'
,
trigger
:
'change'
}
...
...
src/components/guestManagement/customerDialogBox.vue
View file @
d01ed87a
...
...
@@ -456,6 +456,18 @@ export default {
}
},
data
()
{
let
checkPhone
=
(
rule
,
value
,
callback
)
=>
{
if
(
!
value
)
{
return
callback
(
new
Error
(
'手机号不能为空'
));
}
else
{
const
reg
=
/^1
[
3|4|5|7|8
][
0-9
]\d{8}
$/
if
(
reg
.
test
(
value
))
{
callback
();
}
else
{
return
callback
(
new
Error
(
'请输入正确的手机号'
));
}
}
}
return
{
dialogTableVisible
:
false
,
SourceEnum
:
[],
...
...
@@ -598,12 +610,7 @@ export default {
message
:
"请填写签发地"
,
trigger
:
"blur"
}],
MobilePhone
:
[{
required
:
true
,
message
:
"请填写手机号码"
,
trigger
:
"blur"
}
],
MobilePhone
:
[{
required
:
true
,
validator
:
checkPhone
,
trigger
:
'blur'
}],
Nationality
:
[{
required
:
true
,
message
:
"请选择国籍"
,
...
...
src/components/guestManagement/guestManagement.vue
View file @
d01ed87a
...
...
@@ -62,13 +62,13 @@
</el-select>
</el-popover>
</el-col>
<el-col
:span=
"4"
>
<
!--
<
el-col
:span=
"4"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
客户类型
</span>
<el-select
size=
"mini"
v-model=
"msg.CustomerType"
placeholder=
"请选择"
@
change=
"getList"
>
<el-option
key=
"0"
label=
"客户"
:value=
"0"
></el-option>
<el-option
key=
"1"
label=
"直客"
:value=
"1"
></el-option>
</el-select>
</el-col>
</el-col>
-->
<el-col
:span=
"4"
>
<el-button
icon=
"iconfont iconshaixuan"
class=
"crm-btn query-btn crm-btn-mini margin-right0"
@
click=
"MsgBus.$emit('sceneBoxShow', 5)"
>
高级筛选
</el-button>
</el-col>
...
...
@@ -189,7 +189,7 @@
v-if=
"queryType[29].show"
show-overflow-tooltip
>
<
template
slot-scope=
"scope"
>
<
p
v-for=
"(item, index) in scope.row.EconomicCapability"
:key=
"index"
>
{{
item
.
Value
}}
</p
>
<
span
v-for=
"(item, index) in scope.row.EconomicCapability"
:key=
"index"
>
{{
item
.
Value
}}{{
index
===
scope
.
row
.
EconomicCapability
.
length
-
1
?
''
:
'、'
}}
</span
>
</
template
>
</el-table-column>
<el-table-column
...
...
src/components/statistics/Opinionpolls.vue
View file @
d01ed87a
...
...
@@ -130,7 +130,7 @@
<
template
>
<div
class=
"sex Opinionpolls"
v-loading=
"loading"
>
<div
class=
"statistics-title bold18"
>
意见调查统计
</div>
<div
class=
"conten-box"
v-if=
"!loading"
>
<div
class=
"conten-box"
>
<el-row
:gutter=
"25"
class=
"top"
>
<el-col
:span=
"6"
style=
"height: 450px"
>
<el-card
style=
"height: calc(100% - 2px);background:#FFA475"
>
...
...
@@ -353,8 +353,9 @@ export default {
myChart
.
setOption
(
option
);
},
getData
(){
//
this.loading = true
this
.
loading
=
true
this
.
apipost
(
"/api/Statistic/GetGuestSurveyList"
,
{},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
dataList
=
res
.
data
.
data
;
this
.
chartData
=
[];
...
...
src/components/statistics/marriage.vue
View file @
d01ed87a
...
...
@@ -84,7 +84,7 @@
<
template
>
<div
class=
"marriage"
v-loading=
"loading"
>
<div
class=
"statistics-title bold18"
>
婚姻统计
</div>
<div
class=
"conten-box"
v-if=
"!loading"
>
<div
class=
"conten-box"
>
<el-row
:gutter=
"25"
class=
"top"
>
<el-col
:span=
"12"
class=
"left"
>
<el-card
class=
"blue"
>
...
...
@@ -187,7 +187,7 @@ export default {
BbsList
:
[],
isShow
:
false
,
orders
:[],
dataList
:[]
dataList
:[]
,
};
},
watch
:{
...
...
@@ -197,7 +197,9 @@ export default {
},
methods
:
{
initData
()
{
this
.
loading
=
true
;
this
.
apipost
(
"/api/Statistic/GetMarriageShopList"
,
{},
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
){
this
.
strArr
=
[];
let
data
=
res
.
data
.
data
;
...
...
src/components/statistics/old.vue
View file @
d01ed87a
<
template
>
<div
class=
"old-box"
>
<div
class=
"old-box"
v-loading=
"loading"
>
<div
class=
"statistics-title bold18"
>
客户年龄分布统计
</div>
<el-row
:gutter=
"25"
style=
"height:calc(100% - 62px)"
>
<el-col
:span=
"12"
style=
"height:100%;"
>
...
...
@@ -132,6 +132,7 @@ export default {
showChats
:
[],
moneys
:
[],
isLoaded
:
false
,
loading
:
false
,
icons
:
[
"icon-yinger"
,
"icon-ertong"
,
...
...
@@ -164,7 +165,9 @@ export default {
});
},
init
()
{
this
.
loading
=
true
;
this
.
apipost
(
"/api/Statistic/GetAgeShopList"
,
{},
res
=>
{
this
.
loading
=
false
;
res
.
data
.
data
.
forEach
(
x
=>
{
this
.
scaleData
.
push
({
name
:
x
.
AgeTypeName
,
...
...
src/components/watersManagement/watersManagement.vue
View file @
d01ed87a
...
...
@@ -49,13 +49,13 @@
</el-select>
</el-popover>
</el-col>
<el-col
:span=
"4"
>
<
!--
<
el-col
:span=
"4"
>
<span
class=
"font-size-12"
style=
"padding-right: 10px"
>
客户类型
</span>
<el-select
size=
"mini"
v-model=
"msg.CustomerType"
placeholder=
"请选择"
@
change=
"getList"
>
<el-option
key=
"0"
label=
"客户"
:value=
"0"
></el-option>
<el-option
key=
"1"
label=
"直客"
:value=
"1"
></el-option>
</el-select>
</el-col>
</el-col>
-->
<el-col
:span=
"4"
>
<el-button
icon=
"iconfont iconshaixuan"
class=
"crm-btn query-btn crm-btn-mini margin-right0"
@
click=
"MsgBus.$emit('sceneBoxShow', 6)"
>
高级筛选
</el-button>
</el-col>
...
...
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