yxk_h5_master/pages/purchaseApply/purchaseDetail.vue

237 lines
7.4 KiB
Vue
Raw Permalink 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='page'>
<view class="top_container" style="padding-right: 30upx;clear: both;overflow: auto;">
<view class="report_status" style="float: left;">
<text class="magtext">{{purchaseApply.statusName}}</text>
</view>
<view style="float: right;" v-if="num==2 && purchaseApply.approveState=='1'"> <!-- 待审批和 审批中 -->
<view class="btn" @click="approval()">审批</view>
<!-- <view class="btn" @click="sendMsg()">回复</view> -->
</view>
</view>
<view class="detail_name_container">
<view :class="[current_num==1?'current':'']" @click="changecurrent(1)">基本信息</view>
<view :class="[current_num==2?'current':'']" @click="changecurrent(2)">审批流程</view>
</view>
<view v-if="current_num==1">
<view class="myContainer myContentBox">
<view class="top_container">基本信息</view>
<view class="list_item">
<view class="list_item_name">单据编号</view>
<view class="list_item_content content_right">{{purchaseApply.purchaseCode||''}}</view>
</view>
<view class="list_item">
<view class="list_item_name">申请时间</view>
<view class="list_item_content content_right">{{purchaseApply.applicantTime||''}}</view>
</view>
<view class="list_item">
<view class="list_item_name">申请人</view>
<view class="list_item_content content_right">{{purchaseApply.applicantName||''}}</view>
</view>
<view class="list_item">
<view class="list_item_name">申请部门</view>
<view class="list_item_content content_right">{{purchaseApply.deptName||''}}</view>
</view>
<view class="list_item">
<view class="list_item_name">预交时间</view>
<view class="list_item_content content_right">{{purchaseApply.advanceDate||''}}</view>
</view>
<view class="list_item">
<view class="list_item_name">供应商</view>
<view class="list_item_content content_right">{{purchaseApply.supplierName||''}}</view>
</view>
</view>
<view class="myCon myContentBox">
<view class="top_container">物料明细</view>
<view class="mybox" v-if="detailList.length>0">
<view v-for="(item,index) in detailList" :key="index">
<view class="list_item">
<view class="list_item_name">物料名称{{item.materielName}}</view>
</view>
<view class="list_item">
<view class="list_item_name">规格型号{{item.specification}}</view>
</view>
<view class="list_item">
<view class="list_item_name">主计量单位{{item.unitUomName}}</view>
</view>
<view class="list_item">
<view class="list_item_name">请购数量主单位{{item.count}}</view>
</view>
<view class="list_item">
<view class="list_item_name">辅助单位{{item.supportUomName}}</view>
</view><view class="list_item">
<view class="list_item_name">请购数量辅助单位{{item.subQuoteCount}}</view>
</view>
</view>
<!-- <uni-load-more :status="loading_status" ></uni-load-more> -->
</view>
</view>
</view>
<view v-else-if="current_num==2">
<view class="myCon myContentBox" v-if="approvalList.length>0">
<uni-steps :options="approvalList" :active="active" direction="column" />
</view>
</view>
<view class="goHome" @click='goMain("purchaseInfo")'>
<img src="../../static/img/gohome.png">
</view>
</view>
</template>
<script>
import uniSteps from '@/components/uni-steps/uni-steps.vue'
import {
config
} from '../../request/js/config.js'
export default{
components: {
uniSteps
},
data(){
return {
config:config,
current_num:1,
id:'',
taskId:'',
instanceId:'',
purchaseApply:{},
initFileList:[],
detailList:[],
active: 1,
approvalList:[],
num:1
}
},
onLoad(option) {
this.id=option.id;
this.taskId = option.taskId;
this.num =option.num;
this.instanceId =option.instanceId;
if(this.id==undefined){
uni.reLaunch({
url: 'purchaseApply'
});
return false;
}
var _this = this;
this.$http.request({
url: '/apis/scm/purchase/detailOfPurchase',
method:'POST',
params: {
id:option.id
},
}).then(res=>{
console.log(res.data)
if(res.data.code == 0){
if(res.data.data.purchaseDetail.approveState==0){
res.data.data.purchaseDetail.statusName = "暂存"
} else if(res.data.data.purchaseDetail.approveState==1){
res.data.data.purchaseDetail.statusName = "待审批"
}else if(res.data.data.purchaseDetail.approveState==2){
res.data.data.purchaseDetail.statusName = "已驳回"
}else if(res.data.data.purchaseDetail.approveState==3){
res.data.data.purchaseDetail.statusName = "审批通过"
}
this.purchaseApply=res.data.data.purchaseDetail;
this.detailList = res.data.data.detailOfItem
console.log("-------------------")
// this.initFileList = res.data.initFileList;
if(res.data.data.progressList){
res.data.data.progressList.forEach(function(val,index){
var myjson = {
title: val.approveName+(val.approveState?val.approveState:'')+(val.reason?('~不通过,原因:'+val.reason):''),
desc: val.approveTime?('时间:'+val.approveTime):'时间:-'
}
if(val.isDealed){
_this.active = index;
}
_this.approvalList.push(myjson);
})
}
//这边根据详情返回的审批id 获取审批的流程。
// this.$http.request({
// url: '/apis/dingding/getHistoryByProcessId',
// params: {
// processId:_this.purchaseApply.process_instance_id
// },
// }).then(res=>{
// if(res.data.code == 0){
// res.data.activitiList.forEach(function(val,index){
// var myjson = {
// title: val.userName+val.dealName+(val.reason?('~不通过,原因:'+val.reason):''),
// desc: val.dealTime?('时间:'+val.dealTime):'时间:-'
// }
// if(val.isDealed){
// _this.active = index;
// }
// _this.approvalList.push(myjson);
// });
// }
// }).catch(err=>{
// uni.showToast({
// title: '获取信息失败',
// duration: 1000,
// icon:"none"
// });
// });
}
}).catch(err=>{
uni.showToast({
title: '获取信息失败',
duration: 1000,
icon:"none"
});
});
},
methods:{
//点击审批
approval(){
uni.navigateTo({
url: "approval?id="+this.id + "&taskId=" + this.taskId + "&type=" + 1 + "&instanceId=" + this.instanceId
});
},
//回复
sendMsg(){
uni.navigateTo({
url: "sendMsg?id="+this.id
});
},
changecurrent(num){
this.current_num=num;
}
},
onBackPress(options) { //取消默认的返回事件.
uni.navigateTo({
url: "purchaseApply"
});
return true;
}
}
</script>
<style scoped>
.btn{
width: 160upx;
height:68upx;
text-align: center;
line-height: 68upx;
border-radius: 10upx;
background-color: #3382FF;
color: #fff;
font-size: 28upx;
float: left;
margin-right: 30upx;
}
</style>