388 lines
12 KiB
Vue
388 lines
12 KiB
Vue
|
|
<template>
|
|||
|
|
<view>
|
|||
|
|
<view class="barBox" :style="{'height': barBoxHeight + 'px'}">
|
|||
|
|
<view class="fixedheader">
|
|||
|
|
<headers :themeType="'white'" :showBack="true">
|
|||
|
|
<view class="headerName">
|
|||
|
|
基本信息
|
|||
|
|
</view>
|
|||
|
|
</headers>
|
|||
|
|
</view>
|
|||
|
|
|
|||
|
|
</view>
|
|||
|
|
<view class="tabBox">
|
|||
|
|
<view :class="{'enterprise-tab':true,'active-tab': checked == 1}" @click="handleTab(1)">企业信息</view>
|
|||
|
|
<view :class="{'project-tab':true,'active-tab': checked == 2}" @click="handleTab(2)">项目信息</view>
|
|||
|
|
</view>
|
|||
|
|
<scroll-view :scroll-y="true" class="scrollBox" :style="{height: scrollHeight + 'px'}" v-if="checked == 1">
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">企业名称</view>
|
|||
|
|
<view class="item-bottom">{{enterpriseInfo.enterpriseName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">企业类型</view>
|
|||
|
|
<view class="item-bottom">{{enterpriseInfo.companyTypeName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">统一社会信用代码</view>
|
|||
|
|
<view class="item-bottom">{{enterpriseInfo.socialCode || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">法定代表人</view>
|
|||
|
|
<view class="item-bottom">{{enterpriseInfo.enterpriseLegalPerson || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">法人电话</view>
|
|||
|
|
<view class="item-bottom">{{enterpriseInfo.legalPersonTel || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">注册人申请电话</view>
|
|||
|
|
<view class="item-bottom">{{enterpriseInfo.registerPersonPhoneTel || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">开户行</view>
|
|||
|
|
<view class="item-bottom">{{enterpriseInfo.bankname || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">银行账号</view>
|
|||
|
|
<view class="item-bottom">{{enterpriseInfo.bankcardnumber || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">营业执照截止日期</view>
|
|||
|
|
<text class="item-bottom">{{enterpriseInfo.businessLicenseEndDate || '--'}}</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">资质照片</view>
|
|||
|
|
<view class="item-bottom" v-if="enterpriseInfo.enterpriseQualificationUrl">
|
|||
|
|
<image :src="enterpriseInfo.enterpriseQualificationUrl"
|
|||
|
|
@click="previewImage(enterpriseInfo.enterpriseQualificationUrl)" class="icon-image"></image>
|
|||
|
|
<!-- <image :src="enterpriseInfo.enterpriseQualificationUrl[0].url"
|
|||
|
|
@click="previewImage(enterpriseInfo.enterpriseQualificationUrl[0].url)"
|
|||
|
|
class="icon-image"></image> -->
|
|||
|
|
</view>
|
|||
|
|
<view class="item-bottom" v-else>
|
|||
|
|
<text>--</text>
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
</scroll-view>
|
|||
|
|
<scroll-view :scroll-y="true" class="scrollBox" :style="{height: scrollHeight + 'px'}" v-if="checked == 2">
|
|||
|
|
<div class="conProjectItem" v-for="item in conProjectList" :key="item.id">
|
|||
|
|
<view class="property-item">
|
|||
|
|
<!-- 承包商名称 -->
|
|||
|
|
<view class="item-top">承包项目名称</view>
|
|||
|
|
<view class="item-bottom">{{item.cbsName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目施工区域</view>
|
|||
|
|
<view class="item-bottom">{{item.projectBuildArea || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目经理</view>
|
|||
|
|
<view class="item-bottom">{{item.projectManage || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目类型</view>
|
|||
|
|
<view class="item-bottom">{{item.cbsProjectTypeName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">施工阶段</view>
|
|||
|
|
<view class="item-bottom">{{item.constructionStageName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">经度位置</view>
|
|||
|
|
<view class="item-bottom">{{item.longitude || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">纬度位置</view>
|
|||
|
|
<view class="item-bottom">{{item.latitude || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目编号</view>
|
|||
|
|
<view class="item-bottom">{{item.projectNumber || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">结构类型</view>
|
|||
|
|
<view class="item-bottom">{{item.structureTypeName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目面积(㎡)</view>
|
|||
|
|
<view class="item-bottom">{{item.projectAcreage ? item.projectAcreage + '㎡' : '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">工程状态</view>
|
|||
|
|
<view class="item-bottom">{{
|
|||
|
|
item.bulidStatus == 0 ? '未开工' :
|
|||
|
|
item.bulidStatus == 1 ? '在建' :
|
|||
|
|
item.bulidStatus == 2 ? '停工' :
|
|||
|
|
item.bulidStatus == 3 ? '竣备' : '--'
|
|||
|
|
}}</view>
|
|||
|
|
</view>
|
|||
|
|
</div>
|
|||
|
|
<!-- <view class="property-item">
|
|||
|
|
<view class="item-top">承包商名称</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.cbsName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目施工区域</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.projectBuildArea || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目经理</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.projectManage || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目类型</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.cbsProjectTypeName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">施工阶段</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.constructionStageName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">经度位置</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.longitude || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">纬度位置</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.latitude || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目编号</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.projectNumber || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">结构类型</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.structureTypeName || '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">项目面积(㎡)</view>
|
|||
|
|
<view class="item-bottom">{{conProjectInfo.projectAcreage ? conProjectInfo.projectAcreage + '㎡' : '--'}}</view>
|
|||
|
|
</view>
|
|||
|
|
<view class="property-item">
|
|||
|
|
<view class="item-top">工程状态</view>
|
|||
|
|
<view class="item-bottom">{{
|
|||
|
|
conProjectInfo.bulidStatus == 0 ? '未开工' :
|
|||
|
|
conProjectInfo.bulidStatus == 1 ? '在建' :
|
|||
|
|
conProjectInfo.bulidStatus == 2 ? '停工' :
|
|||
|
|
conProjectInfo.bulidStatus == 3 ? '竣备' : '--'
|
|||
|
|
}}</view>
|
|||
|
|
</view> -->
|
|||
|
|
</scroll-view>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
export default {
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
id: '',
|
|||
|
|
projectId: '',
|
|||
|
|
checked: 1,
|
|||
|
|
barBoxHeight: '',
|
|||
|
|
scrollHeight: '',
|
|||
|
|
enterpriseInfo: '',
|
|||
|
|
conProjectInfo: '',
|
|||
|
|
conProjectList: [],
|
|||
|
|
};
|
|||
|
|
},
|
|||
|
|
onReady() {
|
|||
|
|
this.getHeight()
|
|||
|
|
},
|
|||
|
|
onLoad(option) {
|
|||
|
|
this.id = option.id
|
|||
|
|
this.projectId = option.projectId
|
|||
|
|
this.getDetailInfo()
|
|||
|
|
this.supplierInfoList();
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
async getHeight() {
|
|||
|
|
const query = uni.createSelectorQuery().in(this);
|
|||
|
|
|
|||
|
|
let fixedheaderHeight = 0
|
|||
|
|
const fixedHeaderPromise = new Promise((resolve) => {
|
|||
|
|
query.select('.fixedheader').boundingClientRect(data => {
|
|||
|
|
fixedheaderHeight = data.height
|
|||
|
|
console.log('fixedheaderHeight:', data.height);
|
|||
|
|
resolve();
|
|||
|
|
}).exec();
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
let mobileTopHeight = 0
|
|||
|
|
const systemInfoPromise = new Promise((resolve) => {
|
|||
|
|
uni.getSystemInfo({
|
|||
|
|
success(res) {
|
|||
|
|
mobileTopHeight = res.statusBarHeight ? res.statusBarHeight : 0;
|
|||
|
|
resolve();
|
|||
|
|
}
|
|||
|
|
});
|
|||
|
|
});
|
|||
|
|
|
|||
|
|
await fixedHeaderPromise;
|
|||
|
|
await systemInfoPromise;
|
|||
|
|
|
|||
|
|
this.barBoxHeight = fixedheaderHeight + mobileTopHeight;
|
|||
|
|
console.log('this.barBoxHeight', this.barBoxHeight);
|
|||
|
|
|
|||
|
|
let screenHeight = uni.getSystemInfoSync().screenHeight;
|
|||
|
|
console.log('screenHeight', screenHeight);
|
|||
|
|
|
|||
|
|
this.scrollHeight = screenHeight - this.barBoxHeight - 44 - 20;
|
|||
|
|
console.log('this.scrollHeight', this.scrollHeight);
|
|||
|
|
},
|
|||
|
|
handleTab(val) {
|
|||
|
|
this.checked = val
|
|||
|
|
},
|
|||
|
|
supplierInfoList() {
|
|||
|
|
let data = {
|
|||
|
|
type: 2,
|
|||
|
|
enterpriseId: this.id,
|
|||
|
|
projectSn: JSON.parse(uni.getStorageSync('projectDetail')).projectSn,
|
|||
|
|
}
|
|||
|
|
let that = this
|
|||
|
|
this.sendRequest({
|
|||
|
|
url: 'xmgl/projectEnterpriseSupplierInfo/list',
|
|||
|
|
method: 'get',
|
|||
|
|
data: data,
|
|||
|
|
success: res => {
|
|||
|
|
console.log("enterpriseInfo", res);
|
|||
|
|
that.conProjectList = res.result;
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
getDetailInfo() {
|
|||
|
|
let data = {
|
|||
|
|
enterpriseId: this.id,
|
|||
|
|
projectSn: JSON.parse(uni.getStorageSync('projectDetail')).projectSn,
|
|||
|
|
}
|
|||
|
|
let that = this
|
|||
|
|
this.sendRequest({
|
|||
|
|
url: 'xmgl/enterpriseInfo/getEnterpriseInfoById',
|
|||
|
|
method: 'post',
|
|||
|
|
data: data,
|
|||
|
|
success: res => {
|
|||
|
|
console.log("enterpriseInfo", res);
|
|||
|
|
this.enterpriseInfo = res.result
|
|||
|
|
|
|||
|
|
if (this.enterpriseInfo.enterpriseQualificationUrl) {
|
|||
|
|
// pc处理方式
|
|||
|
|
this.enterpriseInfo.enterpriseQualificationUrl =
|
|||
|
|
res.result.enterpriseQualificationUrl && res.result.enterpriseQualificationUrl
|
|||
|
|
.split(',').length > 1 ?
|
|||
|
|
res.result.enterpriseQualificationUrl.split(',').map(item => {
|
|||
|
|
return {
|
|||
|
|
name: item.split('*')[0],
|
|||
|
|
url: that.url_config + 'image/' + item.split('*')[1],
|
|||
|
|
}
|
|||
|
|
}) : res.result.enterpriseQualificationUrl.indexOf('http://') >= 0 ? res.result
|
|||
|
|
.enterpriseQualificationUrl :
|
|||
|
|
url_config + 'image/' + res.result.enterpriseQualificationUrl;
|
|||
|
|
console.log(this.enterpriseInfo.enterpriseQualificationUrl)
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//如果app有图片但没加载出来,就切换成上面pc处理方式
|
|||
|
|
// if(this.enterpriseInfo.enterpriseQualificationUrl){
|
|||
|
|
// this.enterpriseInfo.enterpriseQualificationUrl = this.enterpriseInfo.enterpriseQualificationUrl.split('*')[1]
|
|||
|
|
// }
|
|||
|
|
|
|||
|
|
this.conProjectInfo = res.result.projectEnterprise
|
|||
|
|
}
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
//预览图片
|
|||
|
|
previewImage(url) {
|
|||
|
|
console.log('url', url);
|
|||
|
|
uni.previewImage({
|
|||
|
|
urls: [url]
|
|||
|
|
})
|
|||
|
|
},
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style lang="scss" scoped>
|
|||
|
|
.conProjectItem {
|
|||
|
|
border: 2rpx solid #EBECF0;
|
|||
|
|
border-radius: 20rpx;
|
|||
|
|
padding: 20rpx;
|
|||
|
|
margin-top: 20rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.barBox {
|
|||
|
|
// background-color: #5181F6;
|
|||
|
|
background-color: #f6f6f6;
|
|||
|
|
min-height: 100%;
|
|||
|
|
height: 44px;
|
|||
|
|
|
|||
|
|
.fixedheader {
|
|||
|
|
position: fixed;
|
|||
|
|
top: 0;
|
|||
|
|
left: 0;
|
|||
|
|
width: 100%;
|
|||
|
|
z-index: 999;
|
|||
|
|
|
|||
|
|
.headerName {
|
|||
|
|
z-index: 1;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.tabBox {
|
|||
|
|
width: 100%;
|
|||
|
|
height: 44px;
|
|||
|
|
display: flex;
|
|||
|
|
|
|||
|
|
.enterprise-tab {
|
|||
|
|
width: 50%;
|
|||
|
|
height: 100%;
|
|||
|
|
border: 1rpx solid #e5e5e5;
|
|||
|
|
// border-top: none;
|
|||
|
|
// border-left: none;
|
|||
|
|
line-height: 44px;
|
|||
|
|
text-align: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.project-tab {
|
|||
|
|
width: 50%;
|
|||
|
|
height: 100%;
|
|||
|
|
border: 1rpx solid #e5e5e5;
|
|||
|
|
// border-top: none;
|
|||
|
|
// border-right: none;
|
|||
|
|
line-height: 44px;
|
|||
|
|
text-align: center;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.active-tab {
|
|||
|
|
background-color: #2b8df3;
|
|||
|
|
color: #fff;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.scrollBox {
|
|||
|
|
height: 100%;
|
|||
|
|
width: calc(100% - 20rpx);
|
|||
|
|
// background-color: darkred;
|
|||
|
|
margin: 0 20rpx;
|
|||
|
|
word-break: break-all;
|
|||
|
|
padding-bottom: 20rpx;
|
|||
|
|
|
|||
|
|
.property-item {
|
|||
|
|
// line-height: 50rpx;
|
|||
|
|
margin-bottom: 30rpx;
|
|||
|
|
|
|||
|
|
.item-top {
|
|||
|
|
color: #878787;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
.item-bottom {
|
|||
|
|
margin-top: 10rpx;
|
|||
|
|
width: auto;
|
|||
|
|
height: auto;
|
|||
|
|
|
|||
|
|
.icon-image {
|
|||
|
|
width: 100rpx;
|
|||
|
|
height: 100rpx;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
</style>
|