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
4cf0bb33
Commit
4cf0bb33
authored
Feb 10, 2020
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
新增客户
parent
8ed6aef2
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
846 additions
and
285 deletions
+846
-285
App.vue
src/App.vue
+4
-1
init.css
src/assets/css/init.css
+7
-0
tablevoerride.css
src/assets/css/tablevoerride.css
+3
-0
kehu1.png
src/assets/img/cust/kehu1.png
+0
-0
kehu2.png
src/assets/img/cust/kehu2.png
+0
-0
upimg.png
src/assets/img/cust/upimg.png
+0
-0
customerManage.vue
src/components/customerManage/customerManage.vue
+637
-254
customerManageDemo.vue
src/components/customerManage/customerManageDemo.vue
+30
-30
select.vue
src/components/select/select.vue
+116
-0
index.js
src/plugins/index.js
+49
-0
No files found.
src/App.vue
View file @
4cf0bb33
...
...
@@ -28,10 +28,13 @@ export default {
<
style
>
@import
'./assets/global/font.css'
;
@import
'//at.alicdn.com/t/font_1627123_
1vlackz9u42
.css'
;
@import
'//at.alicdn.com/t/font_1627123_
qxpux1x1ujg
.css'
;
/* @import './assets/css/common.css'; */
@import
'./assets/css/init.css'
;
@import
'./assets/css/tablevoerride.css'
;
.el-table__fixed-body-wrapper
.el-table__body
{
padding-bottom
:
8px
!important
;
}
body
,
html
{
padding
:
0px
;
margin
:
0px
;
...
...
src/assets/css/init.css
View file @
4cf0bb33
...
...
@@ -154,3 +154,10 @@ table { border-collapse:collapse; border-spacing:0; }
.font-size-12
{
font-size
:
12px
;
}
/* flex */
.flex-center
{
display
:
flex
;
align-items
:
center
;
}
\ No newline at end of file
src/assets/css/tablevoerride.css
View file @
4cf0bb33
...
...
@@ -35,3 +35,6 @@
.el-table--border
{
border-right
:
1px
solid
#E6E6E6
!important
;
}
.el-table__fixed-body-wrapper
.el-table__body
{
padding-bottom
:
8px
!important
;
}
\ No newline at end of file
src/assets/img/cust/kehu1.png
0 → 100644
View file @
4cf0bb33
983 Bytes
src/assets/img/cust/kehu2.png
0 → 100644
View file @
4cf0bb33
625 Bytes
src/assets/img/cust/upimg.png
0 → 100644
View file @
4cf0bb33
1.13 KB
src/components/customerManage/customerManage.vue
View file @
4cf0bb33
This diff is collapsed.
Click to expand it.
src/components/customerManage/customerManageDemo.vue
View file @
4cf0bb33
<
style
>
.customerManage
.tools
{
.customerManage
2
.tools
{
display
:
flex
;
justify-content
:
space-between
;
padding-bottom
:
15px
;
...
...
@@ -9,39 +9,39 @@
left
:
30px
;
right
:
30px
;
}
.customerManage
.tools
h1
{
.customerManage
2
.tools
h1
{
font-weight
:
bold
;
font-size
:
18px
;
font-family
:
perfectFont
!important
;
}
.customerManage
.tools
.rightmenu
{
.customerManage
2
.tools
.rightmenu
{
display
:
flex
;
align-items
:
center
;
}
.customerManage
.tools
.rightmenu
.el-button
{
.customerManage
2
.tools
.rightmenu
.el-button
{
border-radius
:
0
;
padding
:
9px
30px
;
margin-right
:
20px
;
}
.customerManage
.tools
.gaoji
{
.customerManage
2
.tools
.gaoji
{
font-size
:
12px
;
font-weight
:
400
;
color
:
rgba
(
13
,
36
,
129
,
1
);
margin-right
:
35px
;
cursor
:
pointer
;
}
.customerManage
.tools
.gaoji
:hover
{
.customerManage
2
.tools
.gaoji
:hover
{
color
:
rgba
(
13
,
36
,
129
,
.8
);
}
.customerManage
.tools
.gaoji
.iconfont
{
.customerManage
2
.tools
.gaoji
.iconfont
{
font-size
:
12px
;
padding-left
:
5px
;
}
.customerManage
.query-box
{
.customerManage
2
.query-box
{
padding
:
25px
0
;
display
:
none
;
}
.customerManage
.table-btn
{
.customerManage
2
.table-btn
{
display
:
inline-block
;
width
:
24px
;
height
:
24px
;
...
...
@@ -50,41 +50,41 @@
cursor
:
pointer
;
margin-right
:
10px
;
}
.customerManage
.table-btn.blue
{
.customerManage
2
.table-btn.blue
{
color
:
rgba
(
13
,
36
,
129
,
1
);
background-color
:
rgba
(
13
,
36
,
129
,
.3
);
}
.customerManage
.table-btn.org
{
.customerManage
2
.table-btn.org
{
color
:
#FFA475
;
background-color
:
rgba
(
255
,
164
,
117
,
.3
);
}
.customerManage
.table-btn.green
{
.customerManage
2
.table-btn.green
{
color
:
rgba
(
148
,
184
,
119
,
1
);
background-color
:
rgba
(
148
,
184
,
119
,
.3
);
}
.customerManage
.table-btn.blue
:hover
{
.customerManage
2
.table-btn.blue
:hover
{
background-color
:
rgba
(
13
,
36
,
129
,
.5
);
}
.customerManage
.table-btn.org
:hover
{
.customerManage
2
.table-btn.org
:hover
{
background-color
:
rgba
(
255
,
164
,
117
,
.5
);
}
.customerManage
.table-btn.green
:hover
{
.customerManage
2
.table-btn.green
:hover
{
background-color
:
rgba
(
148
,
184
,
119
,
.5
);
}
.customerManage
.add-box
.add-tit
{
.customerManage
2
.add-box
.add-tit
{
display
:
flex
;
justify-content
:
space-between
;
align-items
:
center
;
height
:
20px
;
}
.customerManage
.add-box
.add-tit
p
{
.customerManage
2
.add-box
.add-tit
p
{
display
:
flex
;
align-items
:
center
;
font-weight
:
bold
;
color
:
rgba
(
17
,
17
,
17
,
1
);
font-size
:
14px
;
}
.customerManage
.add-box
.add-tit
p
span
{
.customerManage
2
.add-box
.add-tit
p
span
{
display
:
inline-block
;
width
:
6px
;
height
:
6px
;
...
...
@@ -92,48 +92,48 @@
border-radius
:
50%
;
margin-right
:
10px
;
}
.customerManage
.add-box
.el-dialog__header
{
.customerManage
2
.add-box
.el-dialog__header
{
padding
:
15px
20px
;
background
:
rgba
(
255
,
255
,
255
,
1
);
}
.customerManage
.add-box
.dialog-footer
{
.customerManage
2
.add-box
.dialog-footer
{
text-align
:
center
;
background-color
:
rgba
(
248
,
250
,
251
,
1
);
padding-bottom
:
20px
;
}
.customerManage
.add-box
.el-dialog__footer
{
.customerManage
2
.add-box
.el-dialog__footer
{
padding
:
0
;
}
.customerManage
.add-box
.el-dialog__body
{
.customerManage
2
.add-box
.el-dialog__body
{
background-color
:
rgba
(
248
,
250
,
251
,
1
);
padding-top
:
20px
;
}
.customerManage
.add-box-btn.el-button
{
.customerManage
2
.add-box-btn.el-button
{
border-radius
:
0
;
background-color
:
rgba
(
13
,
36
,
129
,
.8
);
border-color
:
rgba
(
13
,
36
,
129
,
.8
);
color
:
white
;
padding
:
12px
43px
;
}
.customerManage
.add-box-btn.el-button
:hover
{
.customerManage
2
.add-box-btn.el-button
:hover
{
background-color
:
rgba
(
13
,
36
,
129
,
1
);
border-color
:
rgba
(
13
,
36
,
129
,
1
);
color
:
white
;
}
.customerManage
.add-box-btn.el-button.add-box-cancel
{
.customerManage
2
.add-box-btn.el-button.add-box-cancel
{
color
:
rgba
(
13
,
36
,
129
,
.8
);
background-color
:
white
;
}
.customerManage
.add-box-btn.el-button.add-box-cancel
:hover
{
.customerManage
2
.add-box-btn.el-button.add-box-cancel
:hover
{
color
:
rgba
(
13
,
36
,
129
,
1
);
background-color
:
white
;
}
.customerManage
.form-box
.form-box-tit
{
.customerManage
2
.form-box
.form-box-tit
{
display
:
flex
;
align-items
:
center
;
margin-bottom
:
20px
;
}
.customerManage
.form-box
.radius
{
.customerManage
2
.form-box
.radius
{
display
:
flex
;
width
:
4px
;
height
:
4px
;
...
...
@@ -141,7 +141,7 @@
border-radius
:
50%
;
margin-right
:
10px
;
}
.customerManage
.page-content
{
.customerManage
2
.page-content
{
position
:
absolute
;
bottom
:
30px
;
left
:
30px
;
...
...
@@ -150,7 +150,7 @@
}
</
style
>
<
template
>
<div
class=
"customerManage"
>
<div
class=
"customerManage
2
"
>
<div
class=
"tools"
>
<h1>
客户管理
</h1>
<div
class=
"rightmenu"
>
...
...
src/components/select/select.vue
0 → 100644
View file @
4cf0bb33
<
style
>
.select-main
{
font-size
:
12px
;
}
.select-main
.select-box
{
height
:
300px
;
overflow-y
:
auto
;
}
.select-main
.select-item
{
display
:
flex
;
align-items
:
center
;
padding
:
5px
;
}
.select-main
.select-item
.el-switch
{
margin-right
:
10px
;
}
.select-main
.select-input
{
margin-bottom
:
5px
;
}
.select-main
.select-btn
{
margin-top
:
5px
;
text-align
:
right
;
}
.select-main
.select-btn
.crm-btn.crm-btn-mini
{
margin-right
:
0
;
}
.select-main
.el-switch__core
{
width
:
33px
!important
;
}
</
style
>
<
template
>
<div
class=
"select-main"
>
<div
class=
"select-input"
>
<el-input
@
input=
"queryItem"
v-model=
"input"
size=
"mini"
placeholder=
"请输入内容"
></el-input>
</div>
<ul
class=
"select-box"
>
<li
v-for=
"(item, index) in list"
:key=
"index"
>
<div
class=
"select-item"
v-if=
"index!==0 && item.s"
>
<el-switch
size=
"mini"
v-model=
"item.show"
:active-value=
"true"
:inactive-value=
"false"
>
</el-switch>
<p>
{{
item
.
label
}}
</p>
</div>
</li>
</ul>
<div
class=
"select-btn"
>
<el-button
class=
"crm-btn crm-btn-mini query-btn"
@
click=
"changeSelectState()"
>
保存
</el-button>
<el-button
class=
"crm-btn crm-btn-mini easy-btn"
@
click=
"changeSelectState('reset')"
>
重置
</el-button>
</div>
</div>
</
template
>
<
script
>
export
default
{
props
:{
queryType
:{
type
:
Array
,
default
:[]
}
},
data
()
{
return
{
input
:
''
,
list
:
[],
};
},
watch
:{
queryType
:
{
//普通的watch监听
handler
(
val
,
oldVal
){
this
.
init
()
},
deep
:
true
//true 深度监听
}
},
mounted
()
{
this
.
init
()
},
methods
:
{
queryItem
(
text
){
this
.
list
.
map
(
x
=>
{
if
(
x
.
label
.
indexOf
(
text
)
==-
1
)
{
x
.
s
=
false
}
else
{
x
.
s
=
true
}
})
},
init
(){
let
$this
=
this
let
list
=
JSON
.
parse
(
JSON
.
stringify
(
$this
.
queryType
))
list
.
forEach
(
el
=>
{
el
.
s
=
true
});
$this
.
list
=
list
},
changeSelectState
(
type
){
let
i
=
0
;
this
.
list
.
map
(
x
=>
{
if
(
x
.
show
)
{
i
++
}
})
if
(
i
<
2
)
{
return
this
.
$message
.
error
(
'最少显示两列数据'
)
}
if
(
type
)
{
this
.
list
.
map
(
x
=>
{
x
.
show
=
true
})
}
this
.
$emit
(
'listenTochildEvent'
,
this
.
list
);
}
}
}
</
script
>
\ No newline at end of file
src/plugins/index.js
View file @
4cf0bb33
...
...
@@ -24,6 +24,7 @@ export default {
DomainUrl
:
domainUrl
,
//常用提交数据URL
PostUrl
:
domainUrl
,
PostUrl2
:
"http://testapi.oytour.com/api/common/post"
,
javaUrl
:
locationName
.
indexOf
(
'testb2b'
)
==
-
1
?
"http://efficient.oytour.com"
:
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://47.96.12.235:9001"
:
"http://192.168.2.215:9000"
,
ViittoFileUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://staticfile.oytour.com"
:
'http://192.168.2.214:8130'
,
UploadUrl
:
locationName
.
indexOf
(
'oytour'
)
!==
-
1
||
locationName
.
indexOf
(
'testb2b.oytour.com'
)
!==
-
1
?
"http://uploadfile.oytour.com"
:
"http://192.168.2.214:8130"
,
...
...
@@ -154,6 +155,54 @@ export default {
window
.
open
(
'http://'
+
URL
,
'_blank'
);
}
}
//HTTP提交数据
Vue
.
prototype
.
apipost2
=
function
(
cmd
,
msg
,
successCall
,
faildCall
,
isOnline
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
}
var
apiurl
=
this
.
domainManager
().
PostUrl2
;
var
timestamp
=
(
new
Date
()).
valueOf
();
this
.
apiurl
=
apiurl
;
if
(
!
localStorage
.
userInfo
&&
localStorage
.
userInfo
!=
""
&&
this
.
$route
.
path
.
toLowerCase
()
!=
"/login"
)
{
this
.
$router
.
push
({
path
:
'/login'
})
}
var
token
=
""
;
var
key
=
""
;
if
(
this
.
getLocalStorage
()
!=
null
)
{
token
=
this
.
getLocalStorage
().
token
;
key
=
this
.
getLocalStorage
().
SecretKey
;
}
var
encodeMsg
=
encodeURIComponent
(
JSON
.
stringify
(
msg
)).
toLowerCase
();
var
md5Str
=
md5
(
`cmd=
${
cmd
}
&msg=
${
encodeMsg
}
×tamp=
${
timestamp
}
&token=
${
token
}
&key=
${
key
}
`
);
let
tempLanguage
=
0
;
var
postData
=
{
"msg"
:
msg
,
"cmd"
:
cmd
,
"timestamp"
:
timestamp
,
"token"
:
token
,
"sign"
:
md5Str
,
"languageId"
:
tempLanguage
}
this
.
$http
.
post
(
apiurl
,
postData
,
{
headers
:
{
'Content-Type'
:
'application/json'
,
'Referer-Viitto'
:
this
.
$route
.
path
}
})
.
then
(
res
=>
{
if
(
res
.
data
.
resultCode
==
10000
||
res
.
data
.
resultCode
==
10001
)
{
this
.
$router
.
push
({
path
:
'/login'
});
}
else
if
(
res
.
resultCode
==
10005
)
{
this
.
$router
.
go
(
-
1
);
}
else
{
successCall
(
res
);
}
},
faildCall
)
}
Vue
.
prototype
.
apipost
=
function
(
cmd
,
msg
,
successCall
,
faildCall
)
{
if
(
msg
==
null
||
msg
==
""
)
{
msg
=
{}
...
...
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