wechat_yxcl/pages/tender/tenderRecord.vue
2024-09-03 18:19:25 +08:00

360 lines
11 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>
<div class="">
<block v-if="isShow">
<div class='base-info pb20'>
<view class="content-title">{{baseData.TENDER_NAME}}<span class="small-title">{{baseData.ProdefType==1? '非招标项目采购':'直接采购'}}</span></view>
<view class="box-top" v-if="!baseData.ProdefType">
<view class="item-title">送审部门:<text style="color:#333;">{{baseData.SUBMITTAL_DEPARTMENT}}</text></view>
<view class="item-title">送审时间:<text style="color:#333;">{{baseData.SUBMITTAL_DATE}}</text></view>
</view>
<view class="main-card" v-if="baseData.ProdefType==1">
<div class="base-body">
<p>
<i class="ico ico-ndbz"></i>
<span class="item-title">预算金额:</span>
<span class="item-price">{{baseData.BUDGET_AMOUNT}}</span>
<span class="ml10">万元</span>
</p>
</div>
<div class="base-body">
<p>
<i class="ico ico-zbfs"></i>
<span class="item-title">采购方式:</span>
<span >{{baseData.TENDER_TYPENAME}}</span>
</p>
</div>
<div class="base-body">
<p>
<i class="ico ico-jys"></i>
<span class="item-title">供应商邀请方式:</span>
<span >{{baseData.APPLYIMPLEMENT_TYPENAME}}</span>
</p>
</div>
<div class="detail-other bb" v-if="baseData.PROJECT_DESCRIPTION">
<p class="item-title">
<i class="ico ico-xmgm"></i>
<span>项目概况:</span>
</p>
<p class="detail-cont">{{baseData.PROJECT_DESCRIPTION}}</p>
</div>
<div class="detail-other" v-if="baseData.QUALIFICATION_RQSTD">
<p class="item-title">
<i class="ico ico-qtyq"></i>
<span>供应商资质邀请:</span>
</p>
<p class="detail-cont">{{baseData.QUALIFICATION_RQSTD}}</p>
</div>
</view>
<view class="main-card" v-else-if="baseData.ProdefType==2">
<div class="base-body">
<p>
<i class="ico ico-ndbz"></i>
<span class="item-title">预算金额:</span>
<span class="item-price">{{baseData.BUDGET_AMOUNT}}</span>
<span class="ml10">万元</span>
</p>
</div>
<div class="base-body">
<p>
<i class="ico ico-zbfs"></i>
<span class="item-title">采购方式:</span>
<span >{{baseData.TENDER_TYPENAME}}</span>
</p>
</div>
<div class="base-body">
<p>
<i class="ico ico-ssqy"></i>
<span class="item-title">实施单位:</span>
<span >{{baseData.APPLYIMPLEMENT_TYPENAME}}</span>
</p>
</div>
<div class="detail-other bb" v-if="baseData.PROJECT_DESCRIPTION">
<p class="item-title">
<i class="ico ico-xmgm"></i>
<span>项目概况:</span>
</p>
<p class="detail-cont">{{baseData.PROJECT_DESCRIPTION}}</p>
</div>
<div class="detail-other" v-if="baseData.QUALIFICATION_RQSTD">
<p class="item-title">
<i class="ico ico-qtyq"></i>
<span>供应商资质邀请:</span>
</p>
<p class="detail-cont">{{baseData.QUALIFICATION_RQSTD}}</p>
</div>
</view>
<view class="main-card" v-else>
<div class="base-body">
<p>
<i class="ico ico-ndbz"></i>
<span class="item-title">预算金额:</span>
<span class="item-price">{{baseData.BUDGET_AMOUNT}}</span>
<span class="ml10">万元</span>
</p>
</div>
<div class="base-body">
<p>
<i class="ico ico-zbfs"></i>
<span class="item-title">招标方式:</span>
<span>{{baseData.TENDER_TYPENAME}}</span>
</p>
<p style="min-width: 350upx;">
<i class="ico ico-shijian"></i>
<span class="item-title">开标时间:</span>
<span>{{baseData.BIDOPENING_DATE}}</span>
</p>
</div>
<div class="base-body ">
<p>
<i class="ico ico-user"></i>
<span class="item-title">联系人员:</span>
<span>{{baseData.LINKER_PERSON}}</span>
</p>
<p style="min-width: 350upx;">
<i class="ico ico-lxfs"></i>
<span class="item-title">联系方式:</span>
<span>{{baseData.LINKER_TELE}}</span>
</p>
</div>
<div class="detail-other bb">
<p class="item-title">
<i class="ico ico-fdhfqk"></i>
<span>标段划分情况:</span>
</p>
<p class="detail-cont">{{baseData.TENDERS_DIVISION}}</p>
</div>
<div class="detail-other" v-if="baseData.SUBMITTAL_DEPARTMENT">
<p class="item-title">
<i class="ico ico-xmgm"></i>
<span>项目规模及主要技术指标:</span>
</p>
<p class="detail-cont">{{baseData.TENDER_INDEX}}</p>
</div>
</view>
<div class="main-card detail-other" v-if="baseData.FileList.length>0">
<p class="item-title">
<i class="ico ico-fj"></i>
<span>附件:</span>
</p>
<div class="imgBox">
<filesUnit v-for="(file,i) in baseData.FileList" :fileItem="file" :key="i"></filesUnit>
</div>
</div>
<div v-if="isSign">
<p class="detail-sign item-title" v-if="baseData.CHANGE_REASON">会签详情</p>
<div class="main-card detail-other uni-flex" style="align-items: flex-start;" v-if="baseData.CHANGE_REASON">
<p class="item-title">
<i class="ico ico-user"></i>
<span>会签人员</span>
</p>
<text>{{signInfo.USER_NAMES}}</text>
</div>
<!-- <p class="detail-cont">会签备注{{signInfo.JOINTLYSIGN_DESC}}</p> -->
</div>
<view class="button-box" v-if="isSign">
<span @tap="showPop"><image src="../../static/images/sh-btn.png" mode="aspectFit"></image> 会签</span>
<span @tap="showPop(3000)" ><image src="../../static/images/bh-btn.png" mode="aspectFit"></image> 驳回</span>
</view>
<view class="button-box" v-else-if=" baseData.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)" ><image src="../../static/images/bh-btn.png" mode="aspectFit"></image> 驳回</span>
</view>
</div>
<view class="base-info" v-if="baseData.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="baseData.RejectApproved[0]" :approveType="0"/>
</div>
</div>
</view>
<view class="base-info" v-if="baseData.AprovedList.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.AprovedList" :item="item" :key="item.APPROVED_ID" :approveType="1"/>
</div>
</div>
</view>
</block>
<block v-else-if="isLoading===false">
<noFound :nodata="baseData.HIGHWAYPROINST_ID ? false : true"/>
</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 {
isShow: false,
isLoading: true,
foundType:0,
baseData: {},
cardShow:true,
isSign: false,
isResolve: false,
signInfo: {}
}
},
components:{
filesUnit,
processUnit
},
computed: {
...mapGetters({'users':'getUser'})
},
methods: {
getDetail (id) {
let _this = this
_this.$request.$get('GetTenderFlowDetail',{
HIGHWAYPROINST_ID: id
}).then(res => {
if(!res.ResultCode ||res.ResultCode!='100'){
_this.isShow = false
}
_this.baseData = res.Data
_this.baseData.SUBMITTAL_DATE = _this.$util.cutDate(_this.baseData.SUBMITTAL_DATE, 'YYYY-MM-DD')
_this.baseData.BIDOPENING_DATE = _this.$util.cutDate(_this.baseData.BIDOPENING_DATE, 'YYYY-MM-DD')
_this.baseData.FileList.map(v => {
let name= v.ATTACHMENT_DESC.split('.')
v.type = name[name.length-1]
v.name = v.ATTACHMENT_DESC
v.path = v.ATTACHMENT_URL
})
if(_this.baseData.SingInfo) {
_this.signInfo = _this.baseData.SingInfo[0]
let userIds= _this.signInfo.USER_IDS.split(',')
if(userIds.indexOf(_this.users.UserId+'')>-1 ||userIds.indexOf(_this.users.UserId)>-1) {
_this.isSign = true
}
}else{
if(_this.baseData.NOWSTAFF_ID==_this.users.UserId) {
_this.isResolve=true
}
}
_this.$forceUpdate()
uni.hideLoading()
setTimeout(function(){
_this.isShow = true
_this.isLoading = false
},500)
})
},
showPop(type) {
let _this = this
let url =''
switch (type) {
case 4000:
url = '/pages/auditingPop/transfer?businessType=4000&PROINST_ID='+_this.baseData.HIGHWAYPROINST_ID+'&NOWACTINST_ID='+_this.baseData.NOWACTINST_ID
break;
case 2000:
url = '/pages/auditingPop/toExamine?businessType=4000&PROINST_ID='+_this.baseData.HIGHWAYPROINST_ID+'&NOWACTINST_ID='+_this.baseData.NOWACTINST_ID+'&ApproName='+_this.baseData.ApproName+'&NeedApproved='+_this.baseData.NeedApproved
break;
case 3000:
url = '/pages/auditingPop/reject?businessType=4000&PROINST_ID='+_this.baseData.HIGHWAYPROINST_ID+'&NOWACTINST_ID='+_this.baseData.NOWACTINST_ID
break;
default:
url = '/pages/auditingPop/jointlySign?businessType=4000&PROINST_ID='+_this.baseData.HIGHWAYPROINST_ID+'&NOWACTINST_ID='+_this.baseData.NOWACTINST_ID+'&ApproName='+_this.baseData.ApproName+'&ACTDEF_ID='+_this.baseData.ACTDEF_ID
break;
}
_this.$util.toNextRoute('navigateTo', url)
}
},
onLoad(option) {
uni.showLoading({
title:'正在加载'
})
this.isLoading = true
this.getDetail(option.HIGHWAYPROINST_ID)
let _this = this
uni.$on('4000', function (data){
if(data) {
uni.showLoading({
title:'正在加载'
})
_this.isLoading = true
_this.isShow = false
_this.getDetail(_this.baseData.HIGHWAYPROINST_ID)
}
});
},
onShow() {
},
onUnload() {
this.$util.addUserBehaviorNew()
uni.$off('4000');
},
onHide() {
}
}
</script>
<style scoped>
@import url("../../common/css/tenderingDetail.css");
.ico-ssqy:before{
background-image: url('/static/images/contract/htsp_ssqy.png');
}
.ico-jys:before{
background-image: url('/static/images/tender/jys.png');
}
.small-title {
padding: 0rpx 8rpx;
border: 1rpx solid #E5A06E;
color: #E5A06E;
font-size: 22rpx;
margin-left: 16rpx;
border-radius: 8rpx;
}
</style>