2021-02-07 21:21:12 +08:00

316 lines
7.8 KiB
Vue

<!--招标变更-->
<template>
<div>
<div v-if="isShow">
<div class='pt20 pb20'>
<view class="main-card boxshow">
<view class="card-title ">
{{ baseData.LEAVE_PERSON+"【"+baseData.DEPARTMENT_NAME+"】" }}
</view>
<view class="line-block between-circle"></view>
<image src="../../static/images/leave/spwq.png" mode="aspectFit" class="spwc-ico" v-if="baseData.FINANCEPROINST_NEXTID==9000"></image>
<div class="base-body card-content ">
<view style="text-align: center; padding-bottom: 12upx;">
<view class="leave-day">{{baseData.DURATION_DAYS}}<text style="font-size: 22upx;"></text></view>
<text class="leave-value">{{baseData.LEAVE_VALUE}}</text>
</view>
<view class="uni-flex uni-column" style="margin-left: 130upx;">
<view class="uni-flex uni-row" style="align-items: center;">
<view class="date-ico"></view>
<text style="font-weight:bold;">{{$util.cutDate(baseData.LEAVE_STARTDATE,'YYYY-MM-DD')}}</text>
<text class="fs24">{{getDays(baseData.LEAVE_STARTDATE)}}</text>
</view>
<view class="uni-flex uni-row end-date" style="align-items: center;">
<view class="date-ico"></view>
<text style="font-weight:bold;">{{$util.cutDate(baseData.LEAVE_ENDDATE,'YYYY-MM-DD')}}</text>
<text class="fs24">{{getDays(baseData.LEAVE_ENDDATE)}}</text>
</view>
</view>
</div>
<view class="line-block"></view>
<div class="card-bottom ">
{{baseData.LEAVE_REASON}}
</div>
</view>
<!-- v-if="isResolve" -->
<view class="button-box" v-if="baseData.NOWSTAFF_ID==users.UserId" >
<span @tap="showPop(2000)"><image src="../../static/images/sh-btn.png" mode="aspectFit"></image> 审核 </span>
<span @tap="showPop(3000)" v-if="baseData.CAN_REJECT===1"><image src="../../static/images/bh-btn.png" mode="aspectFit"></image> 驳回</span>
</view>
</div>
<view class="base-info" v-if="baseData.RejectList.length>0">
<div class="uni-list-cell uni-collapse">
<div class="cat-box uni-list-cell-navigate">
<b>驳回意见</b>
</div>
<div class="process-box uni-collapse-content uni-active">
<processUnit :item="baseData.RejectList[0]" :approveType="0"/>
</div>
</div>
</view>
<view class="base-info" v-if="baseData.ApprovedList.length>0">
<div class="uni-list-cell uni-collapse">
<div class="cat-box uni-list-cell-navigate" :class="cardShow ? ' uni-navigate-bottom' : 'uni-navigate-right'" @tap="cardShow =!cardShow">
<b>审批流程</b>
</div>
<div class="process-box uni-collapse-content" :class="cardShow ? 'uni-active' : ''" v-show="cardShow">
<processUnit v-for="item in baseData.ApprovedList" :item="item" :key="item.APPROVED_ID" :approveType="1"/>
</div>
</div>
</view>
</div>
<block v-else>
<noFound v-if="loadingType === 2" :foundType="foundType" />
</block>
</div>
</template>
<script>
import {mapGetters} from 'vuex'
import processUnit from '@/components/auditingProcess/item.vue'
import filesUnit from '@/components/filesComponent/fileUnit.vue'
export default {
data() {
return {
baseData: {
},
isShow: false,
loadingType: 1,
foundType:0,
cardShow:true,
isSign: false,
isResolve: false,
signInfo: {
}
}
},
components:{
processUnit,
filesUnit
},
computed: {
...mapGetters({'users':'getUser'}),
},
methods: {
getDays (value) {
let _date = new Date(value)
let myddy = _date.getDay();//获取存储当前日期
let weekday=["星期日","星期一","星期二","星期三","星期四","星期五","星期六"];
return weekday[myddy]
},
getDetail (id) {
let _this = this
_this.$request.$get('GetStaffLeaveDetail',{
FinanceProinstId: id
}).then(rs => {
if(!rs.ResultCode ||rs.ResultCode!='100') {
_this.isShow = false
}else{
_this.isShow = true
}
uni.hideLoading()
_this.baseData = rs.Data
if(_this.baseData.NOWSTAFF_ID==_this.users.UserId) { // 判断是否是当前审核人
_this.isResolve= true
}
_this.$forceUpdate()
})
},
showPop(type) {
let _this = this
let url = ''
switch (type) {
case 4000:
url = '/pages/auditingPop/transfer?businessType=7000&PROINST_ID='+_this.baseData.FINANCEPROINST_ID+'&NOWACTINST_ID='+_this.baseData.NOWACTDEF_IDS
break;
case 2000:
url = '/pages/auditingPop/toExamine?businessType=7000&PROINST_ID='+_this.baseData.FINANCEPROINST_ID+'&NOWACTINST_ID='+_this.baseData.NOWACTDEF_IDS+'&ApproName='+_this.baseData.ACTINST_NAME+'&NeedApproved='+_this.baseData.NeedApproved
break;
case 3000:
url = '/pages/auditingPop/reject?businessType=7000&PROINST_ID='+_this.baseData.FINANCEPROINST_ID+'&NOWACTINST_ID='+_this.baseData.NOWACTDEF_IDS
break;
}
this.$util.toNextRoute('navigateTo',url)
}
},
onLoad(option) {
uni.showLoading({
title:'正在加载'
})
this.getDetail(option.id)
let _this = this
uni.$on('7000', function (data){
if(data) {
uni.showLoading({
title:'正在加载'
})
_this.getDetail(_this.baseData.FINANCEPROINST_ID)
}
});
},
onShow() {
},
onUnload() {
this.$util.addUserBehavior()
uni.$off('7000');
},
onHide() {
}
}
</script>
<style scoped>
@import url("/common/css/tenderingDetail.css");
.pt20 {
padding-top: 24upx;
}
.fs24 {
margin-left: 8upx;
font-size: 24upx;
}
.main-card {
padding: 0 24upx;
position: relative;
box-shadow: 0 8upx 32upx 0 #ededed;
}
.card-title {
color: #333;
font-size: 28upx;
padding: 28upx 12upx 18upx 12upx ;
}
.line-block {
/* height: 2upx; */
border-bottom: 2upx dashed #E4E6EC;
/* background-color: #E4E6EC; */
width: 100%;
}
.between-circle{
position: relative;
}
.between-circle:before {
content: '';
height: 25upx;
width: 25upx;
border-radius: 50%;
/* background-color: #f9f9f9; */
position: absolute;
background-image: url('../../static/images/leave/circle.png');
background-position: center;
background-size: contain;
background-repeat: no-repeat;
left: -35upx;
top: -12upx;
z-index: 1;
transform: rotate(180deg);
}
.between-circle:after {
content: '';
height: 25upx;
width: 25upx;
border-radius: 50%;
background-color: #f9f9f9;
background-image: url('../../static/images/leave/circle.png');
background-position: center;
background-size: contain;
background-repeat: no-repeat;
position: absolute;
right: -35upx;
z-index: 1;
top: -12upx;
}
.card-content {
justify-content: center;
margin-top: 16upx;
padding: 28upx 24upx 38upx 24upx;
align-items: center;
}
.leave-value:before {
content: '';
width: 25upx;
height: 25upx;
background-image: url('../../static/images/leave/leave-type.png');
background-position: center;
background-size: contain;
background-repeat: no-repeat;
margin-right: 8upx;
}
.leave-value {
font-size: 22upx;
background-color: #EDB86C;
height: 40upx;
color: #fff;
border-radius: 20upx;
padding: 0 16upx;
justify-content: flex-start;
display: flex;
align-items: center;
}
.date-ico {
font-size: 20upx;
border-radius: 50%;
height: 30upx;
width: 30upx;
color: #fff;
text-align: center;
line-height: 30upx;
background-color: #BBC3C8;
margin-right: 8upx;
}
.leave-day {
font-size: 48upx;
}
.end-date:before {
content: '';
position: absolute;
height: 53upx;
width: 1upx;
border-left: 2upx dashed #BBC3C8;
top: -42upx;
left: 13upx;
}
.end-date {
margin-top: 32upx;
position: relative;
}
.card-bottom {
padding: 18upx 12upx 28upx 12upx;
}
.spwc-ico {
position: absolute;
width: 124upx;
height: 124upx;
right: 48upx;
top: 4upx;
}
</style>