panhui 5 лет назад
Родитель
Сommit
f28a328b6c

+ 1 - 1
project.config.json

@@ -109,7 +109,7 @@
                     "id": -1,
                     "name": "会员详情",
                     "pathName": "pagesVendor/Detail",
-                    "query": "id=1421",
+                    "query": "id=17499",
                     "scene": null
                 },
                 {

+ 1 - 1
src/components/filter/OfflineExperience.vue

@@ -1,7 +1,7 @@
 <template>
     <div class="filterInfo filter--big">
         <div class="title">
-            <h3 class="filterInfoTitle">{{ $t('imt-zhan-ting-xian-xia-ti-yan') }}</h3>
+            <h3 class="filterInfoTitle">{{ this.$t('imt-xian-xia-zhan-ting-ti-yan') }}</h3>
         </div>
         <div class="list">
             <block v-for="(item, index) in list" :key="index">

+ 2 - 1
src/locales/zh.json

@@ -402,5 +402,6 @@
   "zhong-ying": "中/英",
   "qi-ta": "其他",
   "quan-bu-xin-wen": "全部资讯",
-  "huo-qu-ni-de-shou-ji-hao": "获取你的手机号"
+  "huo-qu-ni-de-shou-ji-hao": "获取你的手机号",
+  "imt-xian-xia-zhan-ting-ti-yan": "IMT线下展厅体验"
 }

+ 2 - 2
src/main.js

@@ -41,7 +41,7 @@ Vue.i18n.set('zh');
 
 Vue.prototype.$store = store;
 
-Vue.prototype.$toast = function (title, icon) {
+Vue.prototype.$toast = function(title, icon) {
     if (!icon) {
         icon = 'none';
     }
@@ -56,7 +56,7 @@ function $loading(title) {
         title: title || ''
     });
 }
-$loading.close = function () {
+$loading.close = function() {
     wx.hideLoading();
 };
 Vue.prototype.$loading = $loading;

+ 13 - 0
src/native/mineNode/index.js

@@ -8,8 +8,21 @@ const componentOptions = {
         htmlData: {
             type: Array,
             value: []
+        },
+        imgList: {
+            type: Array,
+            value: []
         }
     },
+    methods: {
+        showImg(e) {
+            console.log();
+            wx.previewImage({
+                current: e.target.dataset.src, // 当前显示图片的http链接
+                urls: this.properties.imgList.length > 0 ? this.properties.imgList : [e.target.dataset.src] // 需要预览的图片http链接列表
+            });
+        }
+    }
 };
 
 Component(componentOptions);

+ 5 - 6
src/native/mineNode/index.wxml

@@ -6,7 +6,7 @@
     </view>
 </template>
 <template name="octoParseImg">
-    <image data-tag="{{item.tag}}" data-class="{{item.classStr}}" data-id="{{item.attr.id}}" class="{{item.classStr}} octoParse-{{item.tag}}" data-from="{{item.from}}" data-src="{{item.attr.src}}" data-idx="{{item.imgIndex}}" src="{{item.attr.src}}" mode="widthFix" style="{{item.styleStr}}" />
+    <image data-tag="{{item.tag}}" data-class="{{item.classStr}}" data-id="{{item.attr.id}}" class="{{item.classStr}} octoParse-{{item.tag}}" bindtap="showImg" data-from="{{item.from}}" data-src="{{item.attr.src}}" data-idx="{{item.imgIndex}}" src="{{item.attr.src}}" mode="widthFix" style="{{item.styleStr}}" />
 </template>
 <template name="WxTextView">
     <view class="WxTextView octoParse-inline" style="{{item.styleStr}}">{{item.text}}</view>
@@ -772,7 +772,7 @@
         <block wx:if="{{item.tag == 'button'}}">
             <button type="default" size="mini">
                 <block wx:for="{{item.nodes}}" wx:for-item="item" wx:key="index">
-                    <template  is="octoParse12" data="{{item}}" />
+                    <template is="octoParse12" data="{{item}}" />
                 </block>
             </button>
         </block>
