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
a200e46f
Commit
a200e46f
authored
Mar 14, 2019
by
华国豪
🙄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
‘团队应收报表跳转’
parent
9be47004
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
1209 additions
and
708 deletions
+1209
-708
TeamRevenueReport.vue
...mponents/FinancialModule/ReportForm/TeamRevenueReport.vue
+159
-70
forMyApproval.vue
src/components/administrative/forMyApproval.vue
+1050
-638
No files found.
src/components/FinancialModule/ReportForm/TeamRevenueReport.vue
View file @
a200e46f
...
@@ -386,10 +386,10 @@ tr._item_list td:last-child {
...
@@ -386,10 +386,10 @@ tr._item_list td:last-child {
._TCIDAndTCNUMList
{
._TCIDAndTCNUMList
{
display
:
flex
;
display
:
flex
;
}
}
.other_report
{
.other_report
{
padding
:
0
28px
15px
28px
;
padding
:
0
28px
15px
28px
;
}
}
.other_report
li
{
.other_report
li
{
float
:
left
;
float
:
left
;
color
:
#fff
;
color
:
#fff
;
background-color
:
#b00
;
background-color
:
#b00
;
...
@@ -488,33 +488,33 @@ tr._item_list td:last-child {
...
@@ -488,33 +488,33 @@ tr._item_list td:last-child {
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"状态:"
>
<el-form-item
label=
"状态:"
>
<el-select
v-model=
"msg.QueryCondition"
filterable
class=
"w150"
>
<el-select
v-model=
"msg.QueryCondition"
filterable
class=
"w150"
>
<el-option
key=
"-1"
value=
"-1"
label=
"不限"
></el-option>
<el-option
key=
"-1"
value=
"-1"
label=
"不限"
></el-option>
<el-option
key=
"0"
value=
"0"
label=
"待收"
></el-option>
<el-option
key=
"0"
value=
"0"
label=
"待收"
></el-option>
<el-option
key=
"1"
value=
"1"
label=
"退款"
></el-option>
<el-option
key=
"1"
value=
"1"
label=
"退款"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"在途"
></el-option>
<el-option
key=
"2"
value=
"2"
label=
"在途"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
<el-col
:span=
"4"
>
<el-col
:span=
"4"
>
<el-form-item
label=
"数据类别:"
>
<el-form-item
label=
"数据类别:"
>
<el-select
v-model=
"msg.DataType"
filterable
class=
"w150"
>
<el-select
v-model=
"msg.DataType"
filterable
class=
"w150"
>
<el-option
key=
"-1"
value=
"-1"
label=
"不限"
></el-option>
<el-option
key=
"-1"
value=
"-1"
label=
"不限"
></el-option>
<el-option
key=
"0"
value=
"1"
label=
"团队营收"
></el-option>
<el-option
key=
"0"
value=
"1"
label=
"团队营收"
></el-option>
<el-option
key=
"1"
value=
"2"
label=
"机票"
></el-option>
<el-option
key=
"1"
value=
"2"
label=
"机票"
></el-option>
<el-option
key=
"2"
value=
"3"
label=
"签证"
></el-option>
<el-option
key=
"2"
value=
"3"
label=
"签证"
></el-option>
</el-select>
</el-select>
</el-form-item>
</el-form-item>
</el-col>
</el-col>
</el-row>
</el-row>
</el-form>
</el-form>
<ul
class=
"clearfix"
>
<ul
class=
"clearfix"
>
<li
class=
"hight_query"
>
<li
class=
"hight_query"
>
<!--
<button
class=
"normalBtn"
@
click=
"openKaiQiZzBox('一键开启')"
>
一键开启
</button>
<!--
<button
class=
"normalBtn"
@
click=
"openKaiQiZzBox('一键开启')"
>
一键开启
</button>
<button
class=
"hollowFixedBtn"
@
click=
"openKaiQiZzBox('一键关闭')"
>
一键关闭
</button>
-->
<button
class=
"hollowFixedBtn"
@
click=
"openKaiQiZzBox('一键关闭')"
>
一键关闭
</button>
-->
<button
class=
"normalBtn"
@
click=
"resetPageIndex(),getPageList()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"normalBtn"
@
click=
"resetPageIndex(),getPageList()"
>
{{
$t
(
'pub.searchBtn'
)
}}
</button>
<button
class=
"hollowFixedBtn"
@
click=
"method5()"
>
导出
</button>
<button
class=
"hollowFixedBtn"
@
click=
"method5()"
>
导出
</button>
<button
class=
"normalBtn
"
@
click=
"togbu"
>
一键同步
</button>
<button
class=
"normalBtn"
@
click=
"togbu"
>
一键同步
</button>
<!--
<button
class=
"hollowFixedBtn"
@
click=
"exportExcelCurrentPage"
>
导出2
</button>
-->
<!--
<button
class=
"hollowFixedBtn"
@
click=
"exportExcelCurrentPage"
>
导出2
</button>
-->
</li>
</li>
</ul>
</ul>
...
@@ -606,12 +606,13 @@ Vue.component("TCIDJump", {
...
@@ -606,12 +606,13 @@ Vue.component("TCIDJump", {
path
:
"/"
+
path
,
path
:
"/"
+
path
,
query
:
{
id
:
id
,
blank
:
"y"
}
query
:
{
id
:
id
,
blank
:
"y"
}
});
});
},
goUrlVisa
(
path
,
id
)
{
},
goUrlVisa
(
path
,
id
)
{
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
"/"
+
path
,
path
:
"/"
+
path
,
query
:
{
VisaID
:
id
,
blank
:
"y"
}
query
:
{
VisaID
:
id
,
blank
:
"y"
}
});
});
}
,
}
}
}
});
});
Vue
.
component
(
"TCNUMJump"
,
{
Vue
.
component
(
"TCNUMJump"
,
{
...
@@ -645,17 +646,18 @@ Vue.component("TCNUMJump", {
...
@@ -645,17 +646,18 @@ Vue.component("TCNUMJump", {
path
:
"/"
+
path
,
path
:
"/"
+
path
,
query
:
{
id
:
id
,
blank
:
"y"
}
query
:
{
id
:
id
,
blank
:
"y"
}
});
});
},
goUrlVisa
(
path
,
id
)
{
},
goUrlVisa
(
path
,
id
)
{
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
"/"
+
path
,
path
:
"/"
+
path
,
query
:
{
VisaID
:
id
,
blank
:
"y"
}
query
:
{
VisaID
:
id
,
blank
:
"y"
}
});
});
}
,
}
}
}
});
});
Vue
.
component
(
"GuestNum"
,
{
Vue
.
component
(
"GuestNum"
,
{
// 人数
// 人数
template
:
`<span>{{rowData.GuestNum}}+{{rowData.LeaderNum}}</span>`
,
template
:
`<span
style="cursor: pointer" @click="goUrl('TeamBalancePayment', rowData.DataType, rowData.TCNUM)"
>{{rowData.GuestNum}}+{{rowData.LeaderNum}}</span>`
,
props
:
{
props
:
{
rowData
:
{
rowData
:
{
type
:
Object
type
:
Object
...
@@ -666,6 +668,42 @@ Vue.component("GuestNum", {
...
@@ -666,6 +668,42 @@ Vue.component("GuestNum", {
index
:
{
index
:
{
type
:
Number
type
:
Number
}
}
},
methods
:
{
goUrl
(
path
,
type
,
id
)
{
if
(
type
===
1
)
{
this
.
$router
.
push
({
path
:
"/"
+
path
,
query
:
{
id
:
id
,
blank
:
"y"
}
});
}
}
}
});
Vue
.
component
(
"TCIDJumpWang"
,
{
// 人数
template
:
`<div>
<span style="cursor: pointer" v-if="rowData.DataType===1" @click="goUrl('TeamBalancePayment',rowData.TCID)">{{rowData[field]}}</span>
<span v-else >{{rowData[field]}}</span>
</div>`
,
props
:
{
rowData
:
{
type
:
Object
},
field
:
{
type
:
String
},
index
:
{
type
:
Number
}
},
methods
:
{
goUrl
(
path
,
id
)
{
this
.
$router
.
push
({
path
:
"/"
+
path
,
query
:
{
id
:
id
,
blank
:
"y"
}
});
}
}
}
});
});
Vue
.
component
(
"Transport"
,
{
Vue
.
component
(
"Transport"
,
{
...
@@ -700,8 +738,8 @@ export default {
...
@@ -700,8 +738,8 @@ export default {
startDate
:
""
,
startDate
:
""
,
endDate
:
""
,
endDate
:
""
,
Type
:
1
,
Type
:
1
,
QueryCondition
:
"-1"
,
QueryCondition
:
"-1"
,
DataType
:
"1"
DataType
:
"1"
},
},
getCompanyMsg
:
{
getCompanyMsg
:
{
// 公司
// 公司
...
@@ -737,9 +775,9 @@ export default {
...
@@ -737,9 +775,9 @@ export default {
}
}
},
},
disabledDate
:
time
=>
{
disabledDate
:
time
=>
{
if
(
time
<
new
Date
(
"2018-12-31"
))
{
if
(
time
<
new
Date
(
"2018-12-31"
))
{
return
true
;
return
true
;
}
else
{
}
else
{
if
(
this
.
choiceDate
)
{
if
(
this
.
choiceDate
)
{
const
one
=
365
*
24
*
3600
*
1000
;
const
one
=
365
*
24
*
3600
*
1000
;
const
minTime
=
this
.
choiceDate
-
one
;
const
minTime
=
this
.
choiceDate
-
one
;
...
@@ -818,7 +856,8 @@ export default {
...
@@ -818,7 +856,8 @@ export default {
width
:
100
,
width
:
100
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
//,orderBy:''
},
//,orderBy:''
{
{
field
:
"ShiShou"
,
field
:
"ShiShou"
,
...
@@ -827,7 +866,8 @@ export default {
...
@@ -827,7 +866,8 @@ export default {
width
:
100
,
width
:
100
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"TuiKuan"
,
field
:
"TuiKuan"
,
...
@@ -836,7 +876,8 @@ export default {
...
@@ -836,7 +876,8 @@ export default {
width
:
100
,
width
:
100
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"PingTaiShuiJin"
,
field
:
"PingTaiShuiJin"
,
...
@@ -845,7 +886,8 @@ export default {
...
@@ -845,7 +886,8 @@ export default {
width
:
100
,
width
:
100
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"ZaiTu"
,
field
:
"ZaiTu"
,
...
@@ -855,6 +897,7 @@ export default {
...
@@ -855,6 +897,7 @@ export default {
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
,
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"DaiShou"
,
field
:
"DaiShou"
,
...
@@ -863,7 +906,8 @@ export default {
...
@@ -863,7 +906,8 @@ export default {
width
:
100
,
width
:
100
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"YiShou"
,
field
:
"YiShou"
,
...
@@ -872,7 +916,8 @@ export default {
...
@@ -872,7 +916,8 @@ export default {
width
:
100
,
width
:
100
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"GuestNum"
,
field
:
"GuestNum"
,
...
@@ -890,7 +935,8 @@ export default {
...
@@ -890,7 +935,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"CheZi"
,
field
:
"CheZi"
,
...
@@ -899,7 +945,8 @@ export default {
...
@@ -899,7 +945,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"JiPiao"
,
field
:
"JiPiao"
,
...
@@ -908,7 +955,8 @@ export default {
...
@@ -908,7 +955,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"GuoNeiLianYunJiPiao"
,
field
:
"GuoNeiLianYunJiPiao"
,
...
@@ -917,7 +965,8 @@ export default {
...
@@ -917,7 +965,8 @@ export default {
width
:
120
,
width
:
120
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
// {field: 'Money11', title: '房费',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
// {field: 'Money11', title: '房费',width: 90, titleAlign: 'left',columnAlign:'left',isResize:true},
{
{
...
@@ -927,7 +976,8 @@ export default {
...
@@ -927,7 +976,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"TiCheng"
,
field
:
"TiCheng"
,
...
@@ -935,7 +985,8 @@ export default {
...
@@ -935,7 +985,8 @@ export default {
width
:
100
,
width
:
100
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"CompensationMoney"
,
field
:
"CompensationMoney"
,
...
@@ -944,8 +995,9 @@ export default {
...
@@ -944,8 +995,9 @@ export default {
width
:
100
,
width
:
100
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
},
componentName
:
"TCIDJumpWang"
},
{
{
field
:
"QiTa"
,
field
:
"QiTa"
,
formatter
:
this
.
moneyFormat
,
formatter
:
this
.
moneyFormat
,
...
@@ -953,7 +1005,8 @@ export default {
...
@@ -953,7 +1005,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"DiJieZhiChu"
,
field
:
"DiJieZhiChu"
,
...
@@ -962,7 +1015,8 @@ export default {
...
@@ -962,7 +1015,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"DiJieShouRu"
,
field
:
"DiJieShouRu"
,
...
@@ -971,7 +1025,8 @@ export default {
...
@@ -971,7 +1025,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"ZiFei"
,
field
:
"ZiFei"
,
...
@@ -980,7 +1035,8 @@ export default {
...
@@ -980,7 +1035,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"XiaoFeiShouRu"
,
field
:
"XiaoFeiShouRu"
,
...
@@ -989,7 +1045,8 @@ export default {
...
@@ -989,7 +1045,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"YongJinShouRu"
,
field
:
"YongJinShouRu"
,
...
@@ -998,7 +1055,8 @@ export default {
...
@@ -998,7 +1055,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"YingFu"
,
field
:
"YingFu"
,
...
@@ -1007,7 +1065,8 @@ export default {
...
@@ -1007,7 +1065,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"MaoLi"
,
field
:
"MaoLi"
,
...
@@ -1016,7 +1075,8 @@ export default {
...
@@ -1016,7 +1075,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"MaoLiRate"
,
field
:
"MaoLiRate"
,
...
@@ -1025,7 +1085,8 @@ export default {
...
@@ -1025,7 +1085,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"ShiJiLiRun"
,
field
:
"ShiJiLiRun"
,
...
@@ -1034,7 +1095,8 @@ export default {
...
@@ -1034,7 +1095,8 @@ export default {
width
:
90
,
width
:
90
,
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
,
componentName
:
"TCIDJumpWang"
},
},
{
{
field
:
"Remark"
,
field
:
"Remark"
,
...
@@ -1182,7 +1244,7 @@ export default {
...
@@ -1182,7 +1244,7 @@ export default {
titleAlign
:
"left"
,
titleAlign
:
"left"
,
columnAlign
:
"left"
,
columnAlign
:
"left"
,
isResize
:
true
isResize
:
true
},
},
{
{
field
:
"RealIncome"
,
field
:
"RealIncome"
,
formatter
:
this
.
moneyFormat
,
formatter
:
this
.
moneyFormat
,
...
@@ -1287,7 +1349,7 @@ export default {
...
@@ -1287,7 +1349,7 @@ export default {
footer
:
[],
footer
:
[],
pageSize
:
6
,
pageSize
:
6
,
pageIndex
:
1
,
pageIndex
:
1
,
AALloading
:
false
,
AALloading
:
false
};
};
},
},
created
()
{},
created
()
{},
...
@@ -1297,7 +1359,7 @@ export default {
...
@@ -1297,7 +1359,7 @@ export default {
allH
=
document
.
documentElement
.
clientHeight
;
allH
=
document
.
documentElement
.
clientHeight
;
allW
=
document
.
documentElement
.
clientWidth
;
allW
=
document
.
documentElement
.
clientWidth
;
cW
=
allW
-
90
;
cW
=
allW
-
90
;
cH
=
allH
-
350
-
52
;
cH
=
allH
-
350
-
52
;
this
.
msg
.
pageSize
=
parseInt
(
cH
/
30
)
-
1
;
this
.
msg
.
pageSize
=
parseInt
(
cH
/
30
)
-
1
;
let
userInfo
=
this
.
getLocalStorage
();
let
userInfo
=
this
.
getLocalStorage
();
this
.
getCompanyMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
//集团ID
this
.
getCompanyMsg
.
RB_Group_Id
=
userInfo
.
RB_Group_id
;
//集团ID
...
@@ -1308,23 +1370,29 @@ export default {
...
@@ -1308,23 +1370,29 @@ export default {
this
.
getStartList1
();
this
.
getStartList1
();
},
},
methods
:
{
methods
:
{
goEasyReport
:
function
()
{
goEasyReport
:
function
()
{
let
year
=
this
.
productionDate
[
0
]
?
this
.
productionDate
[
0
].
substring
(
0
,
4
)
:
''
let
year
=
this
.
productionDate
[
0
]
?
this
.
productionDate
[
0
].
substring
(
0
,
4
)
:
""
;
this
.
$router
.
push
({
this
.
$router
.
push
({
path
:
"/EasyReport"
,
path
:
"/EasyReport"
,
query
:
{
year
:
year
,
blank
:
"y"
}
query
:
{
year
:
year
,
blank
:
"y"
}
});
});
},
},
togbu
:
function
()
{
togbu
:
function
()
{
this
.
AALloading
=
true
this
.
AALloading
=
true
;
this
.
apipost
(
'financestatistics_post_InsertFinanceStatistics'
,
{},
res
=>
{
this
.
apipost
(
if
(
res
.
data
.
resultCode
==
1
)
{
"financestatistics_post_InsertFinanceStatistics"
,
this
.
$message
.
success
(
res
.
data
.
message
)
{},
}
else
{
res
=>
{
this
.
AALloading
=
false
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
$message
.
error
(
res
.
data
.
message
)
this
.
$message
.
success
(
res
.
data
.
message
);
}
else
{
this
.
AALloading
=
false
;
this
.
$message
.
error
(
res
.
data
.
message
);
}
}
}
})
);
},
},
submitKaiqiZzBox
:
function
()
{
submitKaiqiZzBox
:
function
()
{
// 开关闸提交
// 开关闸提交
...
@@ -1585,7 +1653,8 @@ export default {
...
@@ -1585,7 +1653,8 @@ export default {
return
this
.
priceFormat
(
rowData
.
GuoNeiLianYunJiPiao
);
return
this
.
priceFormat
(
rowData
.
GuoNeiLianYunJiPiao
);
if
(
field
===
"Visa"
)
return
this
.
priceFormat
(
rowData
.
Visa
);
if
(
field
===
"Visa"
)
return
this
.
priceFormat
(
rowData
.
Visa
);
if
(
field
===
"TiCheng"
)
return
this
.
priceFormat
(
rowData
.
TiCheng
);
if
(
field
===
"TiCheng"
)
return
this
.
priceFormat
(
rowData
.
TiCheng
);
if
(
field
===
"CompensationMoney"
)
return
this
.
priceFormat
(
rowData
.
CompensationMoney
);
if
(
field
===
"CompensationMoney"
)
return
this
.
priceFormat
(
rowData
.
CompensationMoney
);
if
(
field
===
"QiTa"
)
return
this
.
priceFormat
(
rowData
.
QiTa
);
if
(
field
===
"QiTa"
)
return
this
.
priceFormat
(
rowData
.
QiTa
);
if
(
field
===
"DiJieZhiChu"
)
return
this
.
priceFormat
(
rowData
.
DiJieZhiChu
);
if
(
field
===
"DiJieZhiChu"
)
return
this
.
priceFormat
(
rowData
.
DiJieZhiChu
);
if
(
field
===
"DiJieShouRu"
)
return
this
.
priceFormat
(
rowData
.
DiJieShouRu
);
if
(
field
===
"DiJieShouRu"
)
return
this
.
priceFormat
(
rowData
.
DiJieShouRu
);
...
@@ -1598,7 +1667,8 @@ export default {
...
@@ -1598,7 +1667,8 @@ export default {
return
this
.
priceFormat
(
rowData
.
YongJinShouRu
);
return
this
.
priceFormat
(
rowData
.
YongJinShouRu
);
if
(
field
===
"YingFu"
)
return
this
.
priceFormat
(
rowData
.
YingFu
);
if
(
field
===
"YingFu"
)
return
this
.
priceFormat
(
rowData
.
YingFu
);
if
(
field
===
"MaoLi"
)
return
this
.
priceFormat
(
rowData
.
MaoLi
);
if
(
field
===
"MaoLi"
)
return
this
.
priceFormat
(
rowData
.
MaoLi
);
if
(
field
===
"MaoLiRate"
)
return
this
.
priceFormat
(
rowData
.
MaoLiRate
*
100
)
+
'%'
;
if
(
field
===
"MaoLiRate"
)
return
this
.
priceFormat
(
rowData
.
MaoLiRate
*
100
)
+
"%"
;
if
(
field
===
"ShiJiLiRun"
)
return
this
.
priceFormat
(
rowData
.
ShiJiLiRun
);
if
(
field
===
"ShiJiLiRun"
)
return
this
.
priceFormat
(
rowData
.
ShiJiLiRun
);
if
(
field
===
"TransportCost"
)
if
(
field
===
"TransportCost"
)
return
this
.
priceFormat
(
rowData
.
TransportCost
);
return
this
.
priceFormat
(
rowData
.
TransportCost
);
...
@@ -1754,6 +1824,15 @@ export default {
...
@@ -1754,6 +1824,15 @@ export default {
this
.
pageIndex
=
this
.
msg
.
pageIndex
=
val
;
this
.
pageIndex
=
this
.
msg
.
pageIndex
=
val
;
this
.
getPageList
();
this
.
getPageList
();
},
},
TCIDJumpWang
(
path
,
type
,
id
)
{
console
.
log
(
type
);
if
(
type
===
1
)
{
this
.
$router
.
push
({
path
:
"/"
+
path
,
query
:
{
id
:
id
,
blank
:
"y"
}
});
}
},
getPageList
()
{
getPageList
()
{
// 获取列表数据
// 获取列表数据
this
.
loading
=
true
;
this
.
loading
=
true
;
...
@@ -1781,10 +1860,20 @@ export default {
...
@@ -1781,10 +1860,20 @@ export default {
x
.
Is_Transport
=
x
.
Is_Transport
===
0
?
"否"
:
"是"
;
x
.
Is_Transport
=
x
.
Is_Transport
===
0
?
"否"
:
"是"
;
newData
.
push
(
x
);
newData
.
push
(
x
);
}
else
{
}
else
{
x
.
MaoLiRate
=
this
.
total
===
0
?
0
:
parseFloat
(
x
.
MaoLiRate
/
this
.
total
);
x
.
MaoLiRate
=
x
.
AverageIncome
=
this
.
total
===
0
?
0
:
parseFloat
(
x
.
AverageIncome
/
this
.
total
);
this
.
total
===
0
?
0
:
parseFloat
(
x
.
MaoLiRate
/
this
.
total
);
x
.
AverageCost
=
this
.
total
===
0
?
0
:
parseFloat
(
x
.
AverageCost
/
this
.
total
);
x
.
AverageIncome
=
x
.
AverageProfit
=
this
.
total
===
0
?
0
:
parseFloat
(
x
.
AverageProfit
/
this
.
total
);
this
.
total
===
0
?
0
:
parseFloat
(
x
.
AverageIncome
/
this
.
total
);
x
.
AverageCost
=
this
.
total
===
0
?
0
:
parseFloat
(
x
.
AverageCost
/
this
.
total
);
x
.
AverageProfit
=
this
.
total
===
0
?
0
:
parseFloat
(
x
.
AverageProfit
/
this
.
total
);
x
.
LineName
=
"合计"
;
x
.
LineName
=
"合计"
;
x
.
TCID
=
""
;
x
.
TCID
=
""
;
x
.
TCNUM
=
""
;
x
.
TCNUM
=
""
;
...
...
src/components/administrative/forMyApproval.vue
View file @
a200e46f
<
template
>
<
template
>
<div
class=
"flexOne"
>
<div
class=
"flexOne"
>
<div
class=
"myApprovalMenu"
>
<div
class=
"myApprovalMenu"
>
<li
:class=
"
{cked:liCkedIndex==1}" @click="goUrl('myApproval')">发起审批
</li>
<li
:class=
"
{cked:liCkedIndex==1}" @click="goUrl('myApproval')">发起审批
</li>
<li
:class=
"
{cked:liCkedIndex==2}">我的审批
</li>
<li
:class=
"
{cked:liCkedIndex==2}">我的审批
</li>
<li
:class=
"
{cked:liCkedIndex==3}" @click="goUrl('myApprovalList')">我发起的
</li>
<li
:class=
"
{cked:liCkedIndex==3}" @click="goUrl('myApprovalList')">我发起的
</li>
<li
:class=
"
{cked:liCkedIndex==4}" @click="goUrl('sendToMeApproval')">抄送我的
</li>
<li
:class=
"
{cked:liCkedIndex==4}" @click="goUrl('sendToMeApproval')">抄送我的
</li>
</div>
</div>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<div
class=
"query-box"
style=
"border-bottom: none;"
>
<ul>
<ul>
<li>
<li>
<span><em>
关键字
</em><el-input
class=
'w210'
v-model=
"msg.searchKey"
placeholder=
"请输入申请人"
@
keyup
.
enter
.
native=
"getList"
></el-input></span>
<span>
</li>
<em>
关键字
</em>
<li>
<el-input
<span><em>
审批类型
</em><el-select
v-model=
'msg.applyType'
>
class=
"w210"
<el-option
v-for=
'item in ApplyTypeList'
:label=
'item.label'
:value=
'item.value'
:key=
'item.value'
></el-option>
v-model=
"msg.searchKey"
</el-select></span>
placeholder=
"请输入申请人"
</li>
@
keyup
.
enter
.
native=
"getList"
<li>
></el-input>
<span><em>
审批状态
</em><el-select
v-model=
'msg.auditType'
>
</span>
<el-option
label=
'不限'
value=
'0'
></el-option>
</li>
<el-option
label=
'待审核'
value=
'1'
></el-option>
<li>
<el-option
label=
'已审核'
value=
'2'
></el-option>
<span>
</el-select></span>
<em>
审批类型
</em>
</li>
<el-select
v-model=
"msg.applyType"
>
<li>
<el-option
<span><em>
申请审核状态
</em><el-select
v-model=
'msg.appAuditStatus'
>
v-for=
"item in ApplyTypeList"
<el-option
v-for=
'item in appAuditStatusList'
:label=
'item.label'
:value=
'item.value'
:key=
'item.value'
></el-option>
:label=
"item.label"
</el-select></span>
:value=
"item.value"
</li>
:key=
"item.value"
<li
style=
"top:-155px!important"
><input
type=
"button"
class=
"hollowFixedBtn"
value=
"查询"
@
click=
"resetPageIndex(),getList()"
/></li>
></el-option>
</ul>
</el-select>
</div>
</span>
</li>
<div
class=
"appListparent"
v-loading=
'loading'
>
<li>
<div
class=
"forMyApprovalTable"
>
<span>
<li>
审批标题
</li>
<em>
审批状态
</em>
<li>
搜索简要
</li>
<el-select
v-model=
"msg.auditType"
>
<li>
发起时间
</li>
<el-option
label=
"不限"
value=
"0"
></el-option>
<li>
状态
</li>
<el-option
label=
"待审核"
value=
"1"
></el-option>
<li>
操作
</li>
<el-option
label=
"已审核"
value=
"2"
></el-option>
</div>
</el-select>
<div
class=
"forMyApprovalItem"
v-for=
"(item,index) in list"
>
</span>
<li>
</li>
<img
v-if=
"!item.userPhoto"
src=
"../../assets/img/litheader.png"
alt=
""
>
<li>
<img
v-else
:src=
"item.userPhoto"
alt=
""
:onerror=
"defaultImg"
>
<span>
<span>
{{
item
.
title
}}
</span>
<em>
申请审核状态
</em>
</li>
<el-select
v-model=
"msg.appAuditStatus"
>
<li>
<el-option
<p
v-for=
"item in list[index].detial"
>
{{
item
}}
</p>
v-for=
"item in appAuditStatusList"
</li>
:label=
"item.label"
<li>
:value=
"item.value"
<p><i
class=
"iconfont icon-img-rili"
></i>
:key=
"item.value"
{{
item
.
createTime
}}
</p></li>
></el-option>
<li>
{{
item
.
auditStatusStrt
}}
</li>
</el-select>
<li><input
type=
"button"
class=
"hollowFixedBtn"
value=
"详情"
@
click=
"getDetail(item.workFlowId,item.templateType)"
></li>
</span>
</div>
</li>
</div>
<li
style=
"top:-155px!important"
>
<el-pagination
background
<input
@
current-change=
"handleCurrentChange"
type=
"button"
:current-page
.
sync=
"currentPage"
class=
"hollowFixedBtn"
layout=
"total,prev, pager, next, jumper"
value=
"查询"
:page-size=
msg.pageSize
@
click=
"resetPageIndex(),getList()"
:total=
total
>
>
</el-pagination>
</li>
</ul>
</div>
<div
:class=
"
{forMyApprovalLayer:showlayer}" @click="closeLayer">
<div
:class=
"
{forMyApprovalLayercontentDiv:true,rightZero:isTransition}" @click.stop>
<div
class=
"appListparent"
v-loading=
"loading"
>
<div
class=
"title"
>
{{
detailList
.
Proposer
}}{{
detailList
.
TempleteTypeName
}}
</div>
<div
class=
"forMyApprovalTable"
>
<div
class=
"user"
>
<li>
审批标题
</li>
<img
v-if=
"!detailList.ProposerPhoto"
src=
"../../assets/img/litheader.png"
alt=
""
>
<li>
搜索简要
</li>
<img
v-else
:src=
"detailList.ProposerPhoto"
alt=
""
:onerror=
"defaultImg"
>
<li>
发起时间
</li>
<p>
{{
detailList
.
Proposer
}}
</p>
<li>
状态
</li>
<p><span
style=
"color:#257BF1; font-size: 14px;"
>
{{
detailList
.
Status
}}
</span></p>
<li>
操作
</li>
</div>
</div>
<div
class=
"forMyApprovalItem"
v-for=
"(item,index) in list"
>
<div
class=
"detail"
>
<li>
<table
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
class=
"myApprovalTable"
>
<img
v-if=
"!item.userPhoto"
src=
"../../assets/img/litheader.png"
alt
>
<tr
v-for=
"(item,index) in detailList.Details"
v-if=
"(item.formType=='Image' && item.value.length>0) || item.formType!='Image'"
>
<img
v-else
:src=
"item.userPhoto"
alt
:onerror=
"defaultImg"
>
<td
width=
"80"
>
{{
item
.
title
}}
:
</td>
<span>
{{
item
.
title
}}
</span>
</li>
<td
v-if=
"item.formType=='String'"
>
{{
item
.
value
}}
</td>
<li>
<td
v-if=
"item.formType=='Json'"
>
<p
v-for=
"item in list[index].detial"
>
{{
item
}}
</p>
<div
v-for=
"(i,index) in item.value"
style=
"border-bottom: 1px solid #ccc; padding:10px 0;"
>
</li>
<p
style=
"line-height: 24px;"
v-for=
"o in i"
>
{{
o
.
title
}}
:
{{
o
.
value
}}
</p>
<li>
</div>
<p>
</td>
<i
class=
"iconfont icon-img-rili"
></i>
<td
v-if=
"item.formType=='Image'"
>
{{
item
.
createTime
}}
<img
v-if=
'item.value.length>0'
style=
"width: 50px; height: 50px; border-radius: 4px; margin:0 10px 0 0;"
v-for=
"(img,index) in item.value"
:src=
"img"
</p>
@
click=
"getPic(item.value)"
/>
</li>
</td>
<li>
{{
item
.
auditStatusStrt
}}
</li>
</tr>
<li>
</table>
<input
</div>
type=
"button"
class=
"hollowFixedBtn"
<div
class=
"audit"
>
value=
"详情"
<div
class=
"auditItem"
>
@
click=
"getDetail(item.workFlowId,item.templateType)"
<img
v-if=
"!detailList.ProposerPhoto"
src=
"../../assets/img/litheader.png"
alt=
""
>
>
<img
v-else
:src=
"detailList.ProposerPhoto"
alt=
""
:onerror=
"defaultImg"
>
</li>
<p>
</div>
<span>
{{
detailList
.
Proposer
}}
</span>
<span>
发起申请
</span><span
class=
"fr"
>
{{
detailList
.
ProposerTime
}}
</span>
</div>
</p>
<el-pagination
</div>
background
<div
class=
"auditItem"
v-for=
"(item,index) in detailList.arList"
>
@
current-change=
"handleCurrentChange"
<img
v-if=
'item.AuditRecordList.length==1&&!item.AuditRecordList[0].AuditEmPhoto'
src=
"../../assets/img/litheader.png"
/>
:current-page
.
sync=
"currentPage"
<img
v-if=
'item.AuditRecordList.length==1&&item.AuditRecordList[0].AuditEmPhoto'
:src=
'item.AuditRecordList[0].AuditEmPhoto'
alt=
""
:onerror=
"defaultImg"
/>
layout=
"total,prev, pager, next, jumper"
<img
v-if=
'item.AuditRecordList.length>1'
src=
"../../assets/img/bg_z1@2x.png"
/>
:page-size=
"msg.pageSize"
<p
v-if=
'item.AuditRecordList.length==1'
>
:total=
"total"
<span>
{{
item
.
AuditRecordList
[
0
].
AuditEmName
}}
</span>
></el-pagination>
<span
:style=
"'color: ' + item.AuditRecordList[0].StatusColor + ' !important'"
>
{{
item
.
AuditRecordList
[
0
].
Stauts
}}
</span>
<span
class=
"fr"
>
{{
item
.
AuditRecordList
[
0
].
AuditTime
}}
</span>
<div
:class=
"
{forMyApprovalLayer:showlayer}" @click="closeLayer">
<span
style=
"display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;"
>
{{
item
.
AuditRecordList
[
0
].
Description
}}
</span>
<div
:class=
"
{forMyApprovalLayercontentDiv:true,rightZero:isTransition}" @click.stop>
<span
v-if=
"item.AuditRecordList[0].CareOfList!=null"
style=
"display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"
>
<div
class=
"title"
>
{{
detailList
.
Proposer
}}{{
detailList
.
TempleteTypeName
}}
</div>
<b
style=
"color: red;"
>
由
</b>
{{
item
.
AuditRecordList
[
0
].
CareOfList
[
0
].
BeFrom
}}
<b
style=
"color: red;"
>
转
</b>
{{
item
.
AuditRecordList
[
0
].
CareOfList
[
0
].
Target
}}
<div
class=
"user"
>
<br/>
<img
v-if=
"!detailList.ProposerPhoto"
src=
"../../assets/img/litheader.png"
alt
>
{{
item
.
AuditRecordList
[
0
].
CareOfList
[
0
].
Remarks
}}
<img
v-else
:src=
"detailList.ProposerPhoto"
alt
:onerror=
"defaultImg"
>
</span>
<p>
{{
detailList
.
Proposer
}}
</p>
</p>
<p>
<div
class=
"auditItemImgList"
style=
"padding-left: 30px;"
>
<span
style=
"color:#257BF1; font-size: 14px;"
>
{{
detailList
.
Status
}}
</span>
<img
v-for=
'img in toArr(item.AuditRecordList[0].Image)'
:src=
"img"
@
click=
"getPic(toArr(item.AuditRecordList[0].Image))"
/>
</p>
</div>
</div>
<p
v-if=
'item.AuditRecordList.length>1'
style=
"cursor: pointer;"
>
<span>
{{
item
.
AuditDescription
}}{{
item
.
AuditWay
}}
</span>
<div
class=
"detail"
>
<i
class=
"el-icon-arrow-right"
></i>
<table
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
class=
"myApprovalTable"
>
</p>
<tr
v-for=
"(item,index) in detailList.Details"
<div
v-if=
'item.AuditRecordList.length>1'
style=
" width: 300px; height: auto; margin:15px 0; border-radius: 4px; background: #F0F3FA;"
>
v-if=
"(item.formType=='Image' && item.value.length>0) || item.formType!='Image'"
<p
v-if=
'item.AuditWayStatus==2'
style=
"padding: 10px; color: #666;"
>
须以下人员全部审批通过
</p>
>
<p
v-if=
'item.AuditWayStatus==3'
style=
"padding: 10px; color: #666;"
>
以下人员大于等于一人审批通过即可
</p>
<td
width=
"80"
>
{{
item
.
title
}}
:
</td>
<div
v-for=
"i in item.AuditRecordList"
>
<td
v-if=
"item.formType=='String'"
>
{{
item
.
value
}}
</td>
<p
class=
"auditItemDetailtitle"
>
<td
v-if=
"item.formType=='Json'"
>
<img
width=
"28"
height=
"28"
v-if=
"!i.AuditEmPhoto"
src=
"../../assets/img/litheader.png"
alt=
""
>
<div
<img
width=
"28"
height=
"28"
v-else
:src=
"i.AuditEmPhoto"
alt=
""
:onerror=
"defaultImg"
>
v-for=
"(i,index) in item.value"
<span>
{{
i
.
AuditEmName
}}
</span>
style=
"border-bottom: 1px solid #ccc; padding:10px 0;"
<span
:style=
"'color: ' + i.StatusColor + ' !important'"
>
{{
i
.
Stauts
}}
</span>
>
<span
style=
"display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;"
>
{{
i
.
Description
}}
</span>
<p
style=
"line-height: 24px;"
v-for=
"o in i"
>
{{
o
.
title
}}
:
{{
o
.
value
}}
</p>
<span
v-if=
'i.CareOfList!=null'
style=
"display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"
>
</div>
<b
style=
"color: red;"
>
由
</b>
{{
i
.
CareOfList
[
0
].
BeFrom
}}
<b
style=
"color: red;"
>
转
</b>
{{
i
.
CareOfList
[
0
].
Target
}}
</td>
<br/>
<td
v-if=
"item.formType=='Image'"
>
{{
i
.
CareOfList
[
0
].
Remarks
}}
<img
</span>
v-if=
"item.value.length>0"
</p>
style=
"width: 50px; height: 50px; border-radius: 4px; margin:0 10px 0 0;"
<div
class=
"auditItemImgList"
v-if=
"toArr(i.Image).length>0"
>
v-for=
"(img,index) in item.value"
<img
v-for=
'img in toArr(i.Image)'
:src=
"img"
@
click=
"getPic(toArr(i.Image))"
/>
:src=
"img"
</div>
@
click=
"getPic(item.value)"
</div>
>
</div>
</td>
</div>
</tr>
</div>
<!--audit end-->
</table>
</div>
<div
class=
"send"
v-if=
"detailList.AuditStatus==5"
>
<!--v-if="detailList.AuditStatus==5"-->
<div
class=
"audit"
>
<p
class=
"sentTitle"
>
抄送
<span>
审批通过后,通知抄送人
</span></p>
<div
class=
"auditItem"
>
<div
class=
"sendList"
>
<img
v-if=
"!detailList.ProposerPhoto"
src=
"../../assets/img/litheader.png"
alt
>
<div
v-for=
"(item,index) in detailList.CopyToPeopleList"
>
<img
v-else
:src=
"detailList.ProposerPhoto"
alt
:onerror=
"defaultImg"
>
<img
v-if=
"!item.EmPhoto"
src=
"../../assets/img/litheader.png"
alt=
""
>
<p>
<img
v-else
:src=
"item.EmPhoto"
alt=
""
:onerror=
"defaultImg"
>
<span>
{{
detailList
.
Proposer
}}
</span>
<br/>
<span>
发起申请
</span>
{{
item
.
EmName
}}
<span
class=
"fr"
>
{{
detailList
.
ProposerTime
}}
</span>
</div>
</p>
</div>
</div>
</div>
<!--send end-->
<div
class=
"auditItem"
v-for=
"(item,index) in detailList.arList"
>
<img
<div
style=
"height: 50px; width: 100%;"
>
<!--空白暂位,防止下面漂浮按钮遮挡内容-->
</div>
v-if=
"item.AuditRecordList.length==1&&!item.AuditRecordList[0].AuditEmPhoto"
<div
class=
"forMyApprovalLayerBtn"
>
src=
"../../assets/img/litheader.png"
<input
v-if=
"IsAudit==1"
type=
"button"
class=
"hollowbtn"
value=
"同意"
@
click=
"openDialog(IsAgree=true,detailList.WorkFlowId,detailList.TemplateType)"
/>
>
<input
v-if=
"IsAudit==1"
type=
"button"
class=
"hollowbtn"
value=
"不同意"
@
click=
"openDialog(IsAgree=false,detailList.WorkFlowId,detailList.TemplateType)"
/>
<img
<input
v-if=
"IsAudit==1"
type=
"button"
class=
"hollowbtn"
value=
"转交"
@
click=
"transferDialog(detailList.WorkFlowId,detailList.TemplateType)"
/>
v-if=
"item.AuditRecordList.length==1&&item.AuditRecordList[0].AuditEmPhoto"
<input
v-if=
"IsCancel==1"
type=
"button"
class=
"hollowbtn"
value=
"撤回"
@
click=
"withdrawAapproval(detailList.WorkFlowId,detailList.TemplateType)"
/>
:src=
"item.AuditRecordList[0].AuditEmPhoto"
<input
v-if=
"IsUpdate==1&&detailList.TemplateType!=4"
type=
"button"
class=
"hollowbtn"
alt
value=
"修改"
@
click=
"updateAapproval('leaveApproval',detailList.Cmd,detailList.SubmitCmd,detailList.WorkFlowId,detailList.TempleteId)"
/>
:onerror=
"defaultImg"
</div>
>
</div>
<img
v-if=
"item.AuditRecordList.length>1"
src=
"../../assets/img/bg_z1@2x.png"
>
</div>
<p
v-if=
"item.AuditRecordList.length==1"
>
<el-dialog
custom-class=
'w500'
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
:before-close=
"clearDialogMsg"
>
<span>
{{
item
.
AuditRecordList
[
0
].
AuditEmName
}}
</span>
<table
class=
"layerTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<span
<tr>
:style=
"'color: ' + item.AuditRecordList[0].StatusColor + ' !important'"
<td>
审批意见
</td>
>
{{
item
.
AuditRecordList
[
0
].
Stauts
}}
</span>
<td>
<span
class=
"fr"
>
{{
item
.
AuditRecordList
[
0
].
AuditTime
}}
</span>
<el-input
type=
'textarea'
v-model=
'appMsg.Description'
></el-input>
<span
</td>
style=
"display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;"
</tr>
>
{{
item
.
AuditRecordList
[
0
].
Description
}}
</span>
<tr>
<span
<td>
图片
</td>
v-if=
"item.AuditRecordList[0].CareOfList!=null"
<td>
style=
"display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"
<el-upload
>
:file-list=
"fileList"
<b
style=
"color: red;"
>
由
</b>
:http-request=
"uploadTest"
{{
item
.
AuditRecordList
[
0
].
CareOfList
[
0
].
BeFrom
}}
:multiple=
"true"
<b
:limit=
"9"
style=
"color: red;"
list-type=
"picture-card"
>
转
</b>
:on-remove=
"handleRemove"
{{
item
.
AuditRecordList
[
0
].
CareOfList
[
0
].
Target
}}
:on-exceed=
"handleExceed"
<br>
action=
""
>
{{
item
.
AuditRecordList
[
0
].
CareOfList
[
0
].
Remarks
}}
<i
class=
"el-icon-plus"
></i>
</span>
</el-upload>
</p>
</td>
<div
class=
"auditItemImgList"
style=
"padding-left: 30px;"
>
</tr>
<img
</table>
v-for=
"img in toArr(item.AuditRecordList[0].Image)"
<div
slot=
"footer"
class=
"dialog-footer"
>
:src=
"img"
<button
class=
"hollowFixedBtn"
@
click=
"btnClearDialogMsg"
>
取 消
</button>
@
click=
"getPic(toArr(item.AuditRecordList[0].Image))"
<button
v-if=
'agree'
class=
"normalBtn"
type=
"primary"
@
click=
"agreeApproval"
>
确定同意
</button>
>
<button
v-if=
'!agree'
class=
"normalBtn"
type=
"primary"
@
click=
"rejectApproval"
>
确定不同意
</button>
</div>
</div>
<p
v-if=
"item.AuditRecordList.length>1"
style=
"cursor: pointer;"
>
</el-dialog>
<span>
{{
item
.
AuditDescription
}}{{
item
.
AuditWay
}}
</span>
<i
class=
"el-icon-arrow-right"
></i>
<el-dialog
custom-class=
'w500'
:title=
"dialogTitle1"
:visible
.
sync=
"outerVisible1"
center
:before-close=
"clearTransferDialog"
>
</p>
<table
class=
"layerTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<div
<td
width=
"80"
align=
"right"
>
转交备注:
</td>
v-if=
"item.AuditRecordList.length>1"
<td>
style=
" width: 300px; height: auto; margin:15px 0; border-radius: 4px; background: #F0F3FA;"
<el-input
type=
'textarea'
v-model=
'transferMsg.Description'
></el-input>
>
</td>
<p
v-if=
"item.AuditWayStatus==2"
style=
"padding: 10px; color: #666;"
>
须以下人员全部审批通过
</p>
</tr>
<p
v-if=
"item.AuditWayStatus==3"
style=
"padding: 10px; color: #666;"
>
以下人员大于等于一人审批通过即可
</p>
<tr>
<td
width=
"80"
align=
"right"
>
姓名搜索:
</td>
<div
v-for=
"i in item.AuditRecordList"
>
<td
>
<p
class=
"auditItemDetailtitle"
>
<el-input
class=
'w200'
placeholder=
"请输入姓名关键字"
v-model=
"filterText"
></el-input>
<img
</td>
width=
"28"
</tr>
height=
"28"
<tr>
v-if=
"!i.AuditEmPhoto"
<td
colspan=
"2"
>
src=
"../../assets/img/litheader.png"
alt
<el-tree
class=
'forMyApprovalProcess'
>
:data=
"memberList"
<img
:props=
"defaultProps"
width=
"28"
:filter-node-method=
"filterNode"
height=
"28"
show-checkbox
v-else
accordion
:src=
"i.AuditEmPhoto"
@
check-change=
"handleNodeChange"
alt
node-key=
"DepartmentId"
:onerror=
"defaultImg"
ref=
"tree"
>
check-strictly
<span>
{{
i
.
AuditEmName
}}
</span>
>
<span
:style=
"'color: ' + i.StatusColor + ' !important'"
>
{{
i
.
Stauts
}}
</span>
</el-tree>
<span
</td>
style=
"display:block; padding-left: 40px; text-indent: 0; font-size: 12px; line-height: 24px; color: #333;"
</tr>
>
{{
i
.
Description
}}
</span>
</table>
<span
v-if=
"i.CareOfList!=null"
<div
slot=
"footer"
class=
"dialog-footer"
>
style=
"display: inline-block; line-height: 24px; font-size: 12px; text-indent: 0; padding-left:40px; color: #666;"
<button
class=
"hollowFixedBtn"
@
click=
"btnClearTransferDialog"
>
取 消
</button>
>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"transferApproval"
>
确定
</button>
<b
style=
"color: red;"
>
由
</b>
</div>
{{
i
.
CareOfList
[
0
].
BeFrom
}}
</el-dialog>
<b
style=
"color: red;"
>
转
</b>
<div
:class=
"
{viewBigPicLayer:true,viewBigPicLayerDisplayNone:dspNone}" @click="closePicLayer">
{{
i
.
CareOfList
[
0
].
Target
}}
<i
@
click=
"closePicLayer"
class=
"el-icon-circle-close-outline clolseViewBigPicLayer"
></i>
<br>
<el-carousel
height=
"600px"
:interval=
"5000"
trigger=
"click"
>
{{
i
.
CareOfList
[
0
].
Remarks
}}
<el-carousel-item
v-for=
"(item,index) in picObj"
:key=
"index"
>
</span>
<img
:src=
"item"
/>
</p>
</el-carousel-item>
<div
class=
"auditItemImgList"
v-if=
"toArr(i.Image).length>0"
>
</el-carousel>
<img
v-for=
"img in toArr(i.Image)"
:src=
"img"
@
click=
"getPic(toArr(i.Image))"
>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!--audit end-->
<div
class=
"send"
v-if=
"detailList.AuditStatus==5"
>
<!--v-if="detailList.AuditStatus==5"-->
<p
class=
"sentTitle"
>
抄送
<span>
审批通过后,通知抄送人
</span>
</p>
<div
class=
"sendList"
>
<div
v-for=
"(item,index) in detailList.CopyToPeopleList"
>
<img
v-if=
"!item.EmPhoto"
src=
"../../assets/img/litheader.png"
alt
>
<img
v-else
:src=
"item.EmPhoto"
alt
:onerror=
"defaultImg"
>
<br>
{{
item
.
EmName
}}
</div>
</div>
</div>
<!--send end-->
<div
style=
"height: 50px; width: 100%;"
>
<!--空白暂位,防止下面漂浮按钮遮挡内容-->
</div>
<div
class=
"forMyApprovalLayerBtn"
>
<input
v-if=
"IsAudit==1"
type=
"button"
class=
"hollowbtn"
value=
"同意"
@
click=
"openDialog(IsAgree=true,detailList.WorkFlowId,detailList.TemplateType)"
>
<input
v-if=
"IsAudit==1"
type=
"button"
class=
"hollowbtn"
value=
"不同意"
@
click=
"openDialog(IsAgree=false,detailList.WorkFlowId,detailList.TemplateType)"
>
<input
v-if=
"IsAudit==1"
type=
"button"
class=
"hollowbtn"
value=
"转交"
@
click=
"transferDialog(detailList.WorkFlowId,detailList.TemplateType)"
>
<input
v-if=
"IsCancel==1"
type=
"button"
class=
"hollowbtn"
value=
"撤回"
@
click=
"withdrawAapproval(detailList.WorkFlowId,detailList.TemplateType)"
>
<input
v-if=
"IsUpdate==1&&detailList.TemplateType!=4"
type=
"button"
class=
"hollowbtn"
value=
"修改"
@
click=
"updateAapproval('leaveApproval',detailList.Cmd,detailList.SubmitCmd,detailList.WorkFlowId,detailList.TempleteId)"
>
</div>
</div>
</div>
<el-dialog
custom-class=
"w500"
:title=
"dialogTitle"
:visible
.
sync=
"outerVisible"
center
:before-close=
"clearDialogMsg"
>
<table
class=
"layerTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td>
审批意见
</td>
<td>
<el-input
type=
"textarea"
v-model=
"appMsg.Description"
></el-input>
</td>
</tr>
<tr>
<td>
图片
</td>
<td>
<el-upload
:file-list=
"fileList"
:http-request=
"uploadTest"
:multiple=
"true"
:limit=
"9"
list-type=
"picture-card"
:on-remove=
"handleRemove"
:on-exceed=
"handleExceed"
action
>
<i
class=
"el-icon-plus"
></i>
</el-upload>
</td>
</tr>
</table>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"btnClearDialogMsg"
>
取 消
</button>
<button
v-if=
"agree"
class=
"normalBtn"
type=
"primary"
@
click=
"agreeApproval"
>
确定同意
</button>
<button
v-if=
"!agree"
class=
"normalBtn"
type=
"primary"
@
click=
"rejectApproval"
>
确定不同意
</button>
</div>
</el-dialog>
<el-dialog
custom-class=
"w500"
:title=
"dialogTitle1"
:visible
.
sync=
"outerVisible1"
center
:before-close=
"clearTransferDialog"
>
<table
class=
"layerTable"
border=
"0"
cellspacing=
"0"
cellpadding=
"0"
>
<tr>
<td
width=
"80"
align=
"right"
>
转交备注:
</td>
<td>
<el-input
type=
"textarea"
v-model=
"transferMsg.Description"
></el-input>
</td>
</tr>
<tr>
<td
width=
"80"
align=
"right"
>
姓名搜索:
</td>
<td>
<el-input
class=
"w200"
placeholder=
"请输入姓名关键字"
v-model=
"filterText"
></el-input>
</td>
</tr>
<tr>
<td
colspan=
"2"
>
<el-tree
class=
"forMyApprovalProcess"
:data=
"memberList"
:props=
"defaultProps"
:filter-node-method=
"filterNode"
show-checkbox
accordion
@
check-change=
"handleNodeChange"
node-key=
"DepartmentId"
ref=
"tree"
check-strictly
></el-tree>
</td>
</tr>
</table>
<div
slot=
"footer"
class=
"dialog-footer"
>
<button
class=
"hollowFixedBtn"
@
click=
"btnClearTransferDialog"
>
取 消
</button>
<button
class=
"normalBtn"
type=
"primary"
@
click=
"transferApproval"
>
确定
</button>
</div>
</el-dialog>
<div
:class=
"
{viewBigPicLayer:true,viewBigPicLayerDisplayNone:dspNone}" @click="closePicLayer">
<i
@
click=
"closePicLayer"
class=
"el-icon-circle-close-outline clolseViewBigPicLayer"
></i>
<el-carousel
height=
"600px"
:interval=
"5000"
trigger=
"click"
>
<el-carousel-item
v-for=
"(item,index) in picObj"
:key=
"index"
>
<img
:src=
"item"
>
</el-carousel-item>
</el-carousel>
</div>
</div>
</
template
>
</
template
>
<
script
>
<
script
>
export
default
{
export
default
{
data
()
{
data
()
{
return
{
return
{
filterText
:
""
,
filterText
:
""
,
defaultProps
:
{
defaultProps
:
{
children
:
'ChildList'
,
children
:
"ChildList"
,
label
:
'DepartmentName'
,
label
:
"DepartmentName"
,
disabled
:
"Disabled"
disabled
:
"Disabled"
},
},
fileList
:[],
fileList
:
[],
picObj
:[],
picObj
:
[],
dspNone
:
true
,
dspNone
:
true
,
workFlowId
:
''
,
workFlowId
:
""
,
templateType
:
""
,
templateType
:
""
,
agree
:
true
,
agree
:
true
,
outerVisible
:
false
,
outerVisible
:
false
,
outerVisible1
:
false
,
outerVisible1
:
false
,
dialogTitle
:
""
,
dialogTitle
:
""
,
dialogTitle1
:
""
,
dialogTitle1
:
""
,
IsAudit
:
''
,
IsAudit
:
""
,
IsCancel
:
''
,
IsCancel
:
""
,
IsUpdate
:
''
,
IsUpdate
:
""
,
showlayer
:
false
,
showlayer
:
false
,
isTransition
:
false
,
isTransition
:
false
,
loading
:
true
,
loading
:
true
,
liCkedIndex
:
2
,
liCkedIndex
:
2
,
total
:
0
,
total
:
0
,
defaultImg
:
'this.src="'
+
require
(
'../../assets/img/litheader.png'
)
+
'"'
,
defaultImg
:
currentPage
:
1
,
'this.src="'
+
require
(
"../../assets/img/litheader.png"
)
+
'"'
,
//请求数据
currentPage
:
1
,
msg
:{
//请求数据
auditType
:
'0'
,
msg
:
{
applyType
:
0
,
auditType
:
"0"
,
pageIndex
:
1
,
applyType
:
0
,
pageSize
:
5
,
pageIndex
:
1
,
searchKey
:
''
,
pageSize
:
5
,
appAuditStatus
:
0
,
searchKey
:
""
,
},
appAuditStatus
:
0
appMsg
:{
},
WorkFlowId
:
''
,
appMsg
:
{
TemplateType
:
''
,
WorkFlowId
:
""
,
Description
:
''
,
TemplateType
:
""
,
Image
:[],
Description
:
""
,
},
Image
:
[]
transferMsg
:{
},
WorkFlowId
:
''
,
transferMsg
:
{
TemplateType
:
''
,
WorkFlowId
:
""
,
Description
:
''
,
TemplateType
:
""
,
CareOfEmId
:
'-1'
,
Description
:
""
,
},
CareOfEmId
:
"-1"
},
//返回数据
list
:[],
ApplyTypeList
:[],
appAuditStatusList
:[],
memberList
:[],
detailList
:{},
arr
:[],
}
},
watch
:
{
filterText
(
val
)
{
this
.
$refs
.
tree
.
filter
(
val
);
}
},
methods
:
{
uploadTest
(
file
){
//上传
let
newArr
=
[];
newArr
.
push
(
file
.
file
)
let
path
=
"/Upload/Temporary/"
this
.
UploadSelfFile
(
path
,
newArr
,
x
=>
{
let
url
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
this
.
appMsg
.
Image
.
push
(
url
)
this
.
fileList
.
push
({
url
:
url
})
});
},
handleRemove
(
file
){
//删除
this
.
fileList
.
forEach
((
item
,
index
)
=>
{
if
(
item
.
url
==
file
.
url
)
{
this
.
fileList
.
splice
(
index
,
1
)
}
})
this
.
appMsg
.
Image
.
forEach
((
item
,
index
)
=>
{
if
(
item
==
file
.
url
)
{
this
.
appMsg
.
Image
.
splice
(
index
,
1
)
}
})
},
//返回数据
handleExceed
(
files
,
fileList
)
{
list
:
[],
this
.
$message
.
warning
(
'最多只能上传9张图片!'
);
ApplyTypeList
:
[],
},
appAuditStatusList
:
[],
clearDialogMsg
(
done
){
memberList
:
[],
done
()
detailList
:
{},
this
.
appMsg
.
Description
=
''
arr
:
[]
// this.appMsg.Image=[]
};
},
},
btnClearDialogMsg
(){
watch
:
{
this
.
outerVisible
=
false
filterText
(
val
)
{
this
.
appMsg
.
Description
=
''
this
.
$refs
.
tree
.
filter
(
val
);
},
}
btnClearTransferDialog
(
done
){
},
this
.
outerVisible1
=
false
methods
:
{
this
.
filterText
=
''
uploadTest
(
file
)
{
this
.
transferMsg
.
WorkFlowId
=
''
//上传
this
.
transferMsg
.
TemplateType
=
''
let
newArr
=
[];
this
.
transferMsg
.
Description
=
''
newArr
.
push
(
file
.
file
);
this
.
transferMsg
.
CareOfEmId
=
'-1'
let
path
=
"/Upload/Temporary/"
;
this
.
$refs
.
tree
.
setCheckedKeys
([]);
this
.
UploadSelfFile
(
path
,
newArr
,
x
=>
{
},
let
url
=
this
.
domainManager
().
ViittoFileUrl
+
x
.
data
.
FilePath
;
closePicLayer
(){
this
.
appMsg
.
Image
.
push
(
url
);
this
.
dspNone
=
true
this
.
fileList
.
push
({
url
:
url
});
},
});
getPic
(
obj
){
},
//console.log(obj)
handleRemove
(
file
)
{
this
.
picObj
=
obj
//删除
this
.
dspNone
=
false
;
this
.
fileList
.
forEach
((
item
,
index
)
=>
{
},
if
(
item
.
url
==
file
.
url
)
{
filterNode
(
value
,
data
)
{
this
.
fileList
.
splice
(
index
,
1
);
if
(
!
value
)
return
true
;
}
return
data
.
DepartmentName
.
indexOf
(
value
)
!==
-
1
;
});
},
this
.
appMsg
.
Image
.
forEach
((
item
,
index
)
=>
{
openDialog
(
IsAgree
,
workFlowId
,
templateType
){
if
(
item
==
file
.
url
)
{
this
.
agree
=
IsAgree
this
.
appMsg
.
Image
.
splice
(
index
,
1
);
this
.
dialogTitle
=
'审批流程'
}
this
.
outerVisible
=
true
;
});
this
.
workFlowId
=
workFlowId
;
},
this
.
templateType
=
templateType
;
handleExceed
(
files
,
fileList
)
{
},
this
.
$message
.
warning
(
"最多只能上传9张图片!"
);
transferDialog
(
workFlowId
,
templateType
){
},
this
.
dialogTitle1
=
'转交流程'
clearDialogMsg
(
done
)
{
this
.
outerVisible1
=
true
;
done
();
this
.
workFlowId
=
workFlowId
;
this
.
appMsg
.
Description
=
""
;
this
.
templateType
=
templateType
;
// this.appMsg.Image=[]
this
.
apipost
(
'WorkFlow_get_GetDepartMentEmployee'
,
{},
res
=>
{
},
if
(
res
.
data
.
resultCode
==
1
)
{
btnClearDialogMsg
()
{
//console.log(res.data.data)
this
.
outerVisible
=
false
;
this
.
memberList
=
res
.
data
.
data
this
.
appMsg
.
Description
=
""
;
}
},
},
err
=>
{})
btnClearTransferDialog
(
done
)
{
},
this
.
outerVisible1
=
false
;
clearTransferDialog
(
done
){
this
.
filterText
=
""
;
done
()
this
.
transferMsg
.
WorkFlowId
=
""
;
this
.
filterText
=
''
this
.
transferMsg
.
TemplateType
=
""
;
this
.
transferMsg
.
WorkFlowId
=
''
this
.
transferMsg
.
Description
=
""
;
this
.
transferMsg
.
TemplateType
=
''
this
.
transferMsg
.
CareOfEmId
=
"-1"
;
this
.
transferMsg
.
Description
=
''
this
.
$refs
.
tree
.
setCheckedKeys
([]);
this
.
transferMsg
.
CareOfEmId
=
'-1'
},
this
.
$refs
.
tree
.
setCheckedKeys
([]);
closePicLayer
()
{
},
this
.
dspNone
=
true
;
handleNodeChange
(
data
,
checked
,
node
){
},
if
(
checked
){
getPic
(
obj
)
{
if
(
data
.
DepartmentId
!=
0
){
//console.log(obj)
this
.
arr
.
push
(
data
.
DepartmentId
)
this
.
picObj
=
obj
;
this
.
$refs
.
tree
.
setCheckedKeys
([
data
.
DepartmentId
]);
this
.
dspNone
=
false
;
this
.
transferMsg
.
CareOfEmId
=
data
.
DepartmentId
;
},
}
filterNode
(
value
,
data
)
{
}
else
{
if
(
!
value
)
return
true
;
if
(
this
.
arr
.
length
==
1
){
return
data
.
DepartmentName
.
indexOf
(
value
)
!==
-
1
;
this
.
arr
=
[]
},
this
.
transferMsg
.
CareOfEmId
=
'-1'
openDialog
(
IsAgree
,
workFlowId
,
templateType
)
{
}
else
{
this
.
agree
=
IsAgree
;
this
.
arr
=
this
.
arr
.
slice
(
this
.
arr
.
length
-
1
)
this
.
dialogTitle
=
"审批流程"
;
this
.
transferMsg
.
CareOfEmId
=
this
.
arr
[
this
.
arr
.
length
-
1
]
this
.
outerVisible
=
true
;
}
this
.
workFlowId
=
workFlowId
;
}
this
.
templateType
=
templateType
;
//console.log(this.transferMsg.CareOfEmId)
},
},
transferDialog
(
workFlowId
,
templateType
)
{
this
.
dialogTitle1
=
"转交流程"
;
transferApproval
(){
this
.
outerVisible1
=
true
;
this
.
transferMsg
.
WorkFlowId
=
this
.
workFlowId
this
.
workFlowId
=
workFlowId
;
this
.
transferMsg
.
TemplateType
=
this
.
templateType
this
.
templateType
=
templateType
;
if
(
this
.
transferMsg
.
CareOfEmId
==
'-1'
)
this
.
apipost
(
{
"WorkFlow_get_GetDepartMentEmployee"
,
this
.
$message
.
warning
(
'请选择转交人!'
)
{},
return
res
=>
{
}
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
apipost
(
'WorkFlow_post_SetCareOf'
,
this
.
transferMsg
,
res
=>
{
//console.log(res.data.data)
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
memberList
=
res
.
data
.
data
;
this
.
$message
.
success
(
res
.
data
.
message
)
}
this
.
outerVisible1
=
false
;
},
this
.
getList
()
err
=>
{}
this
.
closeLayer
()
);
}
else
{
},
this
.
$message
.
error
(
res
.
data
.
message
)
clearTransferDialog
(
done
)
{
}
done
();
},
err
=>
{})
this
.
filterText
=
""
;
},
this
.
transferMsg
.
WorkFlowId
=
""
;
agreeApproval
(){
this
.
transferMsg
.
TemplateType
=
""
;
this
.
appMsg
.
WorkFlowId
=
this
.
workFlowId
this
.
transferMsg
.
Description
=
""
;
this
.
appMsg
.
TemplateType
=
this
.
templateType
this
.
transferMsg
.
CareOfEmId
=
"-1"
;
this
.
apipost
(
'WorkFlow_post_SetConsent'
,
this
.
appMsg
,
res
=>
{
this
.
$refs
.
tree
.
setCheckedKeys
([]);
if
(
res
.
data
.
resultCode
==
1
)
{
},
this
.
$message
.
success
(
res
.
data
.
message
)
handleNodeChange
(
data
,
checked
,
node
)
{
this
.
outerVisible
=
false
;
if
(
checked
)
{
this
.
getList
()
if
(
data
.
DepartmentId
!=
0
)
{
this
.
btnClearDialogMsg
()
this
.
arr
.
push
(
data
.
DepartmentId
);
this
.
closeLayer
()
this
.
$refs
.
tree
.
setCheckedKeys
([
data
.
DepartmentId
]);
this
.
transferMsg
.
CareOfEmId
=
data
.
DepartmentId
;
}
else
{
}
this
.
$message
.
error
(
res
.
data
.
message
)
}
else
{
}
if
(
this
.
arr
.
length
==
1
)
{
},
err
=>
{})
this
.
arr
=
[];
},
this
.
transferMsg
.
CareOfEmId
=
"-1"
;
rejectApproval
(){
}
else
{
this
.
appMsg
.
WorkFlowId
=
this
.
workFlowId
this
.
arr
=
this
.
arr
.
slice
(
this
.
arr
.
length
-
1
);
this
.
appMsg
.
TemplateType
=
this
.
templateType
this
.
transferMsg
.
CareOfEmId
=
this
.
arr
[
this
.
arr
.
length
-
1
];
this
.
apipost
(
'WorkFlow_post_SetNotConsent'
,
this
.
appMsg
,
res
=>
{
}
if
(
res
.
data
.
resultCode
==
1
)
{
}
this
.
$message
.
success
(
res
.
data
.
message
)
//console.log(this.transferMsg.CareOfEmId)
this
.
outerVisible
=
false
;
},
this
.
getList
()
this
.
btnClearDialogMsg
()
transferApproval
()
{
this
.
closeLayer
()
this
.
transferMsg
.
WorkFlowId
=
this
.
workFlowId
;
}
else
{
this
.
transferMsg
.
TemplateType
=
this
.
templateType
;
this
.
$message
.
error
(
res
.
data
.
message
)
if
(
this
.
transferMsg
.
CareOfEmId
==
"-1"
)
{
}
this
.
$message
.
warning
(
"请选择转交人!"
);
},
err
=>
{})
return
;
},
}
this
.
apipost
(
withdrawAapproval
(
workFlowId
,
templateType
){
"WorkFlow_post_SetCareOf"
,
this
.
$confirm
(
'是否撤回?'
,
'提示'
,
{
this
.
transferMsg
,
confirmButtonText
:
'确定'
,
res
=>
{
cancelButtonText
:
'取消'
,
if
(
res
.
data
.
resultCode
==
1
)
{
type
:
'warning'
this
.
$message
.
success
(
res
.
data
.
message
);
}).
then
(()
=>
{
this
.
outerVisible1
=
false
;
this
.
apipost
(
'app_user_workflow_wndoaudit'
,{
workFlowId
:
workFlowId
,
templateType
:
templateType
},
res
=>
{
this
.
getList
();
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
closeLayer
();
this
.
$message
.
success
(
'撤回成功。'
)
}
else
{
this
.
getList
()
this
.
$message
.
error
(
res
.
data
.
message
);
}
}
},
err
=>
{})
},
}).
catch
(()
=>
{
err
=>
{}
this
.
$message
.
info
(
'已取消撤回。'
)
);
});
},
},
agreeApproval
()
{
updateAapproval
(
path
,
cmd
,
submitCmd
,
workFlowId
,
templateId
){
this
.
appMsg
.
WorkFlowId
=
this
.
workFlowId
;
this
.
$router
.
push
({
name
:
path
,
query
:{
cmd
:
cmd
,
submitCmd
:
submitCmd
,
workFlowId
:
workFlowId
,
templateId
:
templateId
}})
this
.
appMsg
.
TemplateType
=
this
.
templateType
;
},
this
.
apipost
(
getBigpic
(
obj
){
"WorkFlow_post_SetConsent"
,
console
.
log
(
obj
)
this
.
appMsg
,
},
res
=>
{
toArr
(
val
){
if
(
res
.
data
.
resultCode
==
1
)
{
let
arr
=
[]
this
.
$message
.
success
(
res
.
data
.
message
);
if
(
val
!=
"[]"
)
this
.
outerVisible
=
false
;
{
this
.
getList
();
val
.
substring
(
1
,
val
.
length
-
1
).
split
(
','
).
forEach
(
item
=>
{
this
.
btnClearDialogMsg
();
arr
.
push
(
item
.
substring
(
1
,
item
.
length
-
1
))
this
.
closeLayer
();
});
}
else
{
}
this
.
$message
.
error
(
res
.
data
.
message
);
return
arr
;
}
},
},
getDetail
(
id
,
type
){
err
=>
{}
this
.
showLayer
();
);
this
.
apipost
(
'app_user_workflow_GetAuditInfo'
,{
WorkFlowId
:
id
,
TemplateType
:
type
},
res
=>
{
},
if
(
res
.
data
.
resultCode
==
1
)
{
rejectApproval
()
{
this
.
detailList
=
res
.
data
.
data
this
.
appMsg
.
WorkFlowId
=
this
.
workFlowId
;
this
.
IsAudit
=
res
.
data
.
data
.
IsAudit
this
.
appMsg
.
TemplateType
=
this
.
templateType
;
this
.
IsCancel
=
res
.
data
.
data
.
IsCancel
this
.
apipost
(
this
.
IsUpdate
=
res
.
data
.
data
.
IsUpdate
"WorkFlow_post_SetNotConsent"
,
console
.
log
(
this
.
detailList
)
this
.
appMsg
,
}
res
=>
{
},
err
=>
{})
if
(
res
.
data
.
resultCode
==
1
)
{
},
this
.
$message
.
success
(
res
.
data
.
message
);
getList
(){
this
.
outerVisible
=
false
;
this
.
loading
=
true
;
this
.
getList
();
this
.
apipost
(
'app_user_workflow_my_audit'
,
this
.
msg
,
res
=>
{
this
.
btnClearDialogMsg
();
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
closeLayer
();
//console.log(res.data.data)
}
else
{
this
.
list
=
res
.
data
.
data
.
pageData
;
this
.
$message
.
error
(
res
.
data
.
message
);
this
.
total
=
res
.
data
.
data
.
count
;
}
this
.
loading
=
false
},
}
err
=>
{}
},
err
=>
{})
);
},
},
getApplyType
(){
//模板类型
this
.
apipost
(
'app_user_workflow_get_templatetype'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
//console.log(res.data.data)
res
.
data
.
data
.
forEach
(
item
=>
{
for
(
let
key
in
item
){
if
(
item
.
hasOwnProperty
(
key
)){
this
.
ApplyTypeList
.
push
({
label
:
key
,
value
:
item
[
key
]})
}
}
})
}
},
err
=>
{})
},
getAppAuditStatus
(){
this
.
apipost
(
'app_user_workflow_get_myinitiate_auditstatus'
,{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
//console.log(res.data.data)
res
.
data
.
data
.
forEach
(
item
=>
{
for
(
let
key
in
item
){
if
(
item
.
hasOwnProperty
(
key
)){
this
.
appAuditStatusList
.
push
({
label
:
key
,
value
:
item
[
key
]})
}
}
})
}
},
err
=>
{})
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
},
withdrawAapproval
(
workFlowId
,
templateType
)
{
showLayer
()
{
this
.
$confirm
(
"是否撤回?"
,
"提示"
,
{
this
.
showlayer
=
true
;
confirmButtonText
:
"确定"
,
this
.
isTransition
=
true
;
cancelButtonText
:
"取消"
,
this
.
displayNone
=
false
type
:
"warning"
},
})
closeLayer
()
{
.
then
(()
=>
{
let
_this
=
this
;
this
.
apipost
(
setTimeout
(
function
()
{
"app_user_workflow_wndoaudit"
,
_this
.
showlayer
=
false
;
{
workFlowId
:
workFlowId
,
templateType
:
templateType
},
},
300
)
res
=>
{
this
.
isTransition
=
false
;
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
displayNone
=
true
this
.
$message
.
success
(
"撤回成功。"
);
},
this
.
getList
();
goUrl
(
path
,
id
)
{
}
this
.
$router
.
push
({
name
:
path
})
},
}
err
=>
{}
},
);
mounted
()
{
})
this
.
getList
()
.
catch
(()
=>
{
this
.
getApplyType
()
this
.
$message
.
info
(
"已取消撤回。"
);
this
.
getAppAuditStatus
()
});
}
},
}
updateAapproval
(
path
,
cmd
,
submitCmd
,
workFlowId
,
templateId
)
{
this
.
$router
.
push
({
name
:
path
,
query
:
{
cmd
:
cmd
,
submitCmd
:
submitCmd
,
workFlowId
:
workFlowId
,
templateId
:
templateId
}
});
},
getBigpic
(
obj
)
{
console
.
log
(
obj
);
},
toArr
(
val
)
{
let
arr
=
[];
if
(
val
!=
"[]"
)
{
val
.
substring
(
1
,
val
.
length
-
1
)
.
split
(
","
)
.
forEach
(
item
=>
{
arr
.
push
(
item
.
substring
(
1
,
item
.
length
-
1
));
});
}
return
arr
;
},
getDetail
(
id
,
type
)
{
this
.
showLayer
();
this
.
apipost
(
"app_user_workflow_GetAuditInfo"
,
{
WorkFlowId
:
id
,
TemplateType
:
type
},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
this
.
detailList
=
res
.
data
.
data
;
this
.
IsAudit
=
res
.
data
.
data
.
IsAudit
;
this
.
IsCancel
=
res
.
data
.
data
.
IsCancel
;
this
.
IsUpdate
=
res
.
data
.
data
.
IsUpdate
;
console
.
log
(
this
.
detailList
);
}
},
err
=>
{}
);
},
getList
()
{
this
.
loading
=
true
;
this
.
apipost
(
"app_user_workflow_my_audit"
,
this
.
msg
,
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
//console.log(res.data.data)
this
.
list
=
res
.
data
.
data
.
pageData
;
this
.
total
=
res
.
data
.
data
.
count
;
this
.
loading
=
false
;
}
},
err
=>
{}
);
},
getApplyType
()
{
//模板类型
this
.
apipost
(
"app_user_workflow_get_templatetype"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
//console.log(res.data.data)
res
.
data
.
data
.
forEach
(
item
=>
{
for
(
let
key
in
item
)
{
if
(
item
.
hasOwnProperty
(
key
))
{
this
.
ApplyTypeList
.
push
({
label
:
key
,
value
:
item
[
key
]
});
}
}
});
}
},
err
=>
{}
);
},
getAppAuditStatus
()
{
this
.
apipost
(
"app_user_workflow_get_myinitiate_auditstatus"
,
{},
res
=>
{
if
(
res
.
data
.
resultCode
==
1
)
{
//console.log(res.data.data)
res
.
data
.
data
.
forEach
(
item
=>
{
for
(
let
key
in
item
)
{
if
(
item
.
hasOwnProperty
(
key
))
{
this
.
appAuditStatusList
.
push
({
label
:
key
,
value
:
item
[
key
]
});
}
}
});
}
},
err
=>
{}
);
},
handleCurrentChange
(
val
)
{
this
.
msg
.
pageIndex
=
val
;
this
.
getList
();
},
resetPageIndex
()
{
this
.
msg
.
pageIndex
=
1
;
this
.
currentPage
=
1
;
},
showLayer
()
{
this
.
showlayer
=
true
;
this
.
isTransition
=
true
;
this
.
displayNone
=
false
;
},
closeLayer
()
{
let
_this
=
this
;
setTimeout
(
function
()
{
_this
.
showlayer
=
false
;
},
300
);
this
.
isTransition
=
false
;
this
.
displayNone
=
true
;
},
goUrl
(
path
,
id
)
{
this
.
$router
.
push
({
name
:
path
});
}
},
mounted
()
{
this
.
getList
();
this
.
getApplyType
();
this
.
getAppAuditStatus
();
}
};
</
script
>
</
script
>
<
style
>
<
style
>
.appListparent
{
overflow-x
:
auto
;}
.appListparent
{
.appListparent
::-webkit-scrollbar
{
/*滚动条整体样式*/
width
:
4px
;
/*高宽分别对应横竖滚动条的尺寸*/
height
:
8px
;}
overflow-x
:
auto
;
.appListparent
::-webkit-scrollbar-thumb
{
/*滚动条里面小方块*/
border-radius
:
4px
;
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
background
:
#c9c9c9
;}
}
.appListparent
::-webkit-scrollbar-track
{
/*滚动条里面轨道*/
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
border-radius
:
4px
;
background
:
#EDEDED
;}
.appListparent
::-webkit-scrollbar
{
.forMyApprovalProcess
{
/*滚动条整体样式*/
background
:
#f8f8f8
;
width
:
4px
;
/*高宽分别对应横竖滚动条的尺寸*/
max-height
:
400px
;
height
:
8px
;
overflow-y
:
auto
;
}
}
.appListparent
::-webkit-scrollbar-thumb
{
/*滚动条里面小方块*/
.auditItemImgList
{}
border-radius
:
4px
;
.auditItemImgList
>
img
{
width
:
48px
;
height
:
48px
;
border-radius
:
4px
;
margin
:
8px
0
8px
10px
;}
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
.auditItemDetailtitle
{}
background
:
#c9c9c9
;
.auditItemDetailtitle
>
img
{
float
:
left
;
border-radius
:
16px
;
margin
:
0
10px
0
0
;}
}
.auditItemDetailtitle
>
span
{
line-height
:
32px
;}
.appListparent
::-webkit-scrollbar-track
{
.forMyApprovalLayer
{
position
:
fixed
;
z-index
:
99
;
background
:
rgba
(
0
,
0
,
0
,
.2
);
width
:
100%
;
height
:
100%
;
left
:
0
;
top
:
0
;}
/*滚动条里面轨道*/
.forMyApprovalLayercontentDiv
{
width
:
400px
;
background
:
#fff
;
height
:
100%
;
overflow
:
auto
;
top
:
0
;
right
:
-800px
;
position
:
fixed
;
box-shadow
:
4px
0px
10px
rgba
(
0
,
0
,
0
,
0.1
);
transition
:
right
.5s
;}
-webkit-box-shadow
:
inset
0
0
2px
rgba
(
0
,
0
,
0
,
0.2
);
.forMyApprovalLayer
.rightZero
{
right
:
0px
;}
border-radius
:
4px
;
.forMyApprovalLayercontentDiv
.title
{
height
:
48px
;
background
:
#EDEEF0
;
line-height
:
48px
;
font-size
:
16px
;
color
:
#333
;
text-indent
:
30px
;}
background
:
#ededed
;
.forMyApprovalLayercontentDiv
.user
{
width
:
340px
;
margin
:
0
30px
;
border-bottom
:
1px
solid
#E6E6E6
;
height
:
60px
;
padding
:
30px
0
;
box-sizing
:
content-box
}
}
.forMyApprovalLayercontentDiv
.user
>
p
{
line-height
:
28px
;}
.forMyApprovalProcess
{
.forMyApprovalLayercontentDiv
.user
>
img
{
width
:
58px
;
height
:
58px
;
border-radius
:
29px
;
float
:
left
;
margin
:
0
12px
0
0
;}
background
:
#f8f8f8
;
.forMyApprovalLayercontentDiv
.detail
{
width
:
340px
;
margin
:
0
30px
;
padding
:
25px
0
;
border-bottom
:
1px
solid
#E6E6E6
;
min-height
:
120px
;}
max-height
:
400px
;
.forMyApprovalLayercontentDiv
.audit
{
width
:
340px
;
margin
:
30px
30px
0
;
min-height
:
120px
;
border-bottom
:
1px
solid
#E6E6E6
;}
overflow-y
:
auto
;
.forMyApprovalLayercontentDiv
.audit
.auditItem
{
min-height
:
80px
;
width
:
320px
;
margin-left
:
20px
;
border-left
:
1px
solid
#EDEDED
;
position
:
relative
;
font-size
:
14px
;}
}
.forMyApprovalLayercontentDiv
.audit
.auditItem
:last-child
{
border-left
:
none
;}
.forMyApprovalLayercontentDiv
.audit
.auditItem
>
p
{
line-height
:
40px
;
text-indent
:
40px
;}
.auditItemImgList
{
.forMyApprovalLayercontentDiv
.audit
.auditItem
>
img
{
width
:
40px
;
height
:
40px
;
border-radius
:
20px
;
position
:
absolute
;
left
:
-20px
;}
}
.forMyApprovalLayercontentDiv
.send
{
width
:
340px
;
margin
:
30px
30px
0
;
min-height
:
120px
;}
.auditItemImgList
>
img
{
.forMyApprovalLayercontentDiv
.send
.sentTitle
{
height
:
14px
;
line-height
:
14px
;
text-indent
:
10px
;
border-left
:
3px
solid
#E95252
;
font-size
:
14px
;}
width
:
48px
;
.forMyApprovalLayercontentDiv
.send
.sentTitle
span
{
color
:
#666
;
margin-left
:
20px
;}
height
:
48px
;
.forMyApprovalLayercontentDiv
.send
.sendList
>
div
{
float
:
left
;
margin
:
10px
10px
0
0
;
font-size
:
12px
;
color
:
#666
;
width
:
40px
;
text-align
:
center
;}
border-radius
:
4px
;
.forMyApprovalLayercontentDiv
.send
.sendList
>
div
>
img
{
width
:
40px
;
height
:
40px
;
border-radius
:
20px
;}
margin
:
8px
0
8px
10px
;
.forMyApprovalLayercontentDiv
.myApprovalTable
tr
{
height
:
40px
;
font-size
:
14px
;}
}
.forMyApprovalLayercontentDiv
.myApprovalTable
tr
td
:nth-child
(
1
)
{
text-align
:
right
;
color
:
#666
;
}
.auditItemDetailtitle
{
.forMyApprovalLayerBtn
{
position
:
fixed
;
bottom
:
0
;
background
:
#fff
;
width
:
100%
;
height
:
40px
;
line-height
:
40px
;
padding
:
0
30px
;
border-top
:
1px
solid
#F0F3FA
}
}
.forMyApprovalLayerBtn
input
{
margin-right
:
10px
;}
.auditItemDetailtitle
>
img
{
.myApprovalMenu
{
width
:
100%
;
height
:
40px
;
text-align
:
center
;
line-height
:
40px
;
background
:
#fff
;
border-radius
:
4px
;
margin
:
30px
0
;}
float
:
left
;
.myApprovalMenu
li
{
float
:
left
;
width
:
25%
;
font-size
:
14px
;
color
:
#666
;
cursor
:
pointer
;}
border-radius
:
16px
;
.myApprovalMenu
li
:hover
{
border-bottom
:
2px
solid
#E95252
;}
margin
:
0
10px
0
0
;
.myApprovalMenu
li
.cked
{
border-bottom
:
2px
solid
#E95252
;
font-size
:
16px
;
color
:
#E95252
;}
}
.forMyApprovalTable
{
width
:
100%
;
min-width
:
1600px
;
height
:
38px
;}
.auditItemDetailtitle
>
span
{
.forMyApprovalTable
li
{
float
:
left
;
width
:
20%
;
height
:
38px
;
line-height
:
38px
;
font-size
:
14px
;
text-indent
:
20px
;
background
:
#EDEDED
;
font-family
:
PingFangSC-Semibold
!important
;}
line-height
:
32px
;
.forMyApprovalItem
{
width
:
100%
;
min-width
:
1600px
;
min-height
:
80px
;
padding
:
20px
0
;
background
:
#fff
;
border-bottom
:
1px
solid
#f9f9f9
;
overflow
:
hidden
;}
}
.forMyApprovalItem
li
{
float
:
left
;
width
:
20%
;
height
:
100%
;
font-size
:
14px
;
text-indent
:
20px
;}
.forMyApprovalLayer
{
.forMyApprovalItem
li
>
p
{
line-height
:
24px
;
color
:
#666
;}
position
:
fixed
;
.forMyApprovalItem
:hover
{
box-shadow
:
0px
0px
10px
rgba
(
191
,
191
,
191
,
1
);
transition
:
all
linear
0.3s
;
position
:
relative
;
z-index
:
5
;}
z-index
:
99
;
.forMyApprovalItem
li
>
img
{
float
:
left
;
width
:
40px
;
height
:
40px
;
border-radius
:
20px
;
margin
:
0
10px
20px
30px
;}
background
:
rgba
(
0
,
0
,
0
,
0.2
);
width
:
100%
;
height
:
100%
;
left
:
0
;
top
:
0
;
}
.forMyApprovalLayercontentDiv
{
width
:
400px
;
background
:
#fff
;
height
:
100%
;
overflow
:
auto
;
top
:
0
;
right
:
-800px
;
position
:
fixed
;
box-shadow
:
4px
0px
10px
rgba
(
0
,
0
,
0
,
0.1
);
transition
:
right
0.5s
;
}
.forMyApprovalLayer
.rightZero
{
right
:
0px
;
}
.forMyApprovalLayercontentDiv
.title
{
height
:
48px
;
background
:
#edeef0
;
line-height
:
48px
;
font-size
:
16px
;
color
:
#333
;
text-indent
:
30px
;
}
.forMyApprovalLayercontentDiv
.user
{
width
:
340px
;
margin
:
0
30px
;
border-bottom
:
1px
solid
#e6e6e6
;
height
:
60px
;
padding
:
30px
0
;
box-sizing
:
content-box
;
}
.forMyApprovalLayercontentDiv
.user
>
p
{
line-height
:
28px
;
}
.forMyApprovalLayercontentDiv
.user
>
img
{
width
:
58px
;
height
:
58px
;
border-radius
:
29px
;
float
:
left
;
margin
:
0
12px
0
0
;
}
.forMyApprovalLayercontentDiv
.detail
{
width
:
340px
;
margin
:
0
30px
;
padding
:
25px
0
;
border-bottom
:
1px
solid
#e6e6e6
;
min-height
:
120px
;
}
.forMyApprovalLayercontentDiv
.audit
{
width
:
340px
;
margin
:
30px
30px
0
;
min-height
:
120px
;
border-bottom
:
1px
solid
#e6e6e6
;
}
.forMyApprovalLayercontentDiv
.audit
.auditItem
{
min-height
:
80px
;
width
:
320px
;
margin-left
:
20px
;
border-left
:
1px
solid
#ededed
;
position
:
relative
;
font-size
:
14px
;
}
.forMyApprovalLayercontentDiv
.audit
.auditItem
:last-child
{
border-left
:
none
;
}
.forMyApprovalLayercontentDiv
.audit
.auditItem
>
p
{
line-height
:
40px
;
text-indent
:
40px
;
}
.forMyApprovalLayercontentDiv
.audit
.auditItem
>
img
{
width
:
40px
;
height
:
40px
;
border-radius
:
20px
;
position
:
absolute
;
left
:
-20px
;
}
.forMyApprovalLayercontentDiv
.send
{
width
:
340px
;
margin
:
30px
30px
0
;
min-height
:
120px
;
}
.forMyApprovalLayercontentDiv
.send
.sentTitle
{
height
:
14px
;
line-height
:
14px
;
text-indent
:
10px
;
border-left
:
3px
solid
#e95252
;
font-size
:
14px
;
}
.forMyApprovalLayercontentDiv
.send
.sentTitle
span
{
color
:
#666
;
margin-left
:
20px
;
}
.forMyApprovalLayercontentDiv
.send
.sendList
>
div
{
float
:
left
;
margin
:
10px
10px
0
0
;
font-size
:
12px
;
color
:
#666
;
width
:
40px
;
text-align
:
center
;
}
.forMyApprovalLayercontentDiv
.send
.sendList
>
div
>
img
{
width
:
40px
;
height
:
40px
;
border-radius
:
20px
;
}
.forMyApprovalLayercontentDiv
.myApprovalTable
tr
{
height
:
40px
;
font-size
:
14px
;
}
.forMyApprovalLayercontentDiv
.myApprovalTable
tr
td
:nth-child
(
1
)
{
text-align
:
right
;
color
:
#666
;
}
.forMyApprovalLayerBtn
{
position
:
fixed
;
bottom
:
0
;
background
:
#fff
;
width
:
100%
;
height
:
40px
;
line-height
:
40px
;
padding
:
0
30px
;
border-top
:
1px
solid
#f0f3fa
;
}
.forMyApprovalLayerBtn
input
{
margin-right
:
10px
;
}
.myApprovalMenu
{
width
:
100%
;
height
:
40px
;
text-align
:
center
;
line-height
:
40px
;
background
:
#fff
;
border-radius
:
4px
;
margin
:
30px
0
;
}
.myApprovalMenu
li
{
float
:
left
;
width
:
25%
;
font-size
:
14px
;
color
:
#666
;
cursor
:
pointer
;
}
.myApprovalMenu
li
:hover
{
border-bottom
:
2px
solid
#e95252
;
}
.myApprovalMenu
li
.cked
{
border-bottom
:
2px
solid
#e95252
;
font-size
:
16px
;
color
:
#e95252
;
}
.forMyApprovalTable
{
width
:
100%
;
min-width
:
1600px
;
height
:
38px
;
}
.forMyApprovalTable
li
{
float
:
left
;
width
:
20%
;
height
:
38px
;
line-height
:
38px
;
font-size
:
14px
;
text-indent
:
20px
;
background
:
#ededed
;
font-family
:
PingFangSC-Semibold
!important
;
}
.forMyApprovalItem
{
width
:
100%
;
min-width
:
1600px
;
min-height
:
80px
;
padding
:
20px
0
;
background
:
#fff
;
border-bottom
:
1px
solid
#f9f9f9
;
overflow
:
hidden
;
}
.forMyApprovalItem
li
{
float
:
left
;
width
:
20%
;
height
:
100%
;
font-size
:
14px
;
text-indent
:
20px
;
}
.forMyApprovalItem
li
>
p
{
line-height
:
24px
;
color
:
#666
;
}
.forMyApprovalItem
:hover
{
box-shadow
:
0px
0px
10px
rgba
(
191
,
191
,
191
,
1
);
transition
:
all
linear
0.3s
;
position
:
relative
;
z-index
:
5
;
}
.forMyApprovalItem
li
>
img
{
float
:
left
;
width
:
40px
;
height
:
40px
;
border-radius
:
20px
;
margin
:
0
10px
20px
30px
;
}
</
style
>
</
style
>
\ No newline at end of file
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