Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
B
bms-vue-obear
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
daywrite
bms-vue-obear
Commits
b0c984bc
Commit
b0c984bc
authored
Jun 24, 2019
by
huai.li
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
列表无内容,增加提示
parent
3f492583
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
320 additions
and
106 deletions
+320
-106
setting.js
src/apis/setting.js
+6
-0
accountHome.vue
src/components/account_list/accountHome.vue
+4
-1
caseHome.vue
src/components/case_list/caseHome.vue
+4
-1
noList.vue
src/components/common/noList.vue
+14
-0
documentHome.vue
src/components/document_list/documentHome.vue
+4
-1
punchHome.vue
src/components/punch_list/punchHome.vue
+4
-1
reimbursementHome.vue
src/components/reimbursement_list/reimbursementHome.vue
+4
-1
scheduleHome.vue
src/components/schedule_list/scheduleHome.vue
+4
-1
serviceHome.vue
src/components/service_list/serviceHome.vue
+4
-1
Index.vue
src/components/setting/Index.vue
+113
-94
group.vue
src/components/setting/group.vue
+2
-2
form.vue
src/components/setting_list/import-history/form.vue
+0
-0
import_history_list.vue
...nents/setting_list/import-history/import_history_list.vue
+145
-0
modal.vue
src/components/setting_list/import-history/modal.vue
+0
-0
supplierHome.vue
src/components/supplier_list/supplierHome.vue
+4
-1
groupHome.vue
src/components/task_group_list/groupHome.vue
+4
-1
taskHome.vue
src/components/task_list/taskHome.vue
+4
-1
No files found.
src/apis/setting.js
View file @
b0c984bc
const
type
=
'setting'
const
setting
=
{
getSettingIndex
:
{
url
:
'/vue/setting/index'
}
}
function
temp
(
t
,
tt
)
{
let
endStr
=
tt
===
''
?
`
${
t
}
`
:
`
${
t
}
-
${
tt
}
`
return
{
...
...
@@ -48,6 +53,7 @@ function term (t, tt, num) {
}
export
default
{
...
setting
,
...
temp
(
'implement'
,
'type'
),
...
temp
(
'implement'
,
'method'
),
...
temp
(
'service'
,
'type'
),
...
...
src/components/account_list/accountHome.vue
View file @
b0c984bc
...
...
@@ -16,6 +16,7 @@
@
update:clientList=
"form =>
{ updateForm(form) }">
</search-form>
<div
class=
"page-body-content"
>
<NoList
v-if=
"result.list.length === 0"
/>
<Item
v-for=
"item in result.list"
:item=
"item"
...
...
@@ -64,6 +65,7 @@ import Pagenation from './accountPagenation'
import
clickOutside
from
'@/lib/bind'
import
SetParams
from
'../common/setParams'
import
singleRadioTool
from
'../common/singleRadioTool'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -80,7 +82,8 @@ export default {
FormModal
,
LeaveMessage
,
Pagenation
,
singleRadioTool
singleRadioTool
,
NoList
},
directives
:
{
...
...
src/components/case_list/caseHome.vue
View file @
b0c984bc
...
...
@@ -29,6 +29,7 @@
<!--
<el-radio-button
key=
"all"
label=
"all"
value=
"全部"
>
全部
</el-radio-button>
-->
</singleRadioTool>
</div>
<NoList
v-if=
"result.list.length === 0"
/>
<Item
v-for=
"item in result.list"
:item=
"item"
...
...
@@ -107,6 +108,7 @@ import clickOutside from '@/lib/bind'
import
SetParams
from
'../common/setParams'
import
TimeSearchForm
from
'./timeSearchForm'
import
singleRadioTool
from
'../common/singleRadioTool'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -124,7 +126,8 @@ export default {
LeaveMessage
,
Pagenation
,
TimeSearchForm
,
singleRadioTool
singleRadioTool
,
NoList
},
directives
:
{
...
...
src/components/common/noList.vue
0 → 100644
View file @
b0c984bc
<
template
>
<div>
未查询到数据!
</div>
</
template
>
<
style
scoped=
""
>
div
{
background-color
:
white
;
height
:
50px
;
line-height
:
50px
;
padding-left
:
10px
;
margin-bottom
:
10px
;
}
</
style
>
src/components/document_list/documentHome.vue
View file @
b0c984bc
...
...
@@ -16,6 +16,7 @@
@
update:clientList=
"form =>
{ updateForm(form) }">
</search-form>
<div
class=
"page-body-content leaveMessage"
>
<NoList
v-if=
"result.list.length === 0"
/>
<Item
v-for=
"item in result.list"
:item=
"item"
...
...
@@ -77,6 +78,7 @@ import FormModal from '../document/documentModal'
import
Pagenation
from
'./documentPagenation'
import
clickOutside
from
'@/lib/bind'
import
SetParams
from
'../common/setParams'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -91,7 +93,8 @@ export default {
SearchForm
,
Item
,
FormModal
,
Pagenation
Pagenation
,
NoList
},
directives
:
{
...
...
src/components/punch_list/punchHome.vue
View file @
b0c984bc
...
...
@@ -20,6 +20,7 @@
:list=
"result.countList"
>
</countArr>
</div>
<NoList
v-if=
"result.list.length === 0"
/>
<Item
v-for=
"item in result.list"
:item=
"item"
...
...
@@ -69,6 +70,7 @@ import singleRadioTool from '../common/singleRadioTool'
import
countArr
from
'./countArr'
import
editModal
from
'../punch/editModal'
import
clickOutside
from
'@/lib/bind'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -85,7 +87,8 @@ export default {
Pagenation
,
singleRadioTool
,
countArr
,
editModal
editModal
,
NoList
},
directives
:
{
...
...
src/components/reimbursement_list/reimbursementHome.vue
View file @
b0c984bc
...
...
@@ -33,6 +33,7 @@
:list=
"result.countArr"
>
</countArr>
</div>
<NoList
v-if=
"result.list.length === 0"
/>
<ReimItem
v-for=
"item in result.list"
:item=
"item"
...
...
@@ -73,6 +74,7 @@ import Pagenation from './reimbursementPagenation'
import
clickOutside
from
'@/lib/bind'
import
singleRadioTool
from
'../common/singleRadioTool'
import
SetParams
from
'../common/setParams'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -90,7 +92,8 @@ export default {
CountArr
,
Pagenation
,
singleRadioTool
,
TimeSearchForm
TimeSearchForm
,
NoList
},
directives
:
{
...
...
src/components/schedule_list/scheduleHome.vue
View file @
b0c984bc
...
...
@@ -16,6 +16,7 @@
@
update:clientList=
"form =>
{ updateForm(form) }">
</search-form>
<div
class=
"page-body-content leaveMessage"
>
<NoList
v-if=
"result.list.length === 0"
/>
<ScheduleItem
v-for=
"item in result.list"
:item=
"item"
...
...
@@ -58,6 +59,7 @@ import Pagenation from './schedulePagenation'
import
clickOutside
from
'@/lib/bind'
import
SetParams
from
'../common/setParams'
import
ReportModal
from
'../schedule/reportModal'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -74,7 +76,8 @@ export default {
ScheduleModal
,
LeaveMessage
,
Pagenation
,
ReportModal
ReportModal
,
NoList
},
directives
:
{
...
...
src/components/service_list/serviceHome.vue
View file @
b0c984bc
...
...
@@ -16,6 +16,7 @@
@
update:clientList=
"form =>
{ updateForm(form) }">
</search-form>
<div
class=
"page-body-content"
>
<NoList
v-if=
"result.list.length === 0"
/>
<Item
:list=
"result.list"
>
</Item>
<Pagenation
...
...
@@ -36,6 +37,7 @@ import FormModal from '../service/serviceModal'
import
Pagenation
from
'./servicePagenation'
import
SetParams
from
'../common/setParams'
import
singleRadioTool
from
'../common/singleRadioTool'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -51,7 +53,8 @@ export default {
Item
,
FormModal
,
Pagenation
,
singleRadioTool
singleRadioTool
,
NoList
},
data
()
{
...
...
src/components/setting/Index.vue
View file @
b0c984bc
...
...
@@ -25,6 +25,10 @@
<
script
>
import
SearchHeader
from
'../common/searchHeader'
import
Group
from
'./group'
import
{
requestAPI
,
api
}
from
'@/lib/commonMixin'
// import H from 'highcharts'
export
default
{
name
:
'settingIndex'
,
...
...
@@ -43,107 +47,122 @@ export default {
},
mounted
()
{
/* eslint-disable */
Highcharts
.
setOptions
({
chart
:
{
type
:
'solidgauge'
},
title
:
null
,
pane
:
{
center
:
[
'50%'
,
'85%'
],
size
:
'140%'
,
startAngle
:
-
90
,
endAngle
:
90
,
background
:
{
backgroundColor
:
(
Highcharts
.
theme
&&
Highcharts
.
theme
.
background2
)
||
'#EEE'
,
innerRadius
:
'60%'
,
outerRadius
:
'100%'
,
shape
:
'arc'
}
},
tooltip
:
{
enabled
:
false
},
yAxis
:
{
stops
:
[
[
0.1
,
'#55BF3B'
],
// green
[
0.5
,
'#DDDF0D'
],
// yellow
[
0.9
,
'#DF5353'
]
// red
],
lineWidth
:
0
,
minorTickInterval
:
null
,
tickWidth
:
2
,
title
:
{
y
:
-
70
this
.
getSettingIndex
()
},
methods
:
{
getSettingIndex
()
{
requestAPI
(
api
.
getSettingIndex
,
{})
.
then
(
res
=>
{
return
res
}).
then
(
res
=>
{
this
.
init
(
res
)
})
},
init
(
res
)
{
/* eslint-disable */
Highcharts
.
setOptions
({
chart
:
{
type
:
'solidgauge'
},
labels
:
{
y
:
16
}
},
plotOptions
:
{
solidgauge
:
{
dataLabels
:
{
y
:
5
,
borderWidth
:
0
,
useHTML
:
true
title
:
null
,
pane
:
{
center
:
[
'50%'
,
'85%'
],
size
:
'140%'
,
startAngle
:
-
90
,
endAngle
:
90
,
background
:
{
backgroundColor
:
(
Highcharts
.
theme
&&
Highcharts
.
theme
.
background2
)
||
'#EEE'
,
innerRadius
:
'60%'
,
outerRadius
:
'100%'
,
shape
:
'arc'
}
}
}
})
let
chart1
=
Highcharts
.
chart
(
'container-speed'
,
{
yAxis
:
{
min
:
0
,
max
:
50
,
title
:
{
text
:
'账户注册使用情况'
,
style
:
{
"font-weight"
:
"bold"
},
y
:
-
100
}
},
credits
:
{
enabled
:
false
},
series
:
[{
name
:
'已注册账户数'
,
data
:
[
35
],
dataLabels
:
{
format
:
'<span style="color: #666666;fill: #666666;">已注册账户数</span></div><br/>'
+
'<div style="text-align:center"><span style="font-size:25px;color:'
+
((
Highcharts
.
theme
&&
Highcharts
.
theme
.
contrastTextColor
)
||
'black'
)
+
'">{y}</span><span style="font-size:12px;color:silver">个</span><br/>'
},
tooltip
:
{
valueSuffix
:
'个'
}
}]
})
// 转速仪表
let
chart2
=
Highcharts
.
chart
(
'container-rpm'
,
{
yAxis
:
{
min
:
0
,
max
:
80
0
,
title
:
{
t
ext
:
'账户有效期'
,
sty
le
:
{
"font-weight"
:
"bold"
enabled
:
false
}
,
yAxis
:
{
stops
:
[
[
0.1
,
'#55BF3B'
],
// green
[
0.5
,
'#DDDF0D'
],
// yellow
[
0.9
,
'#DF5353'
]
// red
]
,
lineWidth
:
0
,
minorTickInterval
:
null
,
t
ickWidth
:
2
,
tit
le
:
{
y
:
-
70
},
y
:
-
100
}
},
series
:
[{
name
:
'RPM'
,
data
:
[
500
],
dataLabels
:
{
format
:
'<span style="color: #666666;fill: #666666;">剩余天数</span></div><br/>'
+
'<div style="text-align:center"><span style="font-size:25px;color:'
+
((
Highcharts
.
theme
&&
Highcharts
.
theme
.
contrastTextColor
)
||
'black'
)
+
'">{y}</span><span style="font-size:12px;color:silver">天</span><br/>'
labels
:
{
y
:
16
}
},
tooltip
:
{
valueSuffix
:
'天'
plotOptions
:
{
solidgauge
:
{
dataLabels
:
{
y
:
5
,
borderWidth
:
0
,
useHTML
:
true
}
}
}
}]
})
})
let
chart1
=
Highcharts
.
chart
(
'container-speed'
,
{
yAxis
:
{
min
:
0
,
max
:
res
.
account
.
limitation
,
title
:
{
text
:
'账户注册使用情况'
,
style
:
{
"font-weight"
:
"bold"
},
y
:
-
100
}
},
credits
:
{
enabled
:
false
},
series
:
[{
name
:
'已注册账户数'
,
data
:
[
res
.
account
.
used
],
dataLabels
:
{
format
:
'<span style="color: #666666;fill: #666666;">已注册账户数</span></div><br/>'
+
'<div style="text-align:center"><span style="font-size:25px;color:'
+
((
Highcharts
.
theme
&&
Highcharts
.
theme
.
contrastTextColor
)
||
'black'
)
+
'">{y}</span><span style="font-size:12px;color:silver">个</span><br/>'
},
tooltip
:
{
valueSuffix
:
'个'
}
}]
})
// 转速仪表
let
chart2
=
Highcharts
.
chart
(
'container-rpm'
,
{
yAxis
:
{
min
:
0
,
max
:
Number
(
res
.
expiry
.
duration
),
title
:
{
text
:
'账户有效期'
,
style
:
{
"font-weight"
:
"bold"
},
y
:
-
100
}
},
series
:
[{
name
:
'RPM'
,
data
:
[
Number
(
res
.
expiry
.
remain
)],
dataLabels
:
{
format
:
'<span style="color: #666666;fill: #666666;">剩余天数</span></div><br/>'
+
'<div style="text-align:center"><span style="font-size:25px;color:'
+
((
Highcharts
.
theme
&&
Highcharts
.
theme
.
contrastTextColor
)
||
'black'
)
+
'">{y}</span><span style="font-size:12px;color:silver">天</span><br/>'
},
tooltip
:
{
valueSuffix
:
'天'
}
}]
})
}
}
}
</
script
>
...
...
src/components/setting/group.vue
View file @
b0c984bc
...
...
@@ -124,12 +124,12 @@
},
{
name
:
'商机来源'
,
path
:
'/setting/taxonomy
?term=
10'
,
path
:
'/setting/taxonomy
/term/
10'
,
icon
:
'fa fa-fw fa-map-pin'
},
{
name
:
'销售预测'
,
path
:
'/setting/taxonomy
?term=
13'
,
path
:
'/setting/taxonomy
/term/
13'
,
icon
:
'fa fa-fw fa-signal'
},
{
...
...
src/components/setting_list/import-history/form.vue
0 → 100644
View file @
b0c984bc
src/components/setting_list/import-history/import_history_list.vue
0 → 100644
View file @
b0c984bc
<
template
>
<section>
<div
class=
"content"
>
<search-header
ref=
"searchHeader"
:title=
"'客户导入'"
:add-title=
"'客户导入'"
@
update:headerAdd=
"() => add()"
@
update:headerClear=
"() => searchClear()"
>
</search-header>
<div
class=
"page-body-content"
>
<el-alert
title=
""
type=
"info"
>
<BreadCrumb
name=
"用户角色"
></BreadCrumb>
</el-alert>
<el-table
:data=
"result.list"
border
stripe
style=
"width: 100%;margin-top:20px;"
>
<el-table-column
align=
"center"
label=
"原文件名"
>
<template
slot-scope=
"scope"
>
{{
scope
.
row
.
display_name
}}
</
template
>
</el-table-column>
<el-table-column
prop=
"description"
align=
"center"
label=
"导入信息"
>
</el-table-column>
<el-table-column
prop=
"updated_at"
align=
"center"
label=
"状态"
>
</el-table-column>
<el-table-column
prop=
"updated_at"
align=
"center"
label=
"全部条数"
>
</el-table-column>
<el-table-column
prop=
"updated_at"
align=
"center"
label=
"成功条数"
>
</el-table-column>
<el-table-column
prop=
"updated_at"
align=
"center"
label=
"失败条数"
>
</el-table-column>
<el-table-column
prop=
"updated_at"
align=
"center"
label=
"录入人"
>
</el-table-column>
<el-table-column
prop=
"updated_at"
align=
"center"
label=
"创建时间"
>
</el-table-column>
<el-table-column
align=
"center"
label=
"操作"
>
<
template
slot-scope=
"scope"
>
<el-button
type=
"primary"
size=
"mini"
@
click
.
prevent
.
stop=
"editEvent(scope.row)"
:disabled=
"!scope.row.can_update"
><i
class=
"fa fa-edit animated"
></i>
编辑
</el-button>
<el-button
type=
"primary"
size=
"mini"
@
click
.
prevent
.
stop=
"deleteEvent(scope.row.id)"
:disabled=
"!scope.row.can_delete"
><i
class=
"fa fa-trash-o animated-hove"
></i>
删除
</el-button>
</
template
>
</el-table-column>
</el-table>
<Pagenation
@
update:pager=
"pager => {updatePage(pager)}"
:total=
"result.pagenation.totalcount"
>
</Pagenation>
</div>
</div>
<FormModal
ref=
"formModal"
:t=
"t"
:tt=
"tt"
></FormModal>
</section>
</template>
<
script
>
import
SearchHeader
from
'../../common/searchHeader'
import
BreadCrumb
from
'../BreadCrumb'
import
FormModal
from
'./modal'
import
Pagenation
from
'../pagenation'
import
{
requestAPI
,
api
}
from
'@/lib/commonMixin'
export
default
{
name
:
'implement_type_list'
,
components
:
{
SearchHeader
,
BreadCrumb
,
Pagenation
,
FormModal
},
data
()
{
return
{
t
:
'role'
,
tt
:
''
,
pagenation
:
{
thispage
:
1
,
pagesize
:
20
},
result
:
{
list
:
[],
pagenation
:
{
totalcount
:
1
,
thispage
:
1
,
pagesize
:
20
}
}
}
},
created
()
{
this
.
getList
()
},
methods
:
{
getList
(
params
)
{
requestAPI
(
api
[
`getList
${
this
.
t
}${
this
.
tt
}
`
],
params
)
.
then
((
res
)
=>
{
this
.
result
.
list
=
res
.
list
this
.
result
.
pagenation
=
res
.
pagenation
})
},
updatePage
(
pager
)
{
let
ret
=
Object
.
assign
({
page
:
this
.
pagenation
.
thispage
},
{
page
:
pager
.
thispage
})
this
.
getList
(
ret
)
},
_reload
()
{
this
.
getList
({
page
:
this
.
pagenation
.
thispage
})
},
// 6.1新增
add
()
{
this
.
$refs
.
formModal
.
show
()
},
// 6.2编辑
editEvent
(
item
)
{
this
.
$refs
.
formModal
.
show
(
item
)
},
deleteEvent
(
id
)
{
let
deleteTip
=
'删除'
this
.
$confirm
(
`
${
deleteTip
}
?`
,
'提示'
,
{
confirmButtonText
:
'确定'
,
cancelButtonText
:
'取消'
,
type
:
'warning'
}).
then
(()
=>
{
requestAPI
(
api
[
`delete
${
this
.
t
}${
this
.
tt
}
`
],
{
id
})
.
then
((
res
)
=>
{
this
.
$message
.
success
(
`
${
deleteTip
}
成功`
)
this
.
_reload
()
})
}).
catch
(()
=>
{
this
.
$message
.
info
(
`取消
${
deleteTip
}
`
)
})
},
searchClear
()
{}
}
}
</
script
>
<
style
scoped
>
</
style
>
src/components/setting_list/import-history/modal.vue
0 → 100644
View file @
b0c984bc
src/components/supplier_list/supplierHome.vue
View file @
b0c984bc
...
...
@@ -16,6 +16,7 @@
@
update:clientList=
"form =>
{ updateForm(form) }">
</search-form>
<div
class=
"page-body-content"
>
<NoList
v-if=
"result.list.length === 0"
/>
<Item
v-for=
"item in result.list"
:item=
"item"
...
...
@@ -71,6 +72,7 @@ import Pagenation from './supplierPagenation'
import
clickOutside
from
'@/lib/bind'
import
SetParams
from
'../common/setParams'
import
singleRadioTool
from
'../common/singleRadioTool'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -86,7 +88,8 @@ export default {
Item
,
FormModal
,
Pagenation
,
singleRadioTool
singleRadioTool
,
NoList
},
directives
:
{
...
...
src/components/task_group_list/groupHome.vue
View file @
b0c984bc
...
...
@@ -31,6 +31,7 @@
@
update:item=
"val =>
{ reimTypeChange(val) }">
</singleRadioTool>
</div>
<NoList
v-if=
"result.list.length === 0"
/>
<GroupItem
v-for=
"item in result.list"
:item=
"item"
...
...
@@ -71,6 +72,7 @@ import Pagenation from './groupPagenation'
import
clickOutside
from
'@/lib/bind'
import
singleRadioTool
from
'../common/singleRadioTool'
import
SetParams
from
'../common/setParams'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -86,7 +88,8 @@ export default {
GroupItem
,
TaskGroupModal
,
Pagenation
,
singleRadioTool
singleRadioTool
,
NoList
},
directives
:
{
...
...
src/components/task_list/taskHome.vue
View file @
b0c984bc
...
...
@@ -22,6 +22,7 @@
@
update:item=
"val =>
{ reimTypeChange(val) }">
</singleRadioTool>
</div>
<NoList
v-if=
"result.list.length === 0"
/>
<TaskItem
v-for=
"item in result.list"
:item=
"item"
...
...
@@ -60,6 +61,7 @@ import Pagenation from './taskPagenation'
import
clickOutside
from
'@/lib/bind'
import
singleRadioTool
from
'../common/singleRadioTool'
import
SetParams
from
'../common/setParams'
import
NoList
from
'../common/noList.vue'
import
{
requestAPI
,
api
...
...
@@ -75,7 +77,8 @@ export default {
TaskItem
,
TaskModal
,
Pagenation
,
singleRadioTool
singleRadioTool
,
NoList
},
directives
:
{
...
...
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