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
8df9c3cf
Commit
8df9c3cf
authored
Sep 29, 2020
by
罗超
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改提成数据
parent
daac12bf
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
493 additions
and
474 deletions
+493
-474
CommissionDetail.vue
src/components/administrative/CommissionDetail.vue
+493
-474
No files found.
src/components/administrative/CommissionDetail.vue
View file @
8df9c3cf
<
template
>
<div
class=
"commissionDetails commissionDetails-box"
>
<div
class=
"commissionDetails commissionDetails-box"
>
<div
class=
"query-box"
>
<ul>
<li>
<input
type=
"button"
class=
"normalBtn"
value=
"导出"
@
click=
"exportExcel"
>
</li>
</ul>
<ul>
<li>
<input
type=
"button"
class=
"normalBtn"
value=
"导出"
@
click=
"exportExcel"
>
</li>
</ul>
</div>
<v-table
v-if=
"isReady"
is-horizontal-resize
column-width-drag
style=
"width:100%"
:columns=
"columns"
:table-data=
"dataList"
:filter-method=
"filterMethod"
:total=
"total"
:pageSize=
"msg.pageSize"
:pageIndex=
"msg.pageIndex"
:handleCurrentChange=
"handleCurrentChange"
:multiple-sort=
"multipleSort"
:is-loading=
"loading"
sort-always
@
sort-change=
"sortChange"
@
on-custom-comp=
"customCompFunc"
></v-table>
<v-table
v-if=
"isReady"
is-horizontal-resize
column-width-drag
style=
"width:100%"
:columns=
"columns"
:table-data=
"dataList"
:filter-method=
"filterMethod"
:total=
"total"
:pageSize=
"msg.pageSize"
:pageIndex=
"msg.pageIndex"
:handleCurrentChange=
"handleCurrentChange"
:multiple-sort=
"multipleSort"
:is-loading=
"loading"
sort-always
@
sort-change=
"sortChange"
@
on-custom-comp=
"customCompFunc"
></v-table>
<div
style=
"height:20px;"
>
</div>
</div>
</div>
</
template
>
<
script
>
import
Vue
from
'vue'
import
XLSX
from
'xlsx'
var
FileSaver
=
require
(
'file-saver'
)
export
default
{
data
()
{
return
{
activeName
:
"first"
,
commonName
:
"姓名"
,
loading
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
20
,
ParentId
:
0
,
OrderStr
:
"RB_Branch_Id asc"
,
BName
:
-
1
,
RB_Branch_Id
:
-
1
,
Periods
:
''
},
total
:
0
,
currentPage
:
1
,
columns
:
[],
remoteLoading
:
false
,
total
:
0
,
dataList
:
[],
isReady
:
false
,
multipleSort
:
false
,
loading
:
true
,
CompanyList
:[],
dataListTwo
:
[],
stringPerons
:
''
,
userInfo
:
{},
companyID
:
''
,
disabledCPSelect
:
false
};
},
methods
:
{
exportExcel
(){
const
defaultCellStyle
=
{
'!cols'
:
[{
wpx
:
60
},
{
wpx
:
200
},
{
wpx
:
60
},
{
wpx
:
150
},{
wpx
:
60
}]};
const
wopts
=
{
bookType
:
'xlsx'
,
bookSST
:
false
,
type
:
'binary'
,
defaultCellStyle
:
defaultCellStyle
,
showGridLines
:
true
};
const
wb
=
{
SheetNames
:
[
'提成统计'
],
Sheets
:
{},
Props
:
{}
};
let
data
=
[]
this
.
dataList
.
forEach
(
x
=>
{
let
obj
=
{
'公司'
:
x
.
bName
,
'部门'
:
x
.
departmentName
,
'员工'
:
x
.
createByStr
,
'提成金额'
:
x
.
commissionMoney
.
toFixed
(
2
),
'额外奖励'
:
x
.
otherMoney
.
toFixed
(
2
),
'额外扣除'
:
x
.
backMoney
.
toFixed
(
2
),
'应发提成'
:
x
.
sumMoney
.
toFixed
(
2
),
'收客数'
:
x
.
peopleCount
,
'单签证人数'
:
x
.
visaPeopleCount
,
'所属期数'
:
x
.
periods
}
data
.
push
(
obj
)
})
wb
.
Sheets
[
'提成统计'
]
=
XLSX
.
utils
.
json_to_sheet
(
data
)
//创建二进制对象写入转换好的字节流
let
tmpDown
=
new
Blob
([
this
.
s2ab
(
XLSX
.
write
(
wb
,
wopts
))],
{
type
:
"application/octet-stream"
})
FileSaver
.
saveAs
(
tmpDown
,
"提成统计.xls"
);
},
s2ab
(
s
)
{
if
(
typeof
ArrayBuffer
!==
'undefined'
)
{
var
buf
=
new
ArrayBuffer
(
s
.
length
);
var
view
=
new
Uint8Array
(
buf
);
for
(
var
i
=
0
;
i
!=
s
.
length
;
++
i
)
view
[
i
]
=
s
.
charCodeAt
(
i
)
&
0xFF
;
return
buf
;
}
else
{
var
buf
=
new
Array
(
s
.
length
);
for
(
var
i
=
0
;
i
!=
s
.
length
;
++
i
)
buf
[
i
]
=
s
.
charCodeAt
(
i
)
&
0xFF
;
return
buf
;
}
},
filterMethod
(
filters
){
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataListTwo
))
let
dataListTwo
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataListTwo
))
if
(
filters
.
bName
!=
''
&&
filters
.
bName
!=
'__all__'
){
data
=
data
.
filter
(
item
=>
item
.
bName
.
indexOf
(
filters
.
bName
)
!=-
1
);
}
if
(
filters
.
departmentName
!=
''
){
data
=
data
.
filter
(
item
=>
item
.
departmentName
.
indexOf
(
filters
.
departmentName
)
!=-
1
);
}
if
(
filters
.
createByStr
!=
''
){
data
=
data
.
filter
(
item
=>
item
.
createByStr
.
indexOf
(
filters
.
createByStr
)
!=-
1
);
}
if
((
filters
.
bName
===
''
||
filters
.
bName
===
'__all__'
)
&&
filters
.
departmentName
===
''
&&
filters
.
createByStr
===
''
){
data
=
dataListTwo
}
this
.
dataList
=
data
},
customCompFunc
(
params
)
{
if
(
params
.
type
===
"see"
)
{
this
.
getInfo
(
params
.
data
)
}
data
()
{
return
{
activeName
:
"first"
,
commonName
:
"姓名"
,
loading
:
false
,
msg
:
{
pageIndex
:
1
,
pageSize
:
20
,
ParentId
:
0
,
OrderStr
:
"RB_Branch_Id asc"
,
BName
:
-
1
,
RB_Branch_Id
:
-
1
,
Periods
:
''
},
total
:
0
,
currentPage
:
1
,
columns
:
[],
remoteLoading
:
false
,
total
:
0
,
dataList
:
[],
isReady
:
false
,
multipleSort
:
false
,
loading
:
true
,
CompanyList
:
[],
dataListTwo
:
[],
stringPerons
:
''
,
userInfo
:
{},
companyID
:
''
,
disabledCPSelect
:
false
};
},
getCompanyList
()
{
//获取公司列表
this
.
apipost
(
"admin_get_BranchGetList"
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
forEach
(
x
=>
{
x
.
disabled
=
false
;
});
if
(
this
.
userInfo
.
RB_Branch_id
!=
0
){
this
.
CompanyList
=
data
.
filter
(
x
=>
{
if
(
x
.
BName
==
this
.
userInfo
.
BranchName
){
return
x
}
else
return
false
})
}
else
{
this
.
CompanyList
=
data
;
methods
:
{
exportExcel
()
{
const
defaultCellStyle
=
{
'!cols'
:
[{
wpx
:
60
},
{
wpx
:
200
},
{
wpx
:
60
},
{
wpx
:
150
},
{
wpx
:
60
}]
};
const
wopts
=
{
bookType
:
'xlsx'
,
bookSST
:
false
,
type
:
'binary'
,
defaultCellStyle
:
defaultCellStyle
,
showGridLines
:
true
};
const
wb
=
{
SheetNames
:
[
'提成统计'
],
Sheets
:
{},
Props
:
{}
};
let
data
=
[]
this
.
dataList
.
forEach
(
x
=>
{
let
obj
=
{
'公司'
:
x
.
bName
,
'部门'
:
x
.
departmentName
,
'员工'
:
x
.
createByStr
,
'提成金额'
:
x
.
commissionMoney
.
toFixed
(
2
),
'额外奖励'
:
x
.
otherMoney
.
toFixed
(
2
),
'额外扣除'
:
x
.
backMoney
.
toFixed
(
2
),
'应发提成'
:
x
.
sumMoney
.
toFixed
(
2
),
'收客数'
:
x
.
peopleCount
,
'单签证人数'
:
x
.
visaPeopleCount
,
'所属期数'
:
x
.
periods
}
data
.
push
(
obj
)
})
wb
.
Sheets
[
'提成统计'
]
=
XLSX
.
utils
.
json_to_sheet
(
data
)
//创建二进制对象写入转换好的字节流
let
tmpDown
=
new
Blob
([
this
.
s2ab
(
XLSX
.
write
(
wb
,
wopts
))],
{
type
:
"application/octet-stream"
})
FileSaver
.
saveAs
(
tmpDown
,
"提成统计.xls"
);
},
s2ab
(
s
)
{
if
(
typeof
ArrayBuffer
!==
'undefined'
)
{
var
buf
=
new
ArrayBuffer
(
s
.
length
);
var
view
=
new
Uint8Array
(
buf
);
for
(
var
i
=
0
;
i
!=
s
.
length
;
++
i
)
view
[
i
]
=
s
.
charCodeAt
(
i
)
&
0xFF
;
return
buf
;
}
else
{
var
buf
=
new
Array
(
s
.
length
);
for
(
var
i
=
0
;
i
!=
s
.
length
;
++
i
)
buf
[
i
]
=
s
.
charCodeAt
(
i
)
&
0xFF
;
return
buf
;
}
this
.
initColums
();
}
else
{
}
},
err
=>
{}
);
},
initColums
()
{
this
.
isReady
=
false
;
let
that
=
this
;
let
companyList
=
[];
this
.
CompanyList
.
forEach
(
x
=>
{
let
item
=
{};
item
.
label
=
x
.
BName
;
item
.
value
=
x
.
BName
;
companyList
.
push
(
item
);
});
let
company
=
{}
if
(
this
.
disabledCPSelect
)
{
company
=
{
field
:
"bName"
,
title
:
"公司"
,
width
:
40
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
};
}
else
{
company
=
{
field
:
"bName"
,
title
:
"公司"
,
width
:
40
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
result
:
""
,
filterMultiple
:
false
,
filters
:
companyList
,
type
:
"select"
};
}
let
department
=
{
field
:
"departmentName"
,
title
:
"部门"
,
width
:
80
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
result
:
""
,
filterMultiple
:
false
,
filters
:
companyList
,
type
:
"text"
};
let
userName
=
{
field
:
"createByStr"
,
title
:
"姓名"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
if
(
rowData
.
leaveStr
&&
rowData
.
leaveStr
!=
''
)
return
`<div>
${
rowData
.
createByStr
}
<span style="color:red;display:inline-block">(
${
rowData
.
leaveStr
}
)</span></div>`
else
return
`<div>
${
rowData
.
createByStr
}
</div>`
}
};
let
commissionMoney
=
{
field
:
"commissionMoney"
,
title
:
"提成金额"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span>
${
rowData
.
commissionMoney
.
toFixed
(
2
)}
</span>`
}
};
let
otherMoney
=
{
field
:
"otherMoney"
,
title
:
"额外奖励"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span>
${
rowData
.
otherMoney
.
toFixed
(
2
)}
</span>`
}
};
let
backMoney
=
{
field
:
"backMoney"
,
title
:
"额外扣除"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span>
${
rowData
.
backMoney
.
toFixed
(
2
)}
</span>`
}
};
let
sumMoney
=
{
title
:
"应发提成"
,
field
:
"sumMoney"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span style='color:red'>
${(
rowData
.
otherMoney
+
rowData
.
commissionMoney
-
rowData
.
backMoney
).
toFixed
(
2
)}
</span>`
}
};
let
peopleCount
=
{
field
:
"peopleCount"
,
title
:
"收客人数"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span style='color:blue'>
${
rowData
.
peopleCount
+
rowData
.
visaPeopleCount
}
人</span>`
}
};
let
visaPeopleCount
=
{
field
:
"visaPeopleCount"
,
title
:
"单签证人数"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
if
(
rowData
.
visaPeopleCount
>
0
)
return
`<span style='color:orange'>
${
rowData
.
visaPeopleCount
}
人</span>`
else
return
''
}
};
let
periods
=
{
field
:
"periods"
,
title
:
"期数"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
if
(
rowData
.
periods
!=
that
.
stringPerons
)
return
`<div style='height:40px;line-height:40px;color:#f1f1f1;background: red;margin: 0 -5px;;padding-left: 10px;'>
${
rowData
.
periods
}
</div>`
else
return
rowData
.
periods
}
};
let
remark
=
{
field
:
"remark"
,
title
:
"销售留言"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
200
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
if
(
rowData
.
remark
)
return
`<div class="outDiv">
filterMethod
(
filters
)
{
let
data
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataListTwo
))
let
dataListTwo
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataListTwo
))
if
(
filters
.
bName
!=
''
&&
filters
.
bName
!=
'__all__'
)
{
data
=
data
.
filter
(
item
=>
item
.
bName
.
indexOf
(
filters
.
bName
)
!=
-
1
);
}
if
(
filters
.
departmentName
!=
''
)
{
data
=
data
.
filter
(
item
=>
item
.
departmentName
.
indexOf
(
filters
.
departmentName
)
!=
-
1
);
}
if
(
filters
.
createByStr
!=
''
)
{
data
=
data
.
filter
(
item
=>
item
.
createByStr
.
indexOf
(
filters
.
createByStr
)
!=
-
1
);
}
if
((
filters
.
bName
===
''
||
filters
.
bName
===
'__all__'
)
&&
filters
.
departmentName
===
''
&&
filters
.
createByStr
===
''
)
{
data
=
dataListTwo
}
this
.
dataList
=
data
},
customCompFunc
(
params
)
{
if
(
params
.
type
===
"see"
)
{
this
.
getInfo
(
params
.
data
)
}
},
getCompanyList
()
{
//获取公司列表
this
.
apipost
(
"admin_get_BranchGetList"
,
this
.
getCompanyMsg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
let
data
=
res
.
data
.
data
;
data
.
forEach
(
x
=>
{
x
.
disabled
=
false
;
});
if
(
this
.
userInfo
.
RB_Branch_id
!=
0
)
{
this
.
CompanyList
=
data
.
filter
(
x
=>
{
if
(
x
.
BName
==
this
.
userInfo
.
BranchName
)
{
return
x
}
else
return
false
})
}
else
{
this
.
CompanyList
=
data
;
}
this
.
initColums
();
}
else
{}
},
err
=>
{}
);
},
initColums
()
{
this
.
isReady
=
false
;
let
that
=
this
;
let
companyList
=
[];
this
.
CompanyList
.
forEach
(
x
=>
{
let
item
=
{};
item
.
label
=
x
.
BName
;
item
.
value
=
x
.
BName
;
companyList
.
push
(
item
);
});
let
company
=
{}
if
(
this
.
disabledCPSelect
)
{
company
=
{
field
:
"bName"
,
title
:
"公司"
,
width
:
40
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
};
}
else
{
company
=
{
field
:
"bName"
,
title
:
"公司"
,
width
:
40
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
result
:
""
,
filterMultiple
:
false
,
filters
:
companyList
,
type
:
"select"
};
}
let
department
=
{
field
:
"departmentName"
,
title
:
"部门"
,
width
:
80
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
result
:
""
,
filterMultiple
:
false
,
filters
:
companyList
,
type
:
"text"
};
let
userName
=
{
field
:
"createByStr"
,
title
:
"姓名"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
if
(
rowData
.
leaveStr
&&
rowData
.
leaveStr
!=
''
)
return
`<div>
${
rowData
.
createByStr
}
<span style="color:red;display:inline-block">(
${
rowData
.
leaveStr
}
)</span></div>`
else
return
`<div>
${
rowData
.
createByStr
}
</div>`
}
};
let
commissionMoney
=
{
field
:
"commissionMoney"
,
title
:
"提成金额"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span>
${
rowData
.
commissionMoney
.
toFixed
(
2
)}
</span>`
}
};
let
otherMoney
=
{
field
:
"otherMoney"
,
title
:
"额外奖励"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span>
${
rowData
.
otherMoney
.
toFixed
(
2
)}
</span>`
}
};
let
backMoney
=
{
field
:
"backMoney"
,
title
:
"额外扣除"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span>
${
rowData
.
backMoney
.
toFixed
(
2
)}
</span>`
}
};
let
sumMoney
=
{
title
:
"应发提成"
,
field
:
"sumMoney"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span style='color:red'>
${(
rowData
.
otherMoney
+
rowData
.
commissionMoney
-
rowData
.
backMoney
).
toFixed
(
2
)}
</span>`
}
};
let
peopleCount
=
{
field
:
"peopleCount"
,
title
:
"收客人数"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
orderBy
:
""
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
return
`<span style='color:blue'>
${
rowData
.
peopleCount
}
人</span>`
}
};
let
visaPeopleCount
=
{
field
:
"visaPeopleCount"
,
title
:
"单签证人数"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
if
(
rowData
.
visaPeopleCount
>
0
)
return
`<span style='color:orange'>
${
rowData
.
visaPeopleCount
}
人</span>`
else
return
''
}
};
let
periods
=
{
field
:
"periods"
,
title
:
"期数"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
80
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
if
(
rowData
.
periods
!=
that
.
stringPerons
)
return
`<div style='height:40px;line-height:40px;color:#f1f1f1;background: red;margin: 0 -5px;;padding-left: 10px;'>
${
rowData
.
periods
}
</div>`
else
return
rowData
.
periods
}
};
let
remark
=
{
field
:
"remark"
,
title
:
"销售留言"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
width
:
200
,
formatter
:
function
(
rowData
,
rowIndex
,
pagingIndex
,
field
)
{
if
(
rowData
.
remark
)
return
`<div class="outDiv">
<div class="toolDiv">
<div class="triangle_border_up">
</div>
${
rowData
.
remark
}
</div>
${
rowData
.
remark
}
</div>`
else
return
''
}
};
let
opera
=
{
title
:
"操作"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
width
:
80
,
isResize
:
false
,
componentName
:
"commission-table-operation"
};
this
.
columns
=
[];
this
.
columns
.
push
(
company
);
this
.
columns
.
push
(
department
);
this
.
columns
.
push
(
userName
);
this
.
columns
.
push
(
commissionMoney
);
this
.
columns
.
push
(
otherMoney
);
this
.
columns
.
push
(
backMoney
);
this
.
columns
.
push
(
sumMoney
);
this
.
columns
.
push
(
peopleCount
);
this
.
columns
.
push
(
visaPeopleCount
);
this
.
columns
.
push
(
periods
);
this
.
columns
.
push
(
remark
);
this
.
columns
.
push
(
opera
);
this
.
isReady
=
true
;
},
sortChange
(
param
)
{
if
(
param
.
sumMoney
==
''
){
if
(
param
.
BName
!=
''
){
this
.
msg
.
OrderStr
=
'RB_Branch_Id '
+
param
.
bName
}
if
(
param
.
commissionMoney
!=
''
){
this
.
msg
.
OrderStr
=
'CommissionMoney '
+
param
.
commissionMoney
}
if
(
param
.
peopleCount
!=
''
){
this
.
msg
.
OrderStr
=
'PeopleCount '
+
param
.
peopleCount
}
if
(
param
.
backMoney
!=
''
){
this
.
msg
.
OrderStr
=
'BackMoney '
+
param
.
backMoney
}
if
(
param
.
otherMoney
!=
''
){
this
.
msg
.
OrderStr
=
'OtherMoney '
+
param
.
otherMoney
}
this
.
getList
();
}
else
{
let
d
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataList
))
this
.
dataList
=
this
.
orderBy
(
d
,
[
"sumMoney"
],
param
.
sumMoney
).
results
;
}
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
()
{
this
.
loading
=
true
;
if
(
this
.
userInfo
.
RB_Branch_id
!=
0
){
this
.
msg
.
RB_Branch_Id
=
this
.
userInfo
.
RB_Branch_id
}
else
return
''
this
.
apipost
(
"sellcommission_GetDetailsList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
dataList
.
forEach
(
x
=>
{
x
.
sumMoney
=
x
.
commissionMoney
+
x
.
otherMoney
-
x
.
backMoney
})
this
.
dataListTwo
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataList
))
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
}
};
let
opera
=
{
title
:
"操作"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
width
:
80
,
isResize
:
false
,
componentName
:
"commission-table-operation"
};
this
.
columns
=
[];
this
.
columns
.
push
(
company
);
this
.
columns
.
push
(
department
);
this
.
columns
.
push
(
userName
);
this
.
columns
.
push
(
commissionMoney
);
this
.
columns
.
push
(
otherMoney
);
this
.
columns
.
push
(
backMoney
);
this
.
columns
.
push
(
sumMoney
);
this
.
columns
.
push
(
peopleCount
);
this
.
columns
.
push
(
visaPeopleCount
);
this
.
columns
.
push
(
periods
);
this
.
columns
.
push
(
remark
);
this
.
columns
.
push
(
opera
);
this
.
isReady
=
true
;
},
null
);
},
//切换排序
handleClick
(
tab
,
event
)
{
if
(
this
.
activeName
==
"first"
)
{
// this.commonName='姓名'
this
.
msg
.
OrderStr
=
"UserId"
;
}
else
{
// this.commonName='公司名'
this
.
msg
.
OrderStr
=
"RB_Branch_Id"
;
}
this
.
getList
();
},
//跳转
getInfo
(
item
)
{
var
dateStr
=
item
.
periods
;
var
year
=
dateStr
.
substring
(
0
,
4
);
var
month
=
dateStr
.
substring
(
4
,
6
);
sortChange
(
param
)
{
if
(
param
.
sumMoney
==
''
)
{
if
(
param
.
BName
!=
''
)
{
this
.
msg
.
OrderStr
=
'RB_Branch_Id '
+
param
.
bName
}
if
(
param
.
commissionMoney
!=
''
)
{
this
.
msg
.
OrderStr
=
'CommissionMoney '
+
param
.
commissionMoney
}
if
(
param
.
peopleCount
!=
''
)
{
this
.
msg
.
OrderStr
=
'PeopleCount '
+
param
.
peopleCount
}
if
(
param
.
backMoney
!=
''
)
{
this
.
msg
.
OrderStr
=
'BackMoney '
+
param
.
backMoney
}
if
(
param
.
otherMoney
!=
''
)
{
this
.
msg
.
OrderStr
=
'OtherMoney '
+
param
.
otherMoney
}
this
.
getList
();
}
else
{
let
d
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataList
))
this
.
dataList
=
this
.
orderBy
(
d
,
[
"sumMoney"
],
param
.
sumMoney
).
results
;
}
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
getList
()
{
this
.
loading
=
true
;
if
(
this
.
userInfo
.
RB_Branch_id
!=
0
)
{
this
.
msg
.
RB_Branch_Id
=
this
.
userInfo
.
RB_Branch_id
}
this
.
apipost
(
"sellcommission_GetDetailsList"
,
this
.
msg
,
res
=>
{
this
.
loading
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
dataList
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
dataList
.
forEach
(
x
=>
{
x
.
sumMoney
=
x
.
commissionMoney
+
x
.
otherMoney
-
x
.
backMoney
})
this
.
dataListTwo
=
JSON
.
parse
(
JSON
.
stringify
(
this
.
dataList
))
}
else
{
this
.
Error
(
res
.
data
.
message
);
}
},
null
);
},
//切换排序
handleClick
(
tab
,
event
)
{
if
(
this
.
activeName
==
"first"
)
{
// this.commonName='姓名'
this
.
msg
.
OrderStr
=
"UserId"
;
}
else
{
// this.commonName='公司名'
this
.
msg
.
OrderStr
=
"RB_Branch_Id"
;
}
this
.
getList
();
},
//跳转
getInfo
(
item
)
{
var
dateStr
=
item
.
periods
;
var
year
=
dateStr
.
substring
(
0
,
4
);
var
month
=
dateStr
.
substring
(
4
,
6
);
var
nextMonthFirstDay
=
new
Date
(
year
,
month
,
1
);
var
nextMonthFirstDay
=
new
Date
(
year
,
month
,
1
);
var
oneDay
=
1000
*
60
*
60
*
24
;
var
entDay
=
new
Date
(
nextMonthFirstDay
-
oneDay
).
Format
(
"yyyy-MM-dd"
);
var
startDay
=
year
+
"-"
+
month
+
"-"
+
"01"
;
var
userId
=
item
.
userId
;
var
oneDay
=
1000
*
60
*
60
*
24
;
var
entDay
=
new
Date
(
nextMonthFirstDay
-
oneDay
).
Format
(
"yyyy-MM-dd"
);
var
startDay
=
year
+
"-"
+
month
+
"-"
+
"01"
;
var
userId
=
item
.
userId
;
this
.
$router
.
push
({
path
:
"enrollTotal"
,
query
:
{
EmployeeId
:
userId
,
starTime
:
startDay
,
endTime
:
entDay
,
blank
:
'y'
this
.
$router
.
push
({
path
:
"enrollTotal"
,
query
:
{
EmployeeId
:
userId
,
starTime
:
startDay
,
endTime
:
entDay
,
blank
:
'y'
}
});
}
});
}
},
mounted
()
{
this
.
msg
.
pageSize
=
10000
;
//不分页
this
.
msg
.
ParentId
=
this
.
$route
.
query
.
ParentId
;
if
(
this
.
$route
.
query
.
companyID
)
{
this
.
companyID
=
this
.
$route
.
query
.
companyID
;
this
.
msg
.
RB_Branch_Id
=
this
.
$route
.
query
.
companyID
;
this
.
msg
.
Periods
=
this
.
$route
.
query
.
periods
;
this
.
disabledCPSelect
=
true
}
let
dt
=
new
Date
()
this
.
stringPerons
=
(
dt
.
getMonth
()
==
0
?(
dt
.
getFullYear
()
-
1
):
dt
.
getFullYear
())
+
''
+
(
dt
.
getMonth
().
toString
().
length
<
2
?
'0'
:
''
)
+
(
dt
.
getMonth
()
==
0
?
12
:
dt
.
getMonth
());
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
getList
();
this
.
getCompanyList
();
},
created
(){
Vue
.
component
(
'commission-table-operation'
,{
template
:
`<div style='border-bottom: 1px solid #e5e5e5;border-left: 1px solid #e5e5e5;width:80px;height:40px;background:#fff;text-align:center;position: relative;left:-5px;padding-top: 6px;padding-top:6px;box-sizing:border-box'><el-button type="primary" size='mini' icon="el-icon-view" circle @click="see(rowData,index)"></el-button></div>`
,
props
:{
rowData
:{
type
:
Object
},
field
:{
type
:
String
},
index
:{
type
:
Number
}
},
methods
:{
see
(){
let
params
=
{
type
:
'see'
,
data
:
this
.
rowData
};
this
.
$emit
(
'on-custom-comp'
,
params
);
},
mounted
()
{
this
.
msg
.
pageSize
=
10000
;
//不分页
this
.
msg
.
ParentId
=
this
.
$route
.
query
.
ParentId
;
if
(
this
.
$route
.
query
.
companyID
)
{
this
.
companyID
=
this
.
$route
.
query
.
companyID
;
this
.
msg
.
RB_Branch_Id
=
this
.
$route
.
query
.
companyID
;
this
.
msg
.
Periods
=
this
.
$route
.
query
.
periods
;
this
.
disabledCPSelect
=
true
}
}
})
}
let
dt
=
new
Date
()
this
.
stringPerons
=
(
dt
.
getMonth
()
==
0
?
(
dt
.
getFullYear
()
-
1
)
:
dt
.
getFullYear
())
+
''
+
(
dt
.
getMonth
().
toString
().
length
<
2
?
'0'
:
''
)
+
(
dt
.
getMonth
()
==
0
?
12
:
dt
.
getMonth
());
this
.
userInfo
=
this
.
getLocalStorage
();
this
.
getList
();
this
.
getCompanyList
();
},
created
()
{
Vue
.
component
(
'commission-table-operation'
,
{
template
:
`<div style='border-bottom: 1px solid #e5e5e5;border-left: 1px solid #e5e5e5;width:80px;height:40px;background:#fff;text-align:center;position: relative;left:-5px;padding-top: 6px;padding-top:6px;box-sizing:border-box'><el-button type="primary" size='mini' icon="el-icon-view" circle @click="see(rowData,index)"></el-button></div>`
,
props
:
{
rowData
:
{
type
:
Object
},
field
:
{
type
:
String
},
index
:
{
type
:
Number
}
},
methods
:
{
see
()
{
let
params
=
{
type
:
'see'
,
data
:
this
.
rowData
};
this
.
$emit
(
'on-custom-comp'
,
params
);
}
}
})
}
};
</
script
>
<
style
>
.commissionDetails
.triangle_border_up
{
width
:
0
;
height
:
0
;
border-width
:
0
5px
5px
;
border-style
:
solid
;
border-color
:
transparent
transparent
#303133
;
/*透明 透明 灰*/
position
:
absolute
;
top
:
-5px
;
.commissionDetails
.triangle_border_up
{
width
:
0
;
height
:
0
;
border-width
:
0
5px
5px
;
border-style
:
solid
;
border-color
:
transparent
transparent
#303133
;
/*透明 透明 灰*/
position
:
absolute
;
top
:
-5px
;
}
.commissionDetails
.v-table-body-cell
:hover
.outDiv
.toolDiv
{
display
:
block
;
}
.commissionDetails
.v-table-body-cell
:hover
.outDiv
.toolDiv
{
display
:
block
;
.commissionDetails
.v-table-body-cell
{
overflow
:
initial
;
cursor
:
pointer
;
}
.commissionDetails
.v-table-body-cell
{
overflow
:
initial
;
cursor
:
pointer
;
.commissionDetails
.toolDiv
{
position
:
absolute
;
top
:
25px
;
background
:
#303133
;
color
:
#fff
;
z-index
:
20000
;
padding
:
4px
15px
;
max-width
:
220px
;
white-space
:
normal
;
border-radius
:
4px
;
word-wrap
:
break-word
;
display
:
none
;
}
.commissionDetails
.toolDiv
{
position
:
absolute
;
top
:
25px
;
background
:
#303133
;
color
:
#fff
;
z-index
:
20000
;
padding
:
4px
15px
;
max-width
:
220px
;
white-space
:
normal
;
border-radius
:
4px
;
word-wrap
:
break-word
;
display
:
none
;
.commissionDetails
.outDiv
{
position
:
relative
;
}
.commissionDetails
.outDiv
{
position
:
relative
;
.commissionDetails-box
.el-button.is-circle
{
padding
:
5px
!important
;
}
.commissionDetails-box
.el-button.is-circle
{
padding
:
5px
!important
;}
.commissionDetails-box
.v-table-body-cell
span
{
display
:
block
;
width
:
100%
;
...
...
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