123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289 |
- <template>
- <view class="rf-category">
- <view class="icoStyle">
- <view class="leftArrow" @tap="back" color="#fff" size="40">
- <u-icon name="arrow-left" color="#fff" size="40" style="margin-right: 10upx;"></u-icon>
- </view>
- <rf-search-bar
- @search="navToSearch"
- icon="iconkuaijiecaidan"
- :title= " $t('common.return')"
- :placeholder = "$i18n.locale == 'zh'? '请输入关键字': 'Please input keywords'" />
- </view>
- <view class="tabsBox">
- <view class="tabs">
- <view class="tab-lines"></view>
- <u-tabs-swiper ref="uTabs" :list="realTimeInfoScreens" :current="current" bar-width="120"
- @change="tabsChange" :is-scroll="false" swiperWidth="750">
- </u-tabs-swiper>
- </view>
- <swiper class="swiper-tab" :current="swiperCurrent" @transition="transition" @animationfinish="animationfinish">
- <!-- 会员介绍 -->
- <swiper-item class="swiper-item">
- <scroll-view scroll-y style="width: 100%;height: 100%;">
- <member-introduction></member-introduction>
- </scroll-view>
- </swiper-item>
- <!-- 联盟介绍 -->
- <swiper-item class="swiper-item">
- <scroll-view scroll-y style="width: 100%;height: 100%;">
- <league-introduction @league-event="leagueEvent"></league-introduction>
- </scroll-view>
- </swiper-item>
- <!-- 合作单位介绍 -->
- <swiper-item class="swiper-item">
- <scroll-view scroll-y style="width: 100%;height: 100%;">
- <unit-introduction @popup-event="parentEvent"></unit-introduction>
- </scroll-view>
- </swiper-item>
- <!-- 定制服务 -->
- <swiper-item class="swiper-item">
- <scroll-view scroll-y style="width: 100%;height: 100%;">
- <custom-service></custom-service>
- </scroll-view>
- </swiper-item>
- </swiper>
- </view>
-
- <!-- 详情 -->
- <u-popup v-model="detailShow" mode="bottom" height="60%">
- <view class="popupView">
- <view class="pop-title">
- <text class="title-name">{{$i18n.locale=='zh'?this.member.unitZhName:this.member.unitEnName}}</text>
- <text class="title-bq" v-if="$i18n.locale=='zh'&&initData.industry">{{initData.industry}}</text>
- <text class="title-bq" v-if="$i18n.locale=='en'&&initData.industryDict">{{TagEn[parseInt(initData.industryDict)]}}</text>
- </view>
- <view class="pop-name">
- <text class="bold">{{$t('common.place')}}:</text>
- <text>{{countryDictsMap[initData.unitCountryDict]}}{{initData.unitRegion?'-'+initData.unitRegion:''}}</text>
- </view>
- <view class="pop-name">
- <text class="bold">{{$t('common.DateOfEstablishment')}}:</text>
- <text>{{initData.setUpDate?initData.setUpDate:''}}</text>
- </view>
- <view class="pop-name">
- <text class="bold">{{$t('common.LegalRepresentative')}}:</text>
- <text>{{initData.corporateName?initData.corporateName:''}}</text>
- </view>
- <view class="pop-name">
- <text class="bold">{{$t('common.OfficialWebsite')}}:</text>
- <text>{{initData.officialWebsitePath?initData.officialWebsitePath:''}}</text>
- </view>
- <view class="pop-name">
- <text class="bold">{{$t('common.intro')}}:</text>
- <text>{{initData.projectPerformance}}</text>
- </view>
- </view>
- </u-popup>
- </view>
- </template>
- <script>
- import rfSearchBar from '@/components/rf-search-bar';
- import memberIntroduction from './components/memberIntroduction.vue';
- import leagueIntroduction from './components/leagueIntroduction.vue';
- import unitIntroduction from './components/unitIntroduction.vue';
- import customService from './components/customService.vue';
- export default {
- components: {
- rfSearchBar,
- memberIntroduction,
- leagueIntroduction,
- unitIntroduction,
- customService
- },
- data(){
- return {
- detailShow: false,
- realTimeInfoScreens:[{
- name: this.$i18n.locale ==='zh'? "会员介绍" : "Member",
- value: 'member'
- },{
- name: this.$i18n.locale ==='zh'? "联盟介绍" : "Alliance",
- value: 'union'
- },{
- name: this.$i18n.locale ==='zh'? "合作单位介绍" : "Partners",
- value: 'cooperation'
- },{
- name: this.$i18n.locale ==='zh'? "定制服务" : "Customized Service",
- value: 'custom'
- }],
- current: 0,
- swiperCurrent: 0,
- TagEn:['Individual Member','Groups','Scientific Institutions','Colleges And Universities','Energy Companies','Equipement Manufactures','Project Contractors','Financial Institutions','Consultation Enterprises','Rigidity Of Enterprise','Media','Logistics Transportation','Others'],
- member: [],
- initData: {},
- countryDicts: [],
- countryDictsMap: {},
- }
- },
- onLoad(options){
- this.current= options.id?options.id:0;
- this.swiperCurrent= options.id?options.id:0;
- this.getCountry();
- },
- methods: {
- back() {
- uni.navigateBack();
- },
- leagueEvent(data) { //联盟介绍弹框
- this.getMemberUnitFlag(data.unitId);
- this.member = data;
- this.getMemberUnit(data.unitId);
- },
- parentEvent(data) { //合作单位介绍弹框
- this.detailShow = true;
- this.member = data;
- this.getMemberUnit(data.unitId);
- },
- // tabs通知swiper切换
- tabsChange(index) {
- this.swiperCurrent = index;
- },
- // swiper-item左右移动,通知tabs的滑块跟随移动
- transition(e) {
- let dx = e.detail.dx;
- this.$refs.uTabs.setDx(dx);
- },
- animationfinish(e) {
- let current = e.detail.current;
- this.$refs.uTabs.setFinishCurrent(current);
- this.swiperCurrent = current;
- this.current = current;
- },
- // 通用跳转
- navToSearch() {
- this.$mRouter.push({
- route: `/pages/index/search/search?data=${JSON.stringify(this.search)}`
- });
- },
- async getCountry() {
- const res = await this.$myRequest({
- url: '/sys/sysDicts',
- data: {
- type: this.$i18n.locale=='zh'?'UNIT_COUNTRY_DICT':'unit_country_dict_en'
- }
- });
- // console.log(res.data[0]);
- this.countryDicts = res.data[0];
- for(var i = 0; i < this.countryDicts.length; i++){
- this.countryDictsMap[this.countryDicts[i].value] = this.countryDicts[i].label ? this.countryDicts[i].label : this.countryDicts[i];
- }
- },
- async getMemberUnitFlag(unitId) {
- const res = await this.$myRequest({
- url: '/project/baseUnitViews/getMemberUnitFlag',
- data: {
- baseEntityId: unitId,
- language: this.$i18n.locale.toUpperCase()
- }
- });
- if(res.data.flag) {
- this.detailShow = true;
- }else {
- this.$refs.uToast.show({
- title: this.$i18n.locale == 'zh'? '暂无数据': 'No data available',
- type: 'warning'
- });
- this.detailShow = false;
- }
- },
- async getMemberUnit(unitId) {
- const res = await this.$myRequest({
- url: '/project/baseUnitViews/getMemberUnit',
- data: {
- baseEntityId: unitId,
- language: this.$i18n.locale.toUpperCase()
- }
- });
- if(res.data) {
- this.initData = res.data.baseUnitView || [];
- this.initData.unitLabel = this.initData.unitLabel?this.initData.unitLabel.split(','):"";
- this.initData.setUpDate = this.formatDate(this.initData.setUpDate,'YYYY');
- if(this.$i18n.locale == "zh"){
- this.initData.unitCountry = res.data.baseUnitView.unitCountry;
- }else if(this.$i18n.locale == "en"){
- this.initData.unitCountry = res.data.baseUnitView.unitCountryDict;
- }
- }else {
- this.initData = [];
- }
- }
- }
- }
- </script>
- <style lang="scss" scoped>
- .rf-category {
- /* #ifdef APP-PLUS */
- padding-top: var(--status-bar-height);
- /* #endif */
- }
- .icoStyle {
- display: flex;
- .leftArrow {
- position: absolute;
- left: 4upx;
- top: calc(30upx + var(--status-bar-height));;
- z-index: 9999;
- }
- }
- .tabsBox {
- display: flex;
- flex-direction: column;
- /* #ifdef APP-PLUS */
- height: calc(100vh - var(--status-bar-height));
- /* #endif */
- /* #ifndef APP-PLUS */
- height: 100vh;
- /* #endif */
- width: 100%;
- padding-top: 168upx;
- .tabs {
- position: fixed;
- top: calc(88upx + var(--status-bar-height));
- left: 0;
- z-index: 9999;
- width: 100%;
- }
- .tab-lines {
- width: 100%;
- height: 1px;
- background-color: #E1E1E1;
- position: absolute;
- bottom: 1px;
- left: 0;
- }
- }
- .swiper-tab {
- flex: 1;
- }
- .popupView {
- padding: 20upx 30upx;
- .pop-title {
- display: flex;
- justify-content: space-between;
- .title-name {
- font-size: 34upx;
- font-weight: 700;
- color: #333333;
- }
- .title-bq {
- font-size: 30upx;
- background-color: #fef0f0;
- border: 1px solid #fde2e2;
- color: #f56c6c;
- padding: 10upx;
- border-radius: 6upx;
- }
- }
- .pop-name {
- font-size: 30upx;
- color: #333333;
- line-height: 50upx;
- .bold {
- font-weight: bold;
- }
- }
- }
- </style>
|