Sin Descripción

show.vue 11KB

    <template> <div class="browse-main"> <div class="block-wrapper"> <div class="content-wrapper"> <div class="headcon-box org-head"> <div class="show-head headimg-box"> <img :src="orgInfo.logo"> </div> <div class="show-info reInfo-box"> <div class="info-tit">{{orgInfo.name}}</div> <div class="info-tag"><span v-if="orgInfo.type === '2'" style="margin-right:10px">{{compType[orgInfo.type]}} </span>{{keywordObj[1] ? keywordObj[1].join(" | ") : ''}}</div> <div class="info-operate"> <div class="addr">{{citys[orgInfo.addr]}}</div> <shareOut></shareOut> <pageView v-if="companyId" :pageObj="{ tn: 'company', id: companyId, src: '1', noShow: true}"></pageView> </div> </div> </div> </div> </div> <div class="block-wrapper"> <div class="wrapper-left left-main"> <el-tabs v-model="activeName"> <el-tab-pane label="主页" name="first"> <div class="content-wrapper split-other" v-if="platThreeProducts && platThreeProducts.length"> <div class="inner-wrapper"> <div class="content-title"> <span>我们的产品</span> <span class="content-more" @click="activeName='second'">更多</span> </div> <div class="content content-nf" v-if="platThreeProducts.length"> <baseProduct v-for="item in platThreeProducts" :key="item.index" :itemSingle="item"></baseProduct> </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 keywordObj[2]" :key="sub.index">{{sub}}</el-tag> </el-row> </div> </div> </div> </el-tab-pane> <el-tab-pane :label="'产品 ' + (productCount || '')" name="second"> <div v-show="!ifDefault" v-if="platProducts.length"> <baseProduct v-for="item in platProducts" :key="item.index" :itemSingle="item"></baseProduct> <Loading v-show="loadingModalShow" :loadingComplete="loadingComplete" :isLoading="isLoading" v-on:upup="searchLower"></Loading> </div> <defaultPage v-show="ifDefault"></defaultPage> </el-tab-pane> <el-tab-pane label="资料" name="third"> <div class="content-wrapper"> <div class="inner-wrapper"> <div class="content-title"> <span>企业详情</span> </div> <div class="content"> <el-row style="width:100%" :gutter="10"> <el-col :span="12" v-if="orgInfo.name"> <el-col :span="6">企业名称:</el-col> <el-col :span="18">{{orgInfo.name}}</el-col> </el-col> <el-col :span="12" v-if="orgInfo.size"> <el-col :span="6">企业规模:</el-col> <el-col :span="18">{{numRanger[orgInfo.size]}}</el-col> </el-col> <el-col :span="12" v-if="orgInfo.type"> <el-col :span="6">企业类型:</el-col> <el-col :span="18">{{compType[orgInfo.type]}}</el-col> </el-col> <el-col :span="12" v-if="orgInfo.location"> <el-col :span="6">企业地址:</el-col> <el-col :span="18">{{orgInfo.location}}</el-col> </el-col> <el-col :span="12" v-if="orgInfo.foundYear"> <el-col :span="6">创立时间:</el-col> <el-col :span="18">{{orgInfo.foundYear}}</el-col> </el-col> <el-col :span="12" v-if="orgInfo.url"> <el-col :span="6">企业官网:</el-col> <el-col :span="18">{{orgInfo.url}}</el-col> </el-col> </el-row> </div> </div> <div class="inner-wrapper" v-if="keywordObj[2] && keywordObj[2].length"> <div class="content-title"> <span>企业资质</span> </div> <div class="content"> <div class="ulM"> <div class="liM" v-for="item in keywordObj[2]" :key="item.index"> <div class="liM-tit">{{item}}</div> </div> </div> </div> </div> </div> </el-tab-pane> </el-tabs> </div> <div class="wrapper-right"> <div class="content-wrapper" v-if="compContents && compContents.length"> <div class="content-title"> <span>相关文章</span> </div> <div class="content"> <div class="ulM"> <a class="liM" v-for="item in compContents" :key="item.index" :href="'content.html?id='+item.id" target="_blank"> <div class="liM-tit">{{item.title}}</div> </a> </div> </div> </div> </div> </div> <BackTop></BackTop> </div> </template> <script> import { urlParse, defaultSet } from '@/libs/util'; import queryDict from '@/libs/queryDict'; import shareOut from '@/components/ShareOut'; import pageView from '@/components/pageView'; import baseProduct from '@/components/subTemplate/BaseProduct'; export default { data() { return { activeName: 'first', orgInfo: '', pageSize: 10, pageNo: 1, productCount: 0, total: 0, keywordObj: [], numRanger: [], compType: [], citys: [], platProducts: [], loadingModalShow: true, loadingComplete: false, isFormSearch: false, isLoading: false, ifDefault: false, compContents: '' }; }, created() { this.companyId = urlParse('id'); this.getDictoryData(); this.getorgInfo(); this.getCompanyKeyword(); this.getProductlist(); this.getCompContent(); }, computed: { platThreeProducts() { var pt = this.platProducts var str = [] if (pt.length > 3) { for (let i = 0; i < 3; ++i) { str[i] = pt[i] } } else { str = pt } return str } }, components: { shareOut, pageView, baseProduct }, methods: { 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 }) }) // 企业类型 queryDict.applyDict('XZQH', function(dictData) { dictData.map(item => { that.citys[item.code] = item.caption }) }) }, getorgInfo() { this.$axios.get('/ajax/company/qo', { id: this.companyId }, (res) => { if (res.success) { const obj = res.data if (!obj.logo) { obj.logo = defaultSet.img.org } document.title = obj.name + '-' + PLAT.info.title this.orgInfo = obj }; }); }, getCompanyKeyword() { var that = this that.$axios.get('/ajax/company/qo/keyword', { id: that.companyId }, function(res) { if (res.success && res.data) { const str = res.data var objKey = {} if (str.length > 0) { str.map(item => { if (!objKey[item.type]) { objKey[item.type] = [] objKey[item.type].push(item.value) } else { objKey[item.type].push(item.value) } }) } that.keywordObj = objKey } }) }, getProductlist() { var that = this this.$axios.get('/ajax/product/pq', { companyId: that.companyId, pageSize: that.pageSize, pageNo: that.pageNo }, function(res) { if (res.success) { const obj = res.data.data if (obj.length > 0) { that.isFormSearch = true; if (res.data.total > 0 && res.data.total < 99) { that.productCount = res.data.total; } if (res.data.total > 99) { that.productCount = '99+'; } that.total = res.data.total; that.platProducts = that.platProducts.concat(obj); if (obj.length < that.pageSize) { that.loadingModalShow = false; that.isFormSearch = false; }; } var liLen = that.platProducts.length; if (res.data.total === 0 && liLen === 0) { that.ifDefault = true; }; } }) }, searchLower() { if (this.loadingModalShow && !this.isLoading) { this.pageNo++; this.getProductlist(); } }, getCompContent() { var that = this this.$axios.get('/ajax/article/lq/with/company', { cid: this.companyId }, (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 that.$forceUpdate() }; }); })($info[i]) } that.compContents = $info; }; }; }); } } }; </script>