ahyd_DIB/pages/expenseApproval/expenseDetail.vue

473 lines
16 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!-- 行政资产 -->
<template>
<view class="travel-expense" v-show="isShow">
<view class="travel-top">
<Administrative :ExpenseBill="ExpenseBill" v-if="pageType=='401101'" @showImg="showImg"/>
<BigPay :ExpenseBill="ExpenseBill" v-else-if="pageType=='401302'" @showImg="showImg"/>
<Budget :ExpenseBill="ExpenseBill" v-else-if="pageType=='401204'" @showImg="showImg"/>
<CheckRecipients :ExpenseBill="ExpenseBill" v-else-if="pageType=='401303'" @showImg="showImg"/>
<Engineering :ExpenseBill="ExpenseBill" v-else-if="pageType=='401203'" @showImg="showImg"/>
<FixedAssets :ExpenseBill="ExpenseBill" v-else-if="pageType=='401205'" @showImg="showImg"/>
<GetPayment :ExpenseBill="ExpenseBill" v-else-if="pageType=='401304'" @showImg="showImg"/>
<InternalTransfer :ExpenseBill="ExpenseBill" v-else-if="pageType=='401301'" @showImg="showImg"/>
<OfficialEntertaining :ExpenseBill="ExpenseBill" v-else-if="pageType=='401102'" @showImg="showImg"/>
<PublicTransportation :ExpenseBill="ExpenseBill" v-else-if="pageType=='401207'" @showImg="showImg"/>
<Reimbursement :ExpenseBill="ExpenseBill" v-else-if="pageType=='401201'" @click="clickGetSubscribefee" @showImg="showImg"/>
<TravelExcessive :ExpenseBill="ExpenseBill" v-else-if="pageType=='401206'" @showImg="showImg"/>
<TravelExpense :ExpenseBill="ExpenseBill" v-else-if="pageType=='401202'" @showImg="showImg"/>
<LoanBill :ExpenseBill="ExpenseBill" v-else-if="pageType=='401601'" @showImg="showImg"/>
<Deposit :ExpenseBill="ExpenseBill" v-else-if="pageType=='401604'" @showImg="showImg"/>
<Payfor :ExpenseBill="ExpenseBill" v-else-if="pageType=='401603'" @showImg="showImg"/>
<Servepart :ExpenseBill="ExpenseBill" v-else-if="pageType=='401602'" @showImg="showImg"/>
<ProjectAccounts :ExpenseBill="ExpenseBill" v-else-if="pageType=='401605'" @showImg="showImg"/>
<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>
<block v-if="pageType=='401207'|| pageType=='401206' || pageType=='401202'">
<view class="base-info">
<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">
<travelCard v-for="item in ExpenseBill.ExpenseDetail" :key="item.EXPENSEDETAIL_ID" :item="item" :cardType="pageType=='401202' ? 1: 2"/>
</div>
</div>
</view>
<view class="base-info" v-if="ExpenseBill.OtherCostDetail && ExpenseBill.OtherCostDetail.length>0">
<div class="uni-list-cell uni-collapse">
<div class="cat-box uni-list-cell-navigate" :class="cardShow2 ? ' uni-navigate-bottom' : 'uni-navigate-right'" @tap="cardShow2=!cardShow2">
<b>其他费用</b>
</div>
<div class="process-box uni-collapse-content" :class="cardShow2 ? 'uni-active' : ''" v-show="cardShow2">
<view class="trip-detail ">
<view class="uni-flex trip-subsidies" v-for="item in ExpenseBill.OtherCostDetail" :key="item.EXPENSEDETAIL_ID" style="align-items: center;" >
<span style="flex:2;">{{item.OTHER_COST}}</span>
<view class="uni-flex" style="flex:1;align-items: center;justify-content: flex-end;">
<i v-if="item.OTHERBILL_COUNT!==''" class="ico ico-pj"></i>
<span style="padding-left:8rpx;">{{item.OTHERBILL_COUNT}}</span>
<text class="span24"></text>
</view>
<view v-if="item.OTHERBILL_COUNT!==''" style="flex:2;color: #ec8538;text-align: right;"><text>{{item.OTHERBILL_AMOUNT}}</text></view>
</view>
</view>
</div>
</div>
</view>
</block>
<!-- 审批流程 -->
<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="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 ExpenseBill.ApprovedList" :item="item" :key="item.APPROVED_DATE" :approveType='1' />
</div>
</div>
</view>
<popUp :show="showPopupMiddle" :msg="preSubscribefeeMap[showId].ACCEPT_TYPE == '401101'?'行政资产申购':'公务接待'" @hidePopup="closePop" type="middle">
<div style="width: 600rpx;margin-top: 40rpx;" v-if="preSubscribefeeMap[showId].ACCEPT_TYPE=='401101'">
<div class="span24 uni-flex ai-top" style="aligin-items:flex-start; margin-bottom: 12rpx;">
<text style="color:#888;">申请部门</text>
<text class="lie_right">{{preSubscribefeeMap[showId].DEPARTMENT_NAME}}</text>
</div>
<div class="span24 uni-flex ai-top" style="aligin-items:flex-start; margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">&nbsp;&nbsp;&nbsp;</text>
<text class="lie_right">{{preSubscribefeeMap[showId].APPLY_PERSON}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">申请日期</text>
<text class="lie_right">{{preSubscribefeeMap[showId].APPLY_DATE}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">申请理由</text>
<text class="lie_right">{{preSubscribefeeMap[showId].APPLY_INFO}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</text>
<text class="lie_right">{{preSubscribefeeMap[showId].COMMODITY_NAME}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</text>
<text class="lie_right">{{preSubscribefeeMap[showId].COMMODITY_RULE}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">预计费用</text>
<text class="lie_right">{{preSubscribefeeMap[showId].BUDGET_PRICE}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">其它要求</text>
<text class="lie_right">{{preSubscribefeeMap[showId].APPLY_OTHER}}</text>
</div>
</div>
<div style="width: 600rpx;margin-top: 40rpx;" v-else>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">来宾单位</text>
<text class="lie_right">{{preSubscribefeeMap[showId].DEPARTMENT_NAME}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">来宾时间</text>
<text class="lie_right">{{preSubscribefeeMap[showId].VISITOR_DATE}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">来宾人数</text>
<text class="lie_right">{{preSubscribefeeMap[showId].VISITOR_PERSONS}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">经办人</text>
<text class="lie_right">{{preSubscribefeeMap[showId].APPLY_STAFF}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;">陪同人数</text>
<text class="lie_right">{{preSubscribefeeMap[showId].ACCOMPANY_PERSON}}</text>
</div>
<div class="span24 uni-flex ai-top" style="margin-bottom: 12rpx;">
<text style="color:#888;min-width:120rpx;" >拟定饭店及标准</text>
<text class="lie_right" style="width:60%">{{preSubscribefeeMap[showId].HOTEL_INFO}}</text>
</div>
</div>
</popUp>
</view>
</template>
<script>
import { mapGetters } from 'vuex'
import filesUnit from '@/components/filesComponent/fileUnit.vue'
import processUnit from '@/components/auditingProcess/item.vue'
import popUp from '@/components/uni-popup.vue'
import Administrative from './components/administrative.vue'
import BigPay from './components/bigPay.vue'
import Budget from './components/budget.vue'
import CheckRecipients from './components/checkRecipients.vue'
import Engineering from './components/engineering.vue'
import FixedAssets from './components/fixedAssets.vue'
import GetPayment from './components/getPayment.vue'
import InternalTransfer from './components/internalTransfer.vue'
import OfficialEntertaining from './components/officialEntertaining.vue'
import PublicTransportation from './components/publicTransportation.vue'
import Reimbursement from './components/reimbursement.vue'
import TravelExpense from './components/travelExpense.vue'
import TravelExcessive from './components/travelExcessive.vue'
import LoanBill from './components/loanBill.vue'
import Deposit from './components/deposit.vue'
import Payfor from './components/payfor.vue'
import Servepart from './components/servepart.vue'
import ProjectAccounts from './components/projectAccounts.vue'
export default {
data() {
return {
pageType: '',
imageUrls: [],
isShow: false,
ExpenseBill: {},
ApprovedList: [], // 审核流程
cardShow: true, // 控制折叠面板
cardShow2: true, // 控制折叠面板
preSubscribefeeMap: {}, // 公务接待
showId: '' ,// 公务接待
showPopupMiddle: false
};
},
components: {
filesUnit,
processUnit,
popUp,
Administrative,
BigPay,
Budget,
CheckRecipients,
Engineering,
FixedAssets,
GetPayment,
InternalTransfer,
OfficialEntertaining,
PublicTransportation,
Reimbursement,
TravelExpense,
TravelExcessive,
LoanBill,
Deposit,
Payfor,
Servepart,
ProjectAccounts
},
computed: {
...mapGetters({'users':'getUser'}),
},
methods: {
clickGetSubscribefee(id) {
this.showId = id
this.showPopupMiddle = true
},
closePop(){
this.showPopupMiddle = false
},
// 图片预览
showImg(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
uni.hideLoading()
return
}
let _data = res.Data
_data.BUDGET_PRICE = _data.ExpenseBill.BUDGET_PRICE
_data.PAYMENT_LOWER = _data.ExpenseBill.PAYMENT_LOWER
_data.CONTRACT_TOTALAMOUNT = _data.ExpenseBill.PAYMENT_LOWER
_data.PERPAID_TOTALAMOUNT = _data.ExpenseBill.PERPAID_TOTALAMOUNT
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
let preSubscribefeeMap = {}
if(_data.PreSubscribefeeList) {
_data.PreSubscribefeeList.map(u=>{
preSubscribefeeMap[u.FINANCEPROINST_ID] = u
})
_this.preSubscribefeeMap = preSubscribefeeMap
}
_this.ExpenseBill = _data || {}
_this.$forceUpdate()
setTimeout(function(){
uni.hideLoading()
_this.isShow = true
_this.isLoading = false
},500)
})
},
setTitle() {
let pageName = ''
let pageType = parseInt(this.pageType)
switch (pageType) {
// 行政资产申请
case 401101:
pageName = '行政资产申请'
break;
//大额支付审批
case 401302:
pageName = '大额支付审批'
break;
// 经费预算申请
case 401204:
pageName = '经费预算申请'
break;
// 支票领用审批
case 401303:
pageName = '支票领用审批'
break;
// 工程款支付
case 401203:
pageName = '工程款支付'
break;
// 固定资产处理
case 401205:
pageName = '固定资产处理'
break;
// 领付款申请
case 401304:
pageName = '领付款申请'
break;
// 内部转账审批
case 401301:
pageName = '内部转账审批'
break;
// 公务接待审批
case 401102:
pageName = '公务接待审批'
break;
// 公务交通费用
case 401207:
pageName = '公务交通费用'
break;
// 费用报销审批
case 401201:
pageName = '费用报销审批'
break
// 差旅费超标准
case 401206:
pageName = '差旅费超标准'
break;
// 差旅费报销
case 401202:
pageName = '差旅费报销'
break;
case 401601:
pageName = '借款单审批'
break;
case 401602:
pageName = '服务区报销'
break;
case 401603:
pageName = '付款审批'
break;
case 401604:
pageName = '保证金退付'
break;
}
uni.setNavigationBarTitle({
title: pageName,
// complete(res) {
// console.log(res)
// }
})
}
},
onLoad(option) {
let _this = this
uni.showLoading({
title:'正在加载'
})
this.isLoading = true
this.pageType = option.type
this.getData(option.id)
uni.$on('3000', function (data){
if(data) {
uni.showLoading({
title:'正在加载'
})
_this.isShow = false
_this.isLoading = true
_this.getData(_this.ExpenseBill.FINANCEPROINST_ID)
}
});
},
onReady() {
this.setTitle()
},
onUnload() {
this.$util.addUserBehavior()
uni.$off('3000');
},
onHide() {
}
}
</script>
<style scoped>
@import url("/common/css/expensesTop.css");
.trip-detail {
border: 1rpx solid rgb(234, 234, 234);
box-shadow: 0px 1rpx 8rpx rgb(234, 234, 234);
border-radius: 14rpx;
margin-bottom: 20rpx;
margin-left: 30rpx;
margin-right: 30rpx;
padding: 20rpx 24rpx 20rpx 24rpx;
}
.trip-subsidies + .trip-subsidies {
margin-top: 16rpx;
padding-top: 16rpx;
border-top: 2rpx dashed rgb(234, 234, 234);
}
.trip-subsidies span {
font-size: 24rpx;
}
</style>