@@ -785,7 +785,7 @@
                     </view>
                     <view class="{{item.classStr}} octoParse-li-text">
                         <block wx:for="{{item.nodes}}" wx:for-item="item" wx:key="index">
-                            <template  is="octoParse12" data="{{item}}" />
+                            <template is="octoParse12" data="{{item}}" />
                         </block>
                     </view>
                 </view>
@@ -814,14 +814,14 @@
         <block wx:elif="{{item.tagType == 'block'}}">
             <view data-tag="{{item.tag}}" data-class="{{item.classStr}}" data-id="{{item.attr.id}}" class="{{item.classStr}} octoParse-{{item.tag}}" style="{{item.styleStr}}">
                 <block wx:for="{{item.nodes}}" wx:for-item="item" wx:key="index">
-                    <template  is="octoParse12" data="{{item}}" />
+                    <template is="octoParse12" data="{{item}}" />
                 </block>
             </view>
         </block>
         <!-- 内联标签 -->
         <view data-tag="{{item.tag}}" data-class="{{item.classStr}}" data-id="{{item.attr.id}}" wx:else class="{{item.classStr}} octoParse-{{item.tag}} octoParse-{{item.tagType}}" style="{{item.styleStr}}">
             <block wx:for="{{item.nodes}}" wx:for-item="item" wx:key="index">
-                <template  is="octoParse12" data="{{item}}" />
+                <template is="octoParse12" data="{{item}}" />
             </block>
         </view>
     </block>
@@ -897,7 +897,6 @@
         <template is="WxTextView" data="{{item}}" />
     </block>
 </template>
-
 <template name="octoParse13">
     <!-- <template  is="octoParse12" data="{{item}}" /> -->
     <!-- 判断是否是标签节点 -->

+ 7 - 0
src/pagesChat/ChatDetail.vue

