|
<template>
<div class="browse-main">
<div class="header-box">
<div class="header_content">
<div class="header_content_top">
<div class="cmy_logo_box">
<img :src="orgInfo.logo" alt="">
</div>
</div>
<div class="header_content-footer">
<p>
<span class="cmpName">{{orgInfo.forShort ? orgInfo.forShort : orgInfo.name}}</span><em class="authicon" :class="{'icon-com': orgInfo.authStatus==='3'}"></em>
<span v-if="orgInfo.type === '2'">{{compType[orgInfo.type]}} </span>
</p>
<p class="industry">{{orgInfo.industry ? orgInfo.industry.join(" | ") : ''}}</p>
<p class="addressbox">
<em class="address"></em> {{orgInfo.city}}</p>
<pageView v-if="orgId" :pageObj="{ tn: 'organization', id: orgId, src: '2', noShow: true}"></pageView>
</div>
</div>
</div>
<div class="block-wrapper">
<div class="left-main">
<div class="content-wrapper split-other" v-if="platServices.length || platResources.length">
<div class="inner-wrapper" v-if="platServices.length">
<div class="content-title">
<span>可提供服务</span>
</div>
<div class="content content-nf" v-if="platServices.length">
<baseService v-for="item in platServices" :key="item.index" :itemSingle="item" :noBlank="true"></baseService>
<p class="moretype" @click="moreService" v-show="loadingModalShow">查看更多服务</p>
</div>
</div>
<div class="inner-wrapper" v-if="platResources.length">
<div class="content-title">
<span>可共享资源</span>
</div>
<div class="content content-nf" v-if="platResources.length">
<baseResource v-for="item in platResources" :key="item.index" :itemSingle="item" :noBlank="true"></baseResource>
<p class="moretype" @click="moreProduct" v-show="loadingModalShow2">查看更多资源</p>
</div>
</div>
</div>
<div class="content-wrapper" v-if="orgInfo.descp">
<div class="inner-wrapper">
<div class="content-title">
<span>机构简介</span>
</div>
<div class="content">{{orgInfo.descp}}</div>
</div>
<div class="inner-wrapper" v-if="orgInfo.subject && orgInfo.subject.length">
<div class="content-title">
<span>专注领域</span>
</div>
<div class="content">
<el-row class="tag-item">
<el-tag v-for="sub in orgInfo.subject" :key="sub.index">{{sub}}</el-tag>
</el-row>
</div>
</div>
</div>
<div class="content-wrapper" v-if="orgContents && orgContents.length">
<div class="inner-wrapper">
<div class="content-title">
<span>相关文章</span>
</div>
<div class="content content-nf" v-if="orgContents.length">
<baseContent v-for="item in orgContents" :key="item.index" :itemSingle="item" :noBlank="true"></baseContent>
</div>
</div>
</div>
<div class="content-wrapper" v-if="likeOrgs && likeOrgs.length">
<div class="inner-wrapper">
<div class="content-title">
<span>您可能感兴趣的机构</span>
</div>
<div class="content">
<BaseOrg v-for="item in likeOrgs" :key="item.index" :itemSingle="item" :noBlank="true"></BaseOrg>>
</div>
</div>
</div>
</div>
</div>
</div>
</template>
<script>
import { urlParse, ImageUrl, defaultSet, strToArr, TimeTr, commenTime } from '@/libs/util';
import queryDict from '@/libs/queryDict';
import queryBase from '@/libs/queryBase';
import baseService from '@/components/subTemplate/BaseService';
import baseResource from '@/components/subTemplate/BaseResource';
import baseContent from '@/components/subTemplate/BaseContent';
import BaseOrg from '@/components/subTemplate/BaseOrg';
import pageView from '@/components/pageView';
export default {
data() {
return {
activeName: 'first',
numRanger: [],
compType: [],
orgInfo: '',
orgId: '',
platServices: [],
serCount: 0,
loadingModalShow: false, // 是否显示按钮
loadingComplete: false, // 是否全部加载
isFormSearch: false, // 数据加载
isLoading: false, // button style...
ifDefault: false, // 是否缺省
platResources: [],
resCount: 0,
loadingModalShow2: false,
loadingComplete2: false,
isFormSearch2: false,
isLoading2: false,
ifDefault2: false,
dataO: {
serModifyTime: '',
resPublishTime: '',
resShareId: ''
},
rows: 2,
orgContents: '',
likeOrgs: ''
};
},
created() {
this.orgId = urlParse('id');
this.getDictoryData();
this.getorgInfo();
this.getOrgWave();
this.getOrgResource();
this.queryPubCount();
this.getOrgContent();
this.getLikeOrgs();
},
components: {
pageView,
baseService,
baseResource,
baseContent,
BaseOrg
},
methods: {
moreService() {
this.getOrgWave()
},
moreProduct() {
this.getOrgResource()
},
getDictoryData() {
const that = this
queryDict.applyDict('QYGM', function (dictData) {
dictData.map(item => {
that.numRanger[item.code] = item.caption
})
}) // 企业规模
queryDict.applyDict('QYLX', function (dictData) {
dictData.map(item => {
that.compType[item.code] = item.caption
})
}) // 企业类型
},
getorgInfo() {
this.$axios.getk('/ajax/org/' + this.orgId, {
}, (res) => {
if (res.success) {
var $info = res.data;
if ($info.hasOrgLogo) {
$info.logo = ImageUrl(('org/' + $info.id + '.jpg'), true)
} else {
$info.logo = defaultSet.img.org
}
if ($info.subject) {
$info.subject = strToArr($info.subject);
}
if ($info.industry) {
$info.industry = strToArr($info.industry);
}
if ($info.qualification) {
$info.qualification = strToArr($info.qualification);
}
if ($info.foundTime) {
$info.foundTime = TimeTr($info.foundTime);
}
document.title = ($info.forShort ? $info.forShort : $info.name) + '-' + PLAT.info.title
this.orgInfo = $info;
};
});
},
getOrgWave() {
this.$axios.getk('/ajax/ware/publish', {
category: '2',
owner: this.orgId,
modifyTime: this.dataO.serModifyTime,
rows: this.rows
}, (res) => {
if (res.success && res.data) {
var $info = res.data;
if ($info.length > 0) {
this.dataO.serModifyTime = $info[$info.length - 1].modifyTime;
this.platServices = this.platServices.concat($info);
this.isFormSearch = true;
if ($info.length < this.rows) {
this.loadingModalShow = false;
this.isFormSearch = false;
} else {
this.loadingModalShow = true;
}
} else {
this.loadingModalShow = false;
this.isFormSearch = false;
};
var liLen = this.platServices.length;
if ($info.length === 0 && liLen === 0) {
this.ifDefault = true;
};
};
});
},
searchLower() {
if (this.loadingModalShow && !this.isLoading) {
this.getOrgWave();
}
},
getOrgResource() {
this.$axios.getk('/ajax/resource/publish', {
category: '2',
owner: this.orgId,
publishTime: this.dataO.resPublishTime,
shareId: this.dataO.resShareId,
rows: this.rows
}, (res) => {
if (res.success && res.data) {
var $info = res.data;
if ($info.length > 0) {
this.dataO.resPublishTime = $info[$info.length - 1].publishTime;
this.dataO.resShareId = $info[$info.length - 1].shareId;
this.platResources = this.platResources.concat($info);
this.isFormSearch2 = true;
if ($info.length < this.rows) {
this.loadingModalShow2 = false;
this.isFormSearch2 = false;
} else {
this.loadingModalShow2 = true;
}
} else {
this.loadingModalShow2 = false;
this.isFormSearch2 = false;
};
var liLen = this.platPatents.length;
if ($info.length === 0 && liLen === 0) {
this.ifDefault2 = true;
};
};
});
},
searchLower2() {
if (this.loadingModalShow2 && !this.isLoading2) {
this.getOrgResource();
}
},
queryPubCount() {
var that = this
this.$axios.getk('/ajax/ware/count/publish', {
owner: that.orgId,
category: '2'
}, function (data) {
if (data.data > 0 && data.data < 99) {
that.serCount = data.data;
}
if (data.data > 99) {
that.serCount = '99+';
}
});
this.$axios.getk('/ajax/resource/count/publish', {
owner: that.orgId,
category: '2'
}, function (data) {
if (data.data > 0 && data.data < 99) {
that.resCount = data.data;
}
if (data.data > 99) {
that.resCount = '99+';
}
});
},
getOrgContent() {
var that = this
this.$axios.get('/ajax/article/lq/with/org', {
oid: this.orgId
}, (res) => {
if (res.success) {
var $info = res.data;
if ($info.length > 0) {
for (let i = 0; i < $info.length; ++i) {
(function (str) {
that.$axios.get('/ajax/article/qo', {
id: str.id
}, (data) => {
if (data.success) {
str.title = data.data.title
str.modifyTime = commenTime(data.data.modifyTime, true)
that.$forceUpdate()
};
});
})($info[i])
}
that.orgContents = $info;
};
};
});
},
getLikeOrgs() {
var that = this
this.$axios.getk('/ajax/org/ralateOrgs', {
orgId: this.orgId
}, (res) => {
if (res.success) {
var $info = res.data;
if ($info.length > 0) {
for (let i = 0; i < $info.length; ++i) {
(function (str) {
queryBase.getOrganization(str.id, function (sc, value) {
if (sc) {
str.name = value.name
str.orgType = that.compType[value.orgType]
if (str.hasOrgLogo) {
str.logo = ImageUrl(('org/' + value.id + '.jpg'), true)
} else {
str.logo = defaultSet.img.org
}
that.$forceUpdate()
}
})
})($info[i])
}
that.likeOrgs = $info;
}
};
});
}
}
};
</script>
<style lang="scss" rel="stylesheet/scss">
@import '../../style/index';
</style>
|