252 lines
7.2 KiB
Vue
252 lines
7.2 KiB
Vue
<!-- 经费预算 -->
|
|
<template>
|
|
<view class="travel-expense" v-show="isShow">
|
|
<view class="travel-top">
|
|
|
|
<h4>{{ExpenseBill.DEPT_NAME}}</h4>
|
|
<h3>{{ExpenseBill.ACCEPT_NAME}}</h3>
|
|
<div class="detail-top-base">
|
|
<view class="span24">
|
|
<text class="text-title">申请人:</text>
|
|
<text >{{ExpenseBill.STAFF_NAME}}</text>
|
|
</view>
|
|
<text>{{$util.cutDate(ExpenseBill.FINANCEPROINST_CREATEDATE)}}</text>
|
|
</div>
|
|
<view class="detail-top-box">
|
|
<view class="detail-top-bottom ">
|
|
<view class="detail-flex" style="align-items: center;">
|
|
<div class="detail-title">
|
|
<i class="ico ico-ccsy"></i>经费名称:
|
|
</div>
|
|
<text>
|
|
{{ExpenseBill.ExpenseBill.EXPENDBILL_NAME}}
|
|
</text>
|
|
</view>
|
|
<view class="uni-flex span24 mt8" style="align-items: center;">
|
|
<view class="detail-title">
|
|
<i class="ico ico-dw"></i><text class="text-title">申请地点:</text>
|
|
|
|
</view>
|
|
<text>{{ExpenseBill.ExpenseBill.APPLICAION_SITE}}</text>
|
|
</view>
|
|
|
|
<view class="uni-flex span24 mt8" style="align-items: center;">
|
|
<view class="detail-title">
|
|
<i class="ico ico-ndbz"></i><text class="text-title">合计金额: </text>
|
|
|
|
</view>
|
|
<text style="color:#ec8538;">¥{{ $util.fmoney(ExpenseBill.PAYMENT_LOWER,2)}}</text>
|
|
</view>
|
|
|
|
|
|
<view class="uni-flex span24 mt8" style="align-items: flex-start;">
|
|
<view class="detail-title">
|
|
<i class="ico ico-ly"></i>经费使用:
|
|
</view>
|
|
<text >
|
|
{{ExpenseBill.ExpenseBill.EXPENDITURE_EXPLAIN}}
|
|
</text>
|
|
</view>
|
|
</view>
|
|
<view class="detail-middle-box" v-if="ExpenseBill.FileList || ExpenseBill.ImageList">
|
|
<view class="attachment" v-if="ExpenseBill.FileList && ExpenseBill.FileList.length>0">
|
|
<view class="detail-title">
|
|
<i class="ico ico-fj"></i>
|
|
附 件
|
|
</view>
|
|
<div class="imgBox">
|
|
<filesUnit v-for="(file,i) in ExpenseBill.FileList" :fileItem="file" :key="i"></filesUnit>
|
|
|
|
</div>
|
|
</view>
|
|
<view class="attachment" v-if="ExpenseBill.ImageList && ExpenseBill.ImageList.length>0">
|
|
<div class="detail-title">
|
|
<i class="ico ico-tp"></i>图 片
|
|
</div>
|
|
<div class="imgBox">
|
|
<image v-for="(arr,i) in ExpenseBill.ImageList" :key="i" :src="arr.IMAGE_URL" @tap="showImg(arr,i)" mode="aspectFill" lazy-load/>
|
|
</div>
|
|
</view>
|
|
|
|
</view>
|
|
|
|
</view>
|
|
<view class="button-box" v-if="ExpenseBill.NOWSTAFF_ID == users.UserId">
|
|
<span @tap="showPop(4000)"><image src="../../static/images/yj-btn.png" mode="aspectFit"></image> 移交 </span>
|
|
<span @tap="showPop(2000)"><image src="../../static/images/sh-btn.png" mode="aspectFit"></image> 审核 </span>
|
|
<span @tap="showPop(3000)" v-if="ExpenseBill.CAN_REJECT===1"><image src="../../static/images/bh-btn.png" mode="aspectFit"></image> 驳回</span>
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
<!-- 审批流程 -->
|
|
<view class="base-info" v-if="ExpenseBill.RejectApproved && ExpenseBill.RejectApproved.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=" ExpenseBill.RejectApproved[0]" :approveType='0' />
|
|
</div>
|
|
</div>
|
|
</view>
|
|
<view class="base-info" v-if="ExpenseBill.ApprovedList && ExpenseBill.ApprovedList.length > 0">
|
|
<div class="uni-list-cell uni-collapse">
|
|
<div class="cat-box uni-list-cell-navigate" :class="cardShow3 ? ' uni-navigate-bottom' : 'uni-navigate-right'" @tap="cardShow3 =!cardShow3">
|
|
<b>审批流程</b>
|
|
</div>
|
|
<div class="process-box uni-collapse-content" :class="cardShow3 ? 'uni-active' : ''" v-show="cardShow3">
|
|
<processUnit v-for="item in ExpenseBill.ApprovedList" :item="item" :key="item.APPROVED_DATE" :approveType='1' />
|
|
</div>
|
|
</div>
|
|
</view>
|
|
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {mapGetters} from 'vuex'
|
|
import filesUnit from '@/components/filesComponent/fileUnit.vue'
|
|
import processUnit from '@/components/auditingProcess/item.vue'
|
|
|
|
|
|
export default {
|
|
|
|
data() {
|
|
|
|
return {
|
|
imageUrls:[],
|
|
doUser: false,
|
|
isShow:false,
|
|
ExpenseBill:{},
|
|
showPopupMiddle: false,
|
|
popType: 'middle',
|
|
cardShow: true, // 控制折叠面板
|
|
cardShow2: true,
|
|
cardShow3: true,
|
|
cardShow4: true,
|
|
isExamine: false, // 按钮显示隐藏
|
|
};
|
|
},
|
|
components: {
|
|
processUnit,
|
|
filesUnit
|
|
|
|
},
|
|
computed: {
|
|
...mapGetters({'users':'getUser'}),
|
|
|
|
},
|
|
methods: {
|
|
// 图片预览
|
|
showImg(src,index) {
|
|
uni.previewImage({
|
|
urls: this.imageUrls,
|
|
current: index,
|
|
loop: true,
|
|
indicator: 'number'
|
|
});
|
|
},
|
|
|
|
|
|
showPop(type) {
|
|
let _this = this
|
|
let url = ''
|
|
switch (type) {
|
|
case 4000:
|
|
url = '/pages/auditingPop/transfer?businessType=3000&PROINST_ID='+_this.ExpenseBill.FINANCEPROINST_ID+'&NOWACTINST_ID='+_this.ExpenseBill.NOWACTDEF_IDS
|
|
break;
|
|
case 2000:
|
|
url = '/pages/auditingPop/toExamine?businessType=3000&PROINST_ID='+_this.ExpenseBill.FINANCEPROINST_ID+'&NOWACTINST_ID='+_this.ExpenseBill.NOWACTDEF_IDS+'&ApproName='+_this.ExpenseBill.ApproName+'&ACCEPT_TYPE='+_this.ExpenseBill.ACCEPT_TYPE+'&NeedApproved='+_this.ExpenseBill.NeedApproved
|
|
break;
|
|
case 3000:
|
|
url = '/pages/auditingPop/reject?businessType=3000&PROINST_ID='+_this.ExpenseBill.FINANCEPROINST_ID+'&NOWACTINST_ID='+_this.ExpenseBill.NOWACTDEF_IDS+'&ACCEPT_TYPE='+_this.ExpenseBill.ACCEPT_TYPE
|
|
break;
|
|
}
|
|
this.$util.toNextRoute('navigateTo', url)
|
|
},
|
|
|
|
// 获取页面数据
|
|
getData(_id) {
|
|
let _this =this
|
|
this.$request.$get('GetFinanceFlowDetail',{
|
|
FINANCEPROINST_ID: _id //业务内码
|
|
}).then(res => {
|
|
if(!res.ResultCode ||res.ResultCode!='100'){
|
|
_this.isShow = false
|
|
}
|
|
|
|
let _data = res.Data
|
|
_this.ExpenseBill = _data || {}
|
|
_data.PAYMENT_LOWER =_data.ExpenseBill.PAYMENT_LOWER
|
|
if(_data.FileList){
|
|
|
|
_data.FileList.map(v => {
|
|
let name= v.ATTACHMENT_NAME.split('.')
|
|
v.type = name[name.length-1]
|
|
v.name = v.ATTACHMENT_NAME
|
|
v.path = v.ATTACHMENT_URL
|
|
})
|
|
}
|
|
let arr = []
|
|
if(_data.ImageList){
|
|
|
|
_data.ImageList.map(v => {
|
|
arr.push(v.IMAGE_URL)
|
|
})
|
|
}
|
|
_this.imageUrls = arr
|
|
|
|
if (_data.NOWSTAFF_ID == _this.users.UserId) { // 该用户是当前详情处理人
|
|
|
|
_this.doUser = true
|
|
}
|
|
_this.$forceUpdate()
|
|
|
|
uni.hideLoading()
|
|
setTimeout(function(){
|
|
|
|
_this.isShow = true
|
|
_this.isLoading = false
|
|
},500)
|
|
|
|
})
|
|
},
|
|
},
|
|
onUnload() {
|
|
this.$util.addUserBehavior()
|
|
uni.$off('3000');
|
|
},
|
|
onLoad(option) {
|
|
uni.showLoading({
|
|
title:'正在加载'
|
|
})
|
|
|
|
this.isLoading =true
|
|
this.getData(option.id)
|
|
let _this = this
|
|
uni.$on('3000', function (data){
|
|
if(data) {
|
|
uni.showLoading({
|
|
title:'正在加载'
|
|
})
|
|
_this.isLoading = true
|
|
_this.getData(_this.ExpenseBill.FINANCEPROINST_ID)
|
|
// _this.$eventHub.$emit('3000',false)
|
|
}
|
|
});
|
|
},
|
|
onShow() {
|
|
|
|
},
|
|
onHide() {
|
|
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style scoped>
|
|
@import url("../../common/css/expensesTop.css");
|
|
</style>
|