@@ -287,6 +287,13 @@ export default {
                 )
                 .then(res => {
                     this.getDetail();
+                    if (this.type === 'admin') {
+                        setTimeout(() => {
+                            adminAutoReply(this.$store.state.userInfo.id).then(res => {
+                                this.getDetail();
+                            });
+                        }, 1000);
+                    }
                 })
                 .catch(e => {
                     this.toast(e.error);

+ 3 - 2
src/pagesHome/FilterPage.vue

@@ -18,7 +18,7 @@
         <product-tags v-model="tagIds" v-if="pageType === 'product'"></product-tags>
         <enterprise-type v-model="enterpriseType" v-if="pageType === 'vendor'"></enterprise-type>
         <application v-model="applicationField"></application>
-        <!-- <offline-experience v-model="offlineExperience" v-if="pageType === 'product'"></offline-experience> -->
+        <offline-experience v-model="offlineExperience" v-if="pageType === 'product'"></offline-experience>
 
         <fixed-button btnList>
             <van-button type="default" block @click="restart">{{ $t('zhong-zhi') }}</van-button>
@@ -100,7 +100,8 @@ export default {
         EnterpriseType,
         ProductBrand,
         ProductCustomCateIdFilter,
-        FixedButton
+        FixedButton,
+        OfflineExperience
     },
     methods: {
         restart() {

+ 20 - 20
src/pagesMine/Enter.vue

@@ -91,38 +91,38 @@ export default {
                             tips: [
                                 {
                                     text1: {
-                                        chName: '查看类别:',
-                                        enName: 'Areas: '
+                                        chName: '查看企业:',
+                                        enName: 'Check:'
                                     },
                                     text2: {
-                                        chName: '企业生产或经营的产品包含于IMT平台产品类别范围内',
+                                        chName: '平台是否已经存在本企业,进行企业认领',
                                         enName:
-                                            " Products/Services shall be included in the scope of IMT Tech member's area. Click for detail."
+                                            'Already an IMT Tech member? Contact your colleague to maintain Online Showroom together!'
                                     }
                                 },
                                 {
                                     text1: {
-                                        chName: '查看企业:',
-                                        enName: 'Check:'
+                                        chName: '查看类别:',
+                                        enName: 'Areas: '
                                     },
                                     text2: {
-                                        chName: '平台是否已经存在本企业,进行企业认领',
+                                        chName: '企业生产或经营的产品包含于IMT平台产品类别范围内',
                                         enName:
-                                            'Already an IMT Tech member? Contact your colleague to maintain Online Showroom together!'
+                                            " Products/Services shall be included in the scope of IMT Tech member's area. Click for detail."
                                     }
                                 }
                             ]
                         },
                         {
                             text: {
-                                chName: '填写账号/企业信息进行注册',
-                                enName: 'Create company profile for registration'
+                                chName: '确认在线服务协议',
+                                enName: 'Confirm and agree with the Membership Agreement'
                             }
                         },
                         {
                             text: {
-                                chName: '确认在线服务协议',
-                                enName: 'Confirm and agree with the Membership Agreement'
+                                chName: '填写账号/企业信息进行注册',
+                                enName: 'Create company profile for registration'
                             }
                         }
                     ]
@@ -180,24 +180,24 @@ export default {
             tips: [
                 {
                     text1: {
-                        chName: '查看类别:',
-                        enName: 'Areas: '
+                        chName: '查看企业:',
+                        enName: 'Check:'
                     },
                     text2: {
-                        chName: '企业生产或经营的产品包含于IMT平台产品类别范围内',
+                        chName: '平台是否已经存在本企业,进行企业认领',
                         enName:
-                            " Products/Services shall be included in the scope of IMT Tech member's area. Click for detail."
+                            'Already an IMT Tech member? Contact your colleague to maintain Online Showroom together!'
                     }
                 },
                 {
                     text1: {
-                        chName: '查看企业:',
-                        enName: 'Check:'
+                        chName: '查看类别:',
+                        enName: 'Areas: '
                     },
                     text2: {
-                        chName: '平台是否已经存在本企业,进行企业认领',
+                        chName: '企业生产或经营的产品包含于IMT平台产品类别范围内',
                         enName:
-                            'Already an IMT Tech member? Contact your colleague to maintain Online Showroom together!'
+                            " Products/Services shall be included in the scope of IMT Tech member's area. Click for detail."
                     }
                 }
             ]

+ 8 - 7
src/pagesNews/Detail.vue

@@ -48,7 +48,7 @@
 
             <div class="detail">
                 <h2>{{ isActivity ? $t('huo-dong') : $t('xin-wen') }}{{ $t('xiang-qing') }}</h2>
-                <mine-node :htmlData="detail"></mine-node>
+                <mine-node :htmlData="detail" :imgList="imgList"></mine-node>
                 <!-- <div class="html" v-html="detail"></div> -->
             </div>
         </div>
@@ -87,7 +87,8 @@ export default {
             info: {},
             activityId: 0,
             detailImgList: [],
-            detail: []
+            detail: [],
+            imgList: []
         };
     },
     computed: {
@@ -118,10 +119,11 @@ export default {
         this.informationId = options.id;
         this.$http.get('/information/get/' + options.id).then(res => {
             this.info = res;
+            this.imgList = [];
+            let _this = this;
             let options = {
                 visitors: {
                     img(node) {
-                        console.log(node);
                         if (node.classStr === 'blockImg') {
                             node.styleStr = 'display:block;width:100%;height:auto';
                         } else {
@@ -129,13 +131,12 @@ export default {
                                 node.attr.width
                             }px;${node.attr.style.join(';')}`;
                         }
-                        node.bindTap = () => {
-                            console.log(node.src);
-                        };
+
+                        _this.imgList.push(node.attr.src);
                     }
                 }
             };
-            this.getImgList(res.content);
+            // this.getImgList(res.content);
             this.detail = octoparse.htmlParse(res.content, options);
         });
     },

+ 1 - 1
src/pagesProduct/Contrast.vue

@@ -48,7 +48,7 @@
         >
             <div class="empty-button">
                 <van-button :color="$colors.warn" :radius="4" block @click="navigateTo('/pagesProduct/FilterVendor')">
-                    添加产品
+                    {{ $t('tian-jia-chan-pin') }}
                 </van-button>
             </div>
         </van-empty>

+ 10 - 2
src/pagesProduct/ContrastDetail.vue

@@ -5,7 +5,7 @@
 }
 </config>
 <template>
-    <scroll-view style="height: 100vh;" :scroll-y="!showPopup" enable-flex @scroll="scroll">
+    <scroll-view style="height: 100vh" :scroll-y="!showPopup" enable-flex @scroll="scroll">
         <div class="content" v-if="!loading">
             <div class="top tr" :class="{ fixedTop: fixedTop }">
                 <div class="left td" :class="{ fixedLeft: fixedLeft }">产品</div>
@@ -25,6 +25,14 @@
                     <van-image :src="getList(item.img)" :width="60" :height="60" fit="cover" />
                 </div>
             </div>
+            <div class="tr">
+                <div class="left td" :class="{ fixedLeft: fixedLeft }">
+                    {{ $t('jian-jie') }}
+                </div>
+                <div class="td pro" v-for="(item, index) in showContrastList" :key="index">
+                    {{ item.introduction }}
+                </div>
+            </div>
             <div class="tr">
                 <div class="left td" :class="{ fixedLeft: fixedLeft }">
                     {{ $t('chan-pin-pin-pai') }}
@@ -100,7 +108,7 @@
 
         <van-popup :show="showPopup" round position="bottom" custom-style="height: 656rpx" @close="showPopup = false">
             <div class="title">{{ $t('xuan-ze-shang-pin') }}</div>
-            <scroll-view scroll-y style="height: 576rpx;">
+            <scroll-view scroll-y style="height: 576rpx">
                 <div class="product-list">
                     <product-row
                         :checked="[...chooseIds].includes(item.id)"

+ 10 - 7
src/pagesProduct/Detail.vue

@@ -113,7 +113,7 @@
                     :offset-top="barHeight"
                 >
                     <van-tab :title="$t('tu-wen-xiang-qing')" name="detail">
-                        <div class="detail-content first">
+                        <div class="detail-content first" @click.stop="">
                             <div class="imgList-btn" v-if="showBtn && detailImgList.length > 0" @click="showImgs">
                                 <van-image
                                     :width="20"
@@ -127,17 +127,17 @@
                             <van-divider />
                             <!-- <rich-text v-if="detailImg" :nodes="detailImg"></rich-text> -->
                             <div class="detailhtml">
-                                <mine-node :htmlData="detail"></mine-node>
+                                <mine-node :htmlData="detail" :imgList="imgList"></mine-node>
                             </div>
                         </div>
                     </van-tab>
                     <van-tab :title="$t('xiang-xi-can-shu')" name="list">
-                        <div class="detail-content">
+                        <div class="detail-content" @click.stop="">
                             <parameter :productId="productId"></parameter>
                         </div>
                     </van-tab>
                     <van-tab :title="$t('pdf-zi-liao')" name="pdf" v-if="pdf.length > 0">
-                        <div class="detail-content">
+                        <div class="detail-content" @click.stop="">
                             <van-empty
                                 class="pdf"
                                 image="http://imttech.oss-cn-hangzhou.aliyuncs.com/micro/kong_img_pdf.png"
@@ -215,7 +215,8 @@ export default {
             detailImgList: [],
             showBtn: false,
             screenHeight: 300,
-            detail: []
+            detail: [],
+            imgList: []
         };
     },
     mixins: [collection],
@@ -303,11 +304,12 @@ export default {
                 .then(res => {
                     // res.detailImg = new String(res.detailImg.getBytes('ISO-8859-1'), 'UTF-8');
                     this.productInfo = res;
-                    this.getImgList(res.detailImg);
+                    // this.getImgList(res.detailImg);
+                    this.imgList = [];
+                    let _this = this;
                     let options = {
                         visitors: {
                             img(node) {
-                                console.log(node);
                                 if (node.classStr === 'blockImg') {
                                     node.styleStr = 'display:block;width:100%;height:auto';
                                 } else {
@@ -315,6 +317,7 @@ export default {
                                         node.attr.width
                                     }px;${node.attr.style.join(';')}`;
                                 }
+                                _this.imgList.push(node.attr.src);
                             },
                             video(node) {
                                 console.log(node);

+ 13 - 7
src/pagesProduct/FilterVendor.vue

@@ -107,13 +107,19 @@ export default {
                         : '/vendorInfo/allList'
                 )
                 .then(res => {
-                    this.list = res.map(item => {
-                        return {
-                            ...item,
-                            name: this.getName(item, ['chCompanyName', 'enCompanyName']),
-                            first: cnchar.spell(this.getName(item, ['chCompanyName', 'enCompanyName'], 'first', 'up'))
-                        };
-                    });
+                    this.list = res
+                        .filter(item => {
+                            return item.status === 'PASS';
+                        })
+                        .map(item => {
+                            return {
+                                ...item,
+                                name: this.getName(item, ['chCompanyName', 'enCompanyName']),
+                                first: cnchar.spell(
+                                    this.getName(item, ['chCompanyName', 'enCompanyName'], 'first', 'up')
+                                )
+                            };
+                        });
                     console.log(this.list);
                 });
         }

+ 23 - 2
src/pagesVendor/Case.vue

@@ -20,7 +20,7 @@
             <div class="detail">
                 <h2>{{ $t('an-li-xiang-qing') }}</h2>
 
-                <div class="html" v-html="info.content"></div>
+                <mine-node :htmlData="detail" :imgList="imgList"></mine-node>
             </div>
         </div>
     </div>
@@ -28,12 +28,15 @@
 <script>
 import Banner from '../components/Banner.vue';
 import CustomBar from '../components/bar/CustomBar.vue';
+import octoparse from 'octoparse';
 export default {
     data() {
         return {
             informationId: 0,
             info: {},
-            activityId: 0
+            activityId: 0,
+            detail: [],
+            imgList: []
         };
     },
     computed: {
@@ -64,6 +67,24 @@ export default {
         this.informationId = options.id;
         this.$http.get('/successCase/get/' + options.id).then(res => {
             this.info = res;
+            this.imgList = [];
+            let _this = this;
+            let options = {
+                visitors: {
+                    img(node) {
+                        if (node.classStr === 'blockImg') {
+                            node.styleStr = 'display:block;width:100%;height:auto';
+                        } else {
+                            node.styleStr = `width:${node.attr.width}px;height:${
+                                node.attr.width
+                            }px;${node.attr.style.join(';')}`;
+                        }
+                        _this.imgList.push(node.attr.src);
+                    }
+                }
+            };
+
+            this.detail = octoparse.htmlParse(res.content, options);
         });
     },
     onShow() {},

+ 5 - 1
src/pagesVendor/Connect.vue

@@ -16,7 +16,11 @@
             ></product-row>
         </div>
         <div class="add-btn" v-if="!productId">
-            <van-button block round @click="navigateTo('/pagesVendor/FilterProduct?vendorId=' + vendorId)">
+            <van-button
+                block
+                round
+                @click="navigateTo('/pagesVendor/FilterProduct?vendorId=' + vendorId + '&vendorName=' + vendorName)"
+            >
                 <div class="add">
                     <van-icon :size="20" color="#565B66" name="plus" />
                     {{ $t('tian-jia') }}

+ 6 - 0
src/pagesVendor/FilterProduct.vue

@@ -37,6 +37,12 @@ export default {
         });
         this.vendorId = options.vendorId;
         this.getList();
+
+        if (options.vendorName) {
+            wx.setNavigationBarTitle({
+                title: options.vendorName
+            });
+        }
     },
     computed: {
         ...mapState(['chooseList']),