LAPTOP-2OQMQSSM\ASUS %!s(int64=2) %!d(string=hai) anos
pai
achega
10f4852b30
Modificáronse 5 ficheiros con 1509 adicións e 1496 borrados
  1. 22 5
      pages-my/comment.vue
  2. 5 2
      pages-my/my-publish.vue
  3. 726 730
      pages-school/circle-info.vue
  4. 750 753
      pages-takeout/shop.vue
  5. 6 6
      pages-takeout/takeout.vue

+ 22 - 5
pages-my/comment.vue

@@ -37,6 +37,10 @@
 	import {
 		messageList
 	} from "@/api/message.js"
+  import {
+    alumnInfo,
+  } from '@/api/alumni.js';
+   import tools from "@/service/tools";
 	export default {
 		components: {
 			EnBlank
@@ -46,11 +50,13 @@
 				navTitle: '',
 				listData: [],
 				page: 1,
-				total: 0
+				total: 0,
+        dataType: ''
 			};
 		},
 		onLoad(data) {
 			if (data) {
+        this.dataType = data.type
 				this.messageList(data.type)
 				if (data.type == 1) {
 					this.navTitle = '系统消息'
@@ -65,15 +71,26 @@
 		methods: {
 			toDet(item) {
 				if (item.news_id > 0) {
-					uni.navigateTo({
-						url: "/pages-school/circle-info?news_id=" + item.news_id
-					})
+          alumnInfo({
+            news_id: item.news_id
+          }).then((res) => {
+            if (res.code === 1) {
+              uni.navigateTo({
+              	url: "/pages-school/circle-info?news_id=" + item.news_id
+              })
+            } else {
+              tools.error(res.msg)
+              this.page = 1
+              this.listData = []
+              this.messageList(this.dataType);
+            }
+          })
 				}
 			},
 			scrolltolower() {
 				if (this.listData.length < this.total) {
 					this.page += 1;
-					this.messageList();
+					this.messageList(this.dataType);
 				}
 			},
 			messageList(type) {

+ 5 - 2
pages-my/my-publish.vue

@@ -13,7 +13,7 @@
 			<view class="item-box box-sizing-border b-rad-20 mb-20 bgc-f flex-justify-space"
 				v-for="(item,index) in listData" :key="index" @click="goToUrl(item)">
 				<image class="item-head-img flex-shrink0 b-rad-50 mr-16" :src="item.head_img" mode="aspectFill"></image>
-				<view class="itme-right common-view-css">
+				<view class="itme-right common-view-css box-border-box">
 					<view class="item-name flex-justify-space mb-16">
 						<view class="">
 							<view class="mb-4 fc-3 fs-28">
@@ -30,7 +30,7 @@
 							</view>
 						</view>
 					</view>
-					<view class="text-overflow-ellipsis-t fs-30 fc-3 mb-16">
+					<view class="text-overflow-ellipsis-t item-content fs-30 fc-3 mb-16">
 						{{item.content}}
 					</view>
 					<!-- 	<view class="item-img-box mb-20 align-items-center flex-wrap-wrap">
@@ -471,6 +471,9 @@
 </script>
 
 <style lang="scss" scoped>
+  .item-content{
+    max-width: 558rpx;
+  }
 	.content-box {
 		padding: 20rpx 24rpx;
 	}

+ 726 - 730
pages-school/circle-info.vue

@@ -1,170 +1,162 @@
 <template>
-	<view class="circle-info-box iPhone-bottom flex-common-css box-border-box bgc-f">
-		<view class="nav-box bgc-f">
-			<Nav :leftShow='false' :customNav='true' bgckgroundBox='transparent'>
-				<template>
-					<view slot="custom" class="display-flex ">
-						<image class="nav-img" @click="toBack()" src="@/static/img/takeout/bg-back.png"
-							mode="scaleToFill"></image>
-						<view class="info-nav display-flex">
-							<image :src="obj.head_img" mode=""></image>
-							<view class="pb-5">
-								<view class="fs-28 fw-600 w348 text-overflow-ellipsis-one">{{obj.nickname||''}}</view>
-								<view class="fs-20 fc-9 fw-400 mb-10">{{obj.created_date||''}}</view>
-							</view>
-						</view>
-					</view>
-				</template>
-			</Nav>
-		</view>
-
-		<scroll-view scroll-y="true" class="scroll-view-css" @scrolltolower="scrolltolower">
-			<view class="box-border-box mb-26" v-if="obj.image.length > 0">
-				<swiper class="swiper mb-32 " circular indicator-dots indicator-active-color="#4FB3EF" :autoplay="true"
-					:interval="3000" :duration="500">
-					<swiper-item v-for="(item,i) in obj.image" :key="i">
-						<image class="swiper-item" :src="item" mode="aspectFit" @click="lookImg(i,item)"></image>
-					</swiper-item>
-				</swiper>
-			</view>
-			<view class="box-border-box bz-box bgc-f b-b-F9F9F9 mt-24 mb-32">
-				<view class="fs-30 fw-600 mb-32">{{obj.content||''}}</view>
-				<view class="card-4 flex-wrap-wrap">
-					<view class="label-box align-items-center mr-20 b-rad-200 bgc-F2F2F2">
-						<image class="wz mr-8" src="@/static/img/my/wz-two.png" mode=""></image>
-						<view class="fs-24 fc-9">
-							{{obj.school_name||''}}
-						</view>
-					</view>
-					<view class="label-box align-items-center b-rad-200 bgc-F2F2F2">
-						<image class="wz mr-8" src="@/static/img/my/ht.png" mode=""></image>
-						<view class="fs-24 fc-9">
-							{{obj.topic_name||''}}
-						</view>
-					</view>
-				</view>
-			</view>
-			<view class="fs-32 fc-3 fw-600 mb-16 plr-32 box-border-box">
-				评论<text class="fs-24 fc-9">({{obj.remark}})</text>
-			</view>
-			<view v-if="list.length == 0" class="scroll-view-css">
-				<EnBlank :customSrc='true'>
-					<template v-slot:blankImg>
-						<image class="black-custom-img" src="@/static/img/common/no-order.png" mode=""></image>
-					</template>
-				</EnBlank>
-			</view>
-			<view v-else class="pop-box pop-msg box-border-box p-24">
-				<view class=" box-border-box plr-24">
-					<view class="list-box flex-justify-space" v-for="(item,i) in list" :key="i">
-						<image class="list-box-img" :src="item.head_img" mode="scaleToFill"></image>
-						<view class="flex-1 p-b-20">
-							<view class=" flex-justify-space">
-								<view class=" b-b-F9F9F9 mr-20">
-									<view class="fs-28 fw-400 fc-9 mb-8 align-items-center">
-										{{item.nickname}}
-										<span v-if="item.is_author == 1"
-											class='only-box text-align-center fs-24 fc-41ABF5 ml-10'>作者</span>
-
-									</view>
-									<view class="fs-30 fw-400 mb-8" @click.stop="openInput(1,item,i,i)">
-										{{item.content}}
-									</view>
-									<view class="align-items-center mb-8">
-										<view class="fs-24 fw-400 fc-9">{{item.created_date}}</view>
-										<uni-icons class="ml-10" v-if="item.is_self == 1"
-											@click="delInfo(item, i, 1, i)" type="trash" size="18"
-											color="#BFBFBF"></uni-icons>
-									</view>
-								</view>
-								<view class="display-flex" @click.stop="handUp(2,item)">
-									<uni-icons type="hand-up" size="20"
-										:color="item.is_like==1?'#FD5C02':'#999'"></uni-icons>
-									<view class="fs-24 fw-400 mt-5" :class="item.is_like==1?'fc-FD5C02':'fc-9'">
-										{{item.like}}
-									</view>
-								</view>
-							</view>
-							<view v-if="item.isOpen" class="fs-24 fc-6 text-align-center mb-12"
-								@click="openReply(1,item)">展开更多评论</view>
-							<!-- 回复 -->
-							<view class="mb-16" v-if="item.count > 0">
-								<view class="list-box flex-justify-space" v-for="(info,index) in item.replyList"
-									:key="index">
-									<image class="list-box-img" src="@/static/img/my/bg.png" mode="scaleToFill"></image>
-									<view class="flex-1">
-										<view class=" flex-justify-space">
-											<view class=" b-b-F9F9F9 mr-20">
-												<view class="fs-28 fw-400 fc-9 mb-8 align-items-center">
-													<view class="">
-														{{info.nickname}}
-													</view>
-													<span v-if="info.is_author == 1"
-														class='only-box text-align-center fs-24 fc-41ABF5 ml-10'>作者</span>
-												</view>
-												<view class="fs-30 fw-400 mb-8" @click.stop="openInput(2,info,index,i)">
-													{{info.content}}
-												</view>
-												<view class="align-items-center mb-8">
-													<view class="fs-24 fw-400 fc-9 ">{{info.created_date}}</view>
-													<uni-icons type="trash" size="18" class="ml-10"
-														v-if="info.is_self == 1" @click="delInfo(info, index, 2 ,i)"
-														color="#BFBFBF"></uni-icons>
-												</view>
-											</view>
-											<view class="display-flex" @click.stop="handUp(2,info)">
-												<uni-icons type="hand-up" size="20"
-													:color="info.is_like==1?'#FD5C02':'#999'"></uni-icons>
-												<view class="fs-24 fw-400 mt-5"
-													:class="info.is_like==1?'fc-FD5C02':'fc-9'">{{info.like}}</view>
-											</view>
-										</view>
-									</view>
-								</view>
-								<view v-if="item.replyList.length < item.count  && item.count > 10"
-									class="fs-24 fc-6 text-align-center mb-12" @click="openReply(2,item)">展开更多评论</view>
-							</view>
-
-						</view>
-					</view>
-				</view>
-			</view>
-
-		</scroll-view>
-
-		<view class="card-5 align-items-center flex-justify-space box-border-box boder-b-t">
-			<view class="input-box-box fs-28 fc-9 mr-20" @click.stop="openInput(0,'','','')">友善评论,文明发言</view>
-			<!-- 			<input class="fs-input" :focus='focus' v-model="msgData.content" @click.stop="openInput(0,'','','')"
+  <view class="circle-info-box iPhone-bottom flex-common-css box-border-box bgc-f">
+    <view class="nav-box bgc-f">
+      <Nav :leftShow='false' :customNav='true' bgckgroundBox='transparent'>
+        <template>
+          <view slot="custom" class="display-flex ">
+            <image class="nav-img" @click="toBack()" src="@/static/img/takeout/bg-back.png" mode="scaleToFill"></image>
+            <view class="info-nav display-flex">
+              <image :src="obj.head_img" mode=""></image>
+              <view class="pb-5">
+                <view class="fs-28 fw-600 w348 text-overflow-ellipsis-one">{{obj.nickname||''}}</view>
+                <view class="fs-20 fc-9 fw-400 mb-10">{{obj.created_date||''}}</view>
+              </view>
+            </view>
+          </view>
+        </template>
+      </Nav>
+    </view>
+
+    <scroll-view scroll-y="true" class="scroll-view-css" @scrolltolower="scrolltolower">
+      <view class="box-border-box mb-26" v-if="obj.image.length > 0">
+        <swiper class="swiper mb-32 " circular indicator-dots indicator-active-color="#4FB3EF" :autoplay="true"
+          :interval="3000" :duration="500">
+          <swiper-item v-for="(item,i) in obj.image" :key="i">
+            <image class="swiper-item" :src="item" mode="aspectFit" @click="lookImg(i,item)"></image>
+          </swiper-item>
+        </swiper>
+      </view>
+      <view class="box-border-box bz-box bgc-f b-b-F9F9F9 mt-24 mb-32">
+        <view class="fs-30 fw-600 mb-32 item-content">{{obj.content||''}}</view>
+        <view class="card-4 flex-wrap-wrap">
+          <view class="label-box align-items-center mr-20 b-rad-200 bgc-F2F2F2">
+            <image class="wz mr-8" src="@/static/img/my/wz-two.png" mode=""></image>
+            <view class="fs-24 fc-9">
+              {{obj.school_name||''}}
+            </view>
+          </view>
+          <view class="label-box align-items-center b-rad-200 bgc-F2F2F2">
+            <image class="wz mr-8" src="@/static/img/my/ht.png" mode=""></image>
+            <view class="fs-24 fc-9">
+              {{obj.topic_name||''}}
+            </view>
+          </view>
+        </view>
+      </view>
+      <view class="fs-32 fc-3 fw-600 mb-16 plr-32 box-border-box">
+        评论<text class="fs-24 fc-9">({{obj.remark}})</text>
+      </view>
+      <view v-if="list.length == 0" class="scroll-view-css">
+        <EnBlank :customSrc='true'>
+          <template v-slot:blankImg>
+            <image class="black-custom-img" src="@/static/img/common/no-order.png" mode=""></image>
+          </template>
+        </EnBlank>
+      </view>
+      <view v-else class="pop-box pop-msg box-border-box p-24">
+        <view class=" box-border-box plr-24">
+          <view class="list-box flex-justify-space" v-for="(item,i) in list" :key="i">
+            <image class="list-box-img" :src="item.head_img" mode="scaleToFill"></image>
+            <view class="flex-1 p-b-20">
+              <view class=" flex-justify-space">
+                <view class=" b-b-F9F9F9 mr-20">
+                  <view class="fs-28 fw-400 fc-9 mb-8 align-items-center">
+                    {{item.nickname}}
+                    <span v-if="item.is_author == 1" class='only-box text-align-center fs-24 fc-41ABF5 ml-10'>作者</span>
+
+                  </view>
+                  <view class="fs-30 fw-400 mb-8" @click.stop="openInput(1,item,i,i)">
+                    {{item.content}}
+                  </view>
+                  <view class="align-items-center mb-8">
+                    <view class="fs-24 fw-400 fc-9">{{item.created_date}}</view>
+                    <uni-icons class="ml-10" v-if="item.is_self == 1" @click="delInfo(item, i, 1, i)" type="trash"
+                      size="18" color="#BFBFBF"></uni-icons>
+                  </view>
+                </view>
+                <view class="display-flex" @click.stop="handUp(2,item)">
+                  <uni-icons type="hand-up" size="20" :color="item.is_like==1?'#FD5C02':'#999'"></uni-icons>
+                  <view class="fs-24 fw-400 mt-5" :class="item.is_like==1?'fc-FD5C02':'fc-9'">
+                    {{item.like}}
+                  </view>
+                </view>
+              </view>
+              <view v-if="item.isOpen" class="fs-24 fc-6 text-align-center mb-12" @click="openReply(1,item)">展开更多评论
+              </view>
+              <!-- 回复 -->
+              <view class="mb-16" v-if="item.count > 0">
+                <view class="list-box flex-justify-space" v-for="(info,index) in item.replyList" :key="index">
+                  <image class="list-box-img" src="@/static/img/my/bg.png" mode="scaleToFill"></image>
+                  <view class="flex-1">
+                    <view class=" flex-justify-space">
+                      <view class=" b-b-F9F9F9 mr-20">
+                        <view class="fs-28 fw-400 fc-9 mb-8 align-items-center">
+                          <view class="">
+                            {{info.nickname}}
+                          </view>
+                          <span v-if="info.is_author == 1"
+                            class='only-box text-align-center fs-24 fc-41ABF5 ml-10'>作者</span>
+                        </view>
+                        <view class="fs-30 fw-400 mb-8" @click.stop="openInput(2,info,index,i)">
+                          {{info.content}}
+                        </view>
+                        <view class="align-items-center mb-8">
+                          <view class="fs-24 fw-400 fc-9 ">{{info.created_date}}</view>
+                          <uni-icons type="trash" size="18" class="ml-10" v-if="info.is_self == 1"
+                            @click="delInfo(info, index, 2 ,i)" color="#BFBFBF"></uni-icons>
+                        </view>
+                      </view>
+                      <view class="display-flex" @click.stop="handUp(2,info)">
+                        <uni-icons type="hand-up" size="20" :color="info.is_like==1?'#FD5C02':'#999'"></uni-icons>
+                        <view class="fs-24 fw-400 mt-5" :class="info.is_like==1?'fc-FD5C02':'fc-9'">{{info.like}}</view>
+                      </view>
+                    </view>
+                  </view>
+                </view>
+                <view v-if="item.replyList.length < item.count  && item.count > 10"
+                  class="fs-24 fc-6 text-align-center mb-12" @click="openReply(2,item)">展开更多评论</view>
+              </view>
+
+            </view>
+          </view>
+        </view>
+      </view>
+
+    </scroll-view>
+
+    <view class="card-5 align-items-center flex-justify-space box-border-box boder-b-t">
+      <view class="input-box-box fs-28 fc-9 mr-20" @click.stop="openInput(0,'','','')">友善评论,文明发言</view>
+      <!-- 			<input class="fs-input" :focus='focus' v-model="msgData.content" @click.stop="openInput(0,'','','')"
 				type="text" @focus='inputFocus(true)' @blur='inputFocus(false)' /> -->
-			<!-- 			<textarea class="fs-input fs-36 fc-3" :focus='focus' v-model="msgData.content"
+      <!-- 			<textarea class="fs-input fs-36 fc-3" :focus='focus' v-model="msgData.content"
 				@click.stop="openInput(0,'','','')" @focus='inputFocus(true)' @blur='inputFocus(false)' auto-height /> -->
 
-			<view class="display-flex flex-shrink0">
-				<view class="align-items-center mr-20" @click.stop="handUp(1,obj)">
-					<uni-icons type="hand-up" size="22" :color="obj.is_like==1?'#FD5C02':'#999'"></uni-icons>
-					<view :class="obj.is_like==1?'fc-FD5C02':'fc-9'">
-						点赞
-					</view>
-					<!-- <view class="fs-24 " :class="obj.is_like==1?'fc-FD5C02':'fc-9'">{{obj.like}}</view> -->
-				</view>
-				<view class="align-items-center" @click.stop="openRepot(obj)">
-					<image src="@/static/img/school/info.png" mode=""></image>
-					<view class="fs-24 fc-9">举报</view>
-				</view>
-			</view>
-			<!-- <image v-else class="wh64" @click.stop="save()" src="@/static/img/school/fs.png" mode=""></image> -->
-		</view>
-
-		<uni-popup ref="popup" type="bottom">
-			<view class="pop-input">
-				<view class="text-align-right mb-20 fs-30 fc-41ABF5" @click.stop="save()">
-					发送
-				</view>
-				<textarea class="fs-input fs-28 fc-3" :focus='focus' v-model="msgData.content" placeholder='友善评论,文明发言'
-					maxlength="100" placeholder-class='fs-28 fc-9 fw-600' @focus='inputFocus(true)'
-					@blur='inputFocus(false)' @keyboardheightchange='keyboardheightchange' />
-				<view :style="[{'height': KeyboardHeight +'px'}]"> </view>
-				<!-- 				<input class="fs-input" focus type="text" />
+      <view class="display-flex flex-shrink0">
+        <view class="align-items-center mr-20" @click.stop="handUp(1,obj)">
+          <uni-icons type="hand-up" size="22" :color="obj.is_like==1?'#FD5C02':'#999'"></uni-icons>
+          <view :class="obj.is_like==1?'fc-FD5C02':'fc-9'">
+            点赞
+          </view>
+          <!-- <view class="fs-24 " :class="obj.is_like==1?'fc-FD5C02':'fc-9'">{{obj.like}}</view> -->
+        </view>
+        <view class="align-items-center" @click.stop="openRepot(obj)">
+          <image src="@/static/img/school/info.png" mode=""></image>
+          <view class="fs-24 fc-9">举报</view>
+        </view>
+      </view>
+      <!-- <image v-else class="wh64" @click.stop="save()" src="@/static/img/school/fs.png" mode=""></image> -->
+    </view>
+
+    <uni-popup ref="popup" type="bottom">
+      <view class="pop-input">
+        <view class="text-align-right mb-20 fs-30 fc-41ABF5" @click.stop="save()">
+          发送
+        </view>
+        <textarea class="fs-input fs-28 fc-3" :focus='focus' v-model="msgData.content" placeholder='友善评论,文明发言'
+          maxlength="100" placeholder-class='fs-28 fc-9 fw-600' @focus='inputFocus(true)' @blur='inputFocus(false)'
+          @keyboardheightchange='keyboardheightchange' />
+        <view :style="[{'height': KeyboardHeight +'px'}]"> </view>
+        <!-- 				<input class="fs-input" focus type="text" />
 				<view class="head-pop flex-justify-space align-items-center mb-24 box-border-box p-24">
 					<view class="fs-28 fw-600 fc-41ABF5"></view>
 					<view class="fs-36 fc-0 fw-600">评论</view>
@@ -180,576 +172,580 @@
 				<view class="box-border-box p-24">
 					<view class="save-box" @click.stop="save()">评论</view>
 				</view> -->
-			</view>
-		</uni-popup>
-
-		<uni-popup ref="popupRepot" type="bottom">
-			<view class="pop-box pop-h-30 box-border-box p-24" :style="'bottom:'+KeyboardHeight+'px;'">
-				<view class="head-pop flex-justify-space align-items-center mb-24">
-					<uni-icons @click.stop="closePop(1)" type="closeempty" size="24"></uni-icons>
-					<view class="fs-36 fc-0 fw-600">请输入举报内容</view>
-					<view class="fs-28 fw-600 fc-41ABF5" @click.stop="closePop(2)">确定</view>
-				</view>
-				<view class="scroll-view-css">
-					<textarea style="height: 100%;" v-model="reportData.content" class=" fs-24" :maxlength='50'
-						placeholder='请输入举报内容'></textarea>
-				</view>
-				<!-- <view @click.stop="closePop(2)" class="b-bottom text-align-center fs-32 fc-3 fw-600 fc-f">确认举报</view> -->
-			</view>
-		</uni-popup>
-	</view>
+      </view>
+    </uni-popup>
+
+    <uni-popup ref="popupRepot" type="bottom">
+      <view class="pop-box pop-h-30 box-border-box p-24" :style="'bottom:'+KeyboardHeight+'px;'">
+        <view class="head-pop flex-justify-space align-items-center mb-24">
+          <uni-icons @click.stop="closePop(1)" type="closeempty" size="24"></uni-icons>
+          <view class="fs-36 fc-0 fw-600">请输入举报内容</view>
+          <view class="fs-28 fw-600 fc-41ABF5" @click.stop="closePop(2)">确定</view>
+        </view>
+        <view class="scroll-view-css">
+          <textarea style="height: 100%;" v-model="reportData.content" class=" fs-24" :maxlength='50'
+            placeholder='请输入举报内容'></textarea>
+        </view>
+        <!-- <view @click.stop="closePop(2)" class="b-bottom text-align-center fs-32 fc-3 fw-600 fc-f">确认举报</view> -->
+      </view>
+    </uni-popup>
+  </view>
 </template>
 
 <script>
-	import EnBlank from "@/components/en-utils/en-blank/en-blank";
-	import {
-		alumnInfo,
-		getRemarkList,
-		setAlumniLike,
-		delRemark,
-		setCreateRemark,
-		setRemarkLike,
-		alumniReport
-	} from '@/api/alumni.js';
-	import tools from "@/service/tools";
-	export default {
-		components: {
-			EnBlank
-		},
-		data() {
-			return {
-				isAJAX: false,
-				news_id: '',
-				obj: {
-					image: [],
-				},
-				list: [],
-				page: 1,
-				total: 0,
-
-				// 发起评论
-				msgData: {
-					news_id: '',
-					remark_id: '',
-					content: '',
-					reply_id: '',
-				},
-				// 回复评论
-				replyData: {
-					page: 1,
-				},
-				// 举报
-				reportData: {
-					news_id: '',
-					content: '',
-				},
-				focus: false,
-				msgType: 0, // 消息类型
-				msgIndex: 0, // 列表一级索引
-				msgI: 0,
-				KeyboardHeight: 0, // 键盘高度
-				// showKeyNum: 0, //键盘打开的次数
-				remark: ''
-			}
-		},
-		onLoad(e) {
-			this.news_id = e.news_id;
-			this.msgData.news_id = e.news_id;
-			this.getInfo();
-			this.getList();
-			uni.onKeyboardHeightChange(res => {
-				console.log('log', res);
-				this.KeyboardHeight = res.height
-			})
-		},
-		onUnload() {
-			const circleDataUp = {}
-			alumnInfo({
-				news_id: this.news_id
-			}).then((res) => {
-				if (res.code === 1) {
-					circleDataUp.news_id = res.data.news_id
-					circleDataUp.like = res.data.like
-					circleDataUp.remark = res.data.remark
-					circleDataUp.heat = res.data.heat
-					uni.$emit('circleDataUp',circleDataUp)
-				}
-			})
-			// const circleDataUp = {
-			// 	news_id: this.obj.news_id,
-			// 	like: this.obj.like,
-			// 	remark: list.length,
-			// 	heat: this.obj.heat
-			// }
-			console.log("监听页面卸载");
-		},
-		methods: {
-			// keyboardheightchange(e) {
-			// 	this.keyboardHeight = e.detail.height;
-			// 	console.log(this.keyboardHeight, '1111111111');
-			// 	this.showKeyNum++;
-			// 	setTimeout(() => {
-			// 		uni.pageScrollTo({
-			// 			scrollTop: 2000
-			// 		});
-			// 	}, 200)
-			// },
-			// hideBorad() {
-			// 	this.showKeyNum = 2;
-			// 	this.keyboardHeight = 0;
-			// },
-			inputFocus(type) {
-				if (!type) {
-					this.focus = false
-					// this.hideBorad()
-				}
-				this.$forceUpdate()
-			},
-			lookImg(i, item) {
-				tools.lookBigImg(i, item)
-			},
-			toBack() {
-				tools.leftClick()
-			},
-			getInfo() {
-				alumnInfo({
-					news_id: this.news_id
-				}).then((res) => {
-					if (res.code === 1) {
-						this.obj = res.data;
-					} else {
-						tools.error(res.msg)
-						setTimeout(() => {
-							uni.navigateBack({
-								delta: 1
-							})
-						}, 1500)
-					}
-				})
-			},
-			scrolltolower() {
-				if (this.list.length < this.total) {
-					this.page += 1;
-					this.getList();
-				}
-			},
-			getList() {
-				getRemarkList({
-					news_id: this.news_id,
-					remark_id: 0,
-					page: this.page
-				}).then((res) => {
-					if (res.code === 1) {
-						this.list = [...this.list, ...res.data.items];
-						this.total = res.data.total;
-						this.list.forEach((v) => {
-							v.replyList = [];
-							if (v.count > 0) {
-								v.isOpen = true;
-							}
-						})
-					}
-				})
-			},
-			// 获取回复列表
-			openReply(type, item) {
-				// type 1获取其他 2加载更多
-				if (this.isAJAX) {
-					return
-				}
-				this.isAJAX = true;
-				if (type == 1) {
-					item.replyList = [];
-					this.replyData.page = 1;
-				} else {
-					this.replyData.page += 1;
-				}
-
-				getRemarkList({
-					news_id: item.news_id,
-					remark_id: item.id,
-					page: this.replyData.page
-				}).then((res) => {
-					if (res.code === 1) {
-						this.isAJAX = false;
-						item.replyList = [...item.replyList, ...res.data.items];
-						item.isOpen = false;
-					} else {
-						this.isAJAX = false;
-						tools.error(res.msg)
-					}
-				})
-			},
-
-			// 点赞
-			handUp(type, item) {
-				if (this.isAJAX) {
-					return
-				}
-				this.isAJAX = true;
-				let is_like = item.is_like == 1 ? 0 : 1;
-				if (type == 1) {
-					// 点赞贴子
-					setAlumniLike({
-						news_id: item.news_id,
-						is_like: is_like
-					}).then((res) => {
-						this.handUpFun(res, item, is_like)
-					})
-				} else {
-					// 点赞评论
-					setRemarkLike({
-						news_id: item.news_id,
-						is_like: is_like,
-						remark_id: item.id
-					}).then((res) => {
-						this.handUpFun(res, item, is_like)
-					})
-				}
-			},
-			// 点赞公共回复
-			handUpFun(res, item, is_like) {
-				if (res.code === 1) {
-					item.is_like = is_like;
-					if (is_like == 0) {
-						item.like -= 1
-					} else {
-						item.like += 1
-					}
-					this.isAJAX = false;
-					tools.success(res.msg);
-				} else {
-					this.isAJAX = false;
-					tools.error(res.msg);
-				}
-			},
-			openInput(type, item, index, i) {
-				console.log(index, i, '$$$$$$$$$$$$$$$$$');
-				this.msgIndex = index
-				this.msgType = type
-				this.msgI = i
-				if (type == 0) {
-					this.msgData.remark_id = 0;
-				} else if (type == 1) {
-					this.msgData.remark_id = item.id;
-					this.msgData.reply_id = item.m_id;
-				} else {
-					this.msgData.remark_id = item.remark_id;
-					this.msgData.reply_id = item.m_id;
-				}
-				this.$refs.popup.open();
-				setTimeout(() => {
-					this.focus = true
-					// this.$forceUpdate()
-				}, 500);
-
-				// console.log(this.focus, '是否聚焦');
-			},
-			closeInput() {
-				this.$refs.popup.close();
-				this.msgData.remark_id = '';
-				this.msgData.content = '';
-				this.msgData.reply_id = '';
-			},
-			save() {
-				if (this.isAJAX) {
-					return
-				}
-				this.isAJAX = true;
-				setCreateRemark(this.msgData).then((res) => {
-					if (res.code == 1) {
-						tools.success('评论成功')
-						setTimeout(() => {
-							this.isAJAX = false;
-							this.closeInput()
-							if (this.msgType == 0) {
-								this.list.unshift(res.data)
-								this.$forceUpdate()
-							} else if (this.msgType == 1) {
-								let replyList = []
-									++this.list[this.msgI].count
-								console.log(this.list[this.msgIndex], '二级');
-								if (this.list[this.msgIndex].replyList) {
-									this.list[this.msgIndex].replyList.push(res.data)
-								} else {
-									this.list[this.msgIndex].replyList = replyList
-									this.list[this.msgIndex].replyList.push(res.data)
-									this.$forceUpdate()
-								}
-							} else {
-								console.log(this.list[this.msgIndex]);
-								++this.list[this.msgI].count
-								this.list[this.msgI].replyList.push(res.data)
-								this.$forceUpdate()
-							}
-							console.log(this.list[this.msgIndex]);
-							this.msgIndex = 0
-							this.msgType = 0
-							this.msgI = 0
-							// this.list = [];
-							// this.page = 1;
-							// this.getList();
-							this.getInfo();
-							
-							// remark
-						}, 1500)
-					} else {
-						this.isAJAX = false;
-						tools.error(res.msg)
-					}
-				})
-			},
-			delInfo(item, index, type, i) {
-				if (this.isAJAX) {
-					return
-				}
-				this.isAJAX = true;
-				delRemark({
-					remark_id: item.id
-				}).then((res) => {
-					if (res.code === 1) {
-						tools.success('删除成功')
-						setTimeout(() => {
-							this.isAJAX = false;
-							console.log(this.list[i], '88888888888888888');
-							--this.list[i].count
-							if (type == 1) {
-								this.list.splice(index, 1)
-							} else {
-								this.list[i].replyList.splice(index, 1)
-							}
-							// this.list = [];
-							// this.page = 1;
-							// this.getList();
-							this.getInfo();
-						}, 1500)
-					} else {
-						this.isAJAX = false;
-						tools.error(res.msg)
-					}
-				})
-			},
-
-			// 打开举报
-			openRepot(item) {
-				this.reportData.news_id = item.news_id;
-				this.$refs.popupRepot.open();
-			},
-			// 举报
-			closePop(type) {
-				if (type === 1) {
-					this.reportData.news_id = '';
-					this.reportData.content = '';
-					this.$refs.popupRepot.close();
-				} else {
-					if (this.isAJAX) {
-						return
-					}
-					this.isAJAX = true;
-					alumniReport(this.reportData).then((res) => {
-						if (res.code === 1) {
-							tools.success(res.msg)
-							setTimeout(() => {
-								this.isAJAX = false;
-								this.closePop(1);
-							}, 1000)
-						} else {
-							tools.error(res.msg);
-							this.isAJAX = false;;
-						}
-					})
-				}
-			},
-		},
-	}
+  import EnBlank from "@/components/en-utils/en-blank/en-blank";
+  import {
+    alumnInfo,
+    getRemarkList,
+    setAlumniLike,
+    delRemark,
+    setCreateRemark,
+    setRemarkLike,
+    alumniReport
+  } from '@/api/alumni.js';
+  import tools from "@/service/tools";
+  export default {
+    components: {
+      EnBlank
+    },
+    data() {
+      return {
+        isAJAX: false,
+        news_id: '',
+        obj: {
+          image: [],
+        },
+        list: [],
+        page: 1,
+        total: 0,
+
+        // 发起评论
+        msgData: {
+          news_id: '',
+          remark_id: '',
+          content: '',
+          reply_id: '',
+        },
+        // 回复评论
+        replyData: {
+          page: 1,
+        },
+        // 举报
+        reportData: {
+          news_id: '',
+          content: '',
+        },
+        focus: false,
+        msgType: 0, // 消息类型
+        msgIndex: 0, // 列表一级索引
+        msgI: 0,
+        KeyboardHeight: 0, // 键盘高度
+        // showKeyNum: 0, //键盘打开的次数
+        remark: ''
+      }
+    },
+    onLoad(e) {
+      this.news_id = e.news_id;
+      this.msgData.news_id = e.news_id;
+      this.getInfo();
+      this.getList();
+      uni.onKeyboardHeightChange(res => {
+        console.log('log', res);
+        this.KeyboardHeight = res.height
+      })
+    },
+    onUnload() {
+      const circleDataUp = {}
+      alumnInfo({
+        news_id: this.news_id
+      }).then((res) => {
+        if (res.code === 1) {
+          circleDataUp.news_id = res.data.news_id
+          circleDataUp.like = res.data.like
+          circleDataUp.remark = res.data.remark
+          circleDataUp.heat = res.data.heat
+          uni.$emit('circleDataUp', circleDataUp)
+        }
+      })
+      // const circleDataUp = {
+      // 	news_id: this.obj.news_id,
+      // 	like: this.obj.like,
+      // 	remark: list.length,
+      // 	heat: this.obj.heat
+      // }
+      console.log("监听页面卸载");
+    },
+    methods: {
+      // keyboardheightchange(e) {
+      // 	this.keyboardHeight = e.detail.height;
+      // 	console.log(this.keyboardHeight, '1111111111');
+      // 	this.showKeyNum++;
+      // 	setTimeout(() => {
+      // 		uni.pageScrollTo({
+      // 			scrollTop: 2000
+      // 		});
+      // 	}, 200)
+      // },
+      // hideBorad() {
+      // 	this.showKeyNum = 2;
+      // 	this.keyboardHeight = 0;
+      // },
+      inputFocus(type) {
+        if (!type) {
+          this.focus = false
+          // this.hideBorad()
+        }
+        this.$forceUpdate()
+      },
+      lookImg(i, item) {
+        tools.lookBigImg(i, item)
+      },
+      toBack() {
+        tools.leftClick()
+      },
+      getInfo() {
+        alumnInfo({
+          news_id: this.news_id
+        }).then((res) => {
+          if (res.code === 1) {
+            this.obj = res.data;
+          } else {
+            tools.error(res.msg)
+            setTimeout(() => {
+              uni.navigateBack({
+                delta: 1
+              })
+            }, 1500)
+          }
+        })
+      },
+      scrolltolower() {
+        if (this.list.length < this.total) {
+          this.page += 1;
+          this.getList();
+        }
+      },
+      getList() {
+        getRemarkList({
+          news_id: this.news_id,
+          remark_id: 0,
+          page: this.page
+        }).then((res) => {
+          if (res.code === 1) {
+            this.list = [...this.list, ...res.data.items];
+            this.total = res.data.total;
+            this.list.forEach((v) => {
+              v.replyList = [];
+              if (v.count > 0) {
+                v.isOpen = true;
+              }
+            })
+          }
+        })
+      },
+      // 获取回复列表
+      openReply(type, item) {
+        // type 1获取其他 2加载更多
+        if (this.isAJAX) {
+          return
+        }
+        this.isAJAX = true;
+        if (type == 1) {
+          item.replyList = [];
+          this.replyData.page = 1;
+        } else {
+          this.replyData.page += 1;
+        }
+
+        getRemarkList({
+          news_id: item.news_id,
+          remark_id: item.id,
+          page: this.replyData.page
+        }).then((res) => {
+          if (res.code === 1) {
+            this.isAJAX = false;
+            item.replyList = [...item.replyList, ...res.data.items];
+            item.isOpen = false;
+          } else {
+            this.isAJAX = false;
+            tools.error(res.msg)
+          }
+        })
+      },
+
+      // 点赞
+      handUp(type, item) {
+        if (this.isAJAX) {
+          return
+        }
+        this.isAJAX = true;
+        let is_like = item.is_like == 1 ? 0 : 1;
+        if (type == 1) {
+          // 点赞贴子
+          setAlumniLike({
+            news_id: item.news_id,
+            is_like: is_like
+          }).then((res) => {
+            this.handUpFun(res, item, is_like)
+          })
+        } else {
+          // 点赞评论
+          setRemarkLike({
+            news_id: item.news_id,
+            is_like: is_like,
+            remark_id: item.id
+          }).then((res) => {
+            this.handUpFun(res, item, is_like)
+          })
+        }
+      },
+      // 点赞公共回复
+      handUpFun(res, item, is_like) {
+        if (res.code === 1) {
+          item.is_like = is_like;
+          if (is_like == 0) {
+            item.like -= 1
+          } else {
+            item.like += 1
+          }
+          this.isAJAX = false;
+          tools.success(res.msg);
+        } else {
+          this.isAJAX = false;
+          tools.error(res.msg);
+        }
+      },
+      openInput(type, item, index, i) {
+        console.log(index, i, '$$$$$$$$$$$$$$$$$');
+        this.msgIndex = index
+        this.msgType = type
+        this.msgI = i
+        if (type == 0) {
+          this.msgData.remark_id = 0;
+        } else if (type == 1) {
+          this.msgData.remark_id = item.id;
+          this.msgData.reply_id = item.m_id;
+        } else {
+          this.msgData.remark_id = item.remark_id;
+          this.msgData.reply_id = item.m_id;
+        }
+        this.$refs.popup.open();
+        setTimeout(() => {
+          this.focus = true
+          // this.$forceUpdate()
+        }, 500);
+
+        // console.log(this.focus, '是否聚焦');
+      },
+      closeInput() {
+        this.$refs.popup.close();
+        this.msgData.remark_id = '';
+        this.msgData.content = '';
+        this.msgData.reply_id = '';
+      },
+      save() {
+        if (this.isAJAX) {
+          return
+        }
+        this.isAJAX = true;
+        setCreateRemark(this.msgData).then((res) => {
+          if (res.code == 1) {
+            tools.success('评论成功')
+            setTimeout(() => {
+              this.isAJAX = false;
+              this.closeInput()
+              if (this.msgType == 0) {
+                this.list.unshift(res.data)
+                this.$forceUpdate()
+              } else if (this.msgType == 1) {
+                let replyList = []
+                  ++this.list[this.msgI].count
+                console.log(this.list[this.msgIndex], '二级');
+                if (this.list[this.msgIndex].replyList) {
+                  this.list[this.msgIndex].replyList.push(res.data)
+                } else {
+                  this.list[this.msgIndex].replyList = replyList
+                  this.list[this.msgIndex].replyList.push(res.data)
+                  this.$forceUpdate()
+                }
+              } else {
+                console.log(this.list[this.msgIndex]);
+                ++this.list[this.msgI].count
+                this.list[this.msgI].replyList.push(res.data)
+                this.$forceUpdate()
+              }
+              console.log(this.list[this.msgIndex]);
+              this.msgIndex = 0
+              this.msgType = 0
+              this.msgI = 0
+              // this.list = [];
+              // this.page = 1;
+              // this.getList();
+              this.getInfo();
+
+              // remark
+            }, 1500)
+          } else {
+            this.isAJAX = false;
+            tools.error(res.msg)
+          }
+        })
+      },
+      delInfo(item, index, type, i) {
+        if (this.isAJAX) {
+          return
+        }
+        this.isAJAX = true;
+        delRemark({
+          remark_id: item.id
+        }).then((res) => {
+          if (res.code === 1) {
+            tools.success('删除成功')
+            setTimeout(() => {
+              this.isAJAX = false;
+              console.log(this.list[i], '88888888888888888');
+              --this.list[i].count
+              if (type == 1) {
+                this.list.splice(index, 1)
+              } else {
+                this.list[i].replyList.splice(index, 1)
+              }
+              // this.list = [];
+              // this.page = 1;
+              // this.getList();
+              this.getInfo();
+            }, 1500)
+          } else {
+            this.isAJAX = false;
+            tools.error(res.msg)
+          }
+        })
+      },
+
+      // 打开举报
+      openRepot(item) {
+        this.reportData.news_id = item.news_id;
+        this.$refs.popupRepot.open();
+      },
+      // 举报
+      closePop(type) {
+        if (type === 1) {
+          this.reportData.news_id = '';
+          this.reportData.content = '';
+          this.$refs.popupRepot.close();
+        } else {
+          if (this.isAJAX) {
+            return
+          }
+          this.isAJAX = true;
+          alumniReport(this.reportData).then((res) => {
+            if (res.code === 1) {
+              tools.success(res.msg)
+              setTimeout(() => {
+                this.isAJAX = false;
+                this.closePop(1);
+              }, 1000)
+            } else {
+              tools.error(res.msg);
+              this.isAJAX = false;;
+            }
+          })
+        }
+      },
+    },
+  }
 </script>
 
 <style scoped lang="scss">
-	.label-box {
-		padding: 0 12rpx;
-		height: 38rpx;
-		line-height: 38rpx;
-	}
-
-	.wz {
-		width: 32rpx;
-		height: 32rpx;
-	}
-
-	.fs-input {
-		flex: 1;
-		width: 100%;
-		height: 170rpx !important;
-		// line-height: 72rpx;
-		background: #F2F2F2;
-		border-radius: 20rpx;
-		box-sizing: border-box;
-		padding: 20rpx 24rpx;
-	}
-
-	.wh64 {
-		width: 68rpx;
-		height: 68rpx;
-	}
-
-	.input-box-box {
-		width: 436rpx;
-		height: 72rpx;
-		line-height: 72rpx;
-		background: #F2F2F2;
-		border-radius: 200rpx;
-		box-sizing: border-box;
-		padding: 0 24rpx;
-	}
-
-	.circle-info-box {
-
-		.boder-b-t {
-			border-top: 1rpx solid #F2F2F2;
-		}
-
-		.card-5 {
-			height: 98rpx;
-			padding: 9rpx 24rpx 9rpx 32rpx;
-
-			image {
-				width: 40rpx;
-				height: 40rpx;
-				margin-right: 8rpx;
-
-			}
-		}
-
-		.w348 {
-			width: 348rpx;
-		}
-
-		.nav-box {
-			z-index: 99;
-			padding-bottom: 10rpx;
-
-			.nav-img {
-				width: 56rpx;
-				height: 56rpx;
-				margin-right: 30rpx;
-			}
-
-			.info-nav {
-				image {
-					width: 64rpx;
-					height: 64rpx;
-					border-radius: 50%;
-					margin-right: 20rpx;
-				}
-			}
-		}
-
-		.swiper {
-			width: 100%rpx;
-			height: 920rpx;
-
-			.swiper-item {
-				width: 100%;
-				height: 920rpx;
-				// background-color: skyblue;
-			}
-		}
-
-		.bz-box {
-			padding: 0 32rpx 20rpx 32rpx;
-
-			.card-4 {
-				// view {
-				// 	padding: 4rpx 16rpx;
-				// 	background: #F2F2F2;
-				// 	border-radius: 200rpx;
-				// 	font-size: 24rpx;
-				// 	color: #999;
-				// 	margin-right: 20rpx;
-				// 	margin-bottom: 10rpx;
-				// }
-			}
-		}
-
-		.pop-input {
-			width: 100%;
-			height: auto;
-			background-color: #fff;
-			border-top: 1rpx solid #ccc;
-			padding: 15rpx 24rpx;
-			box-sizing: border-box;
-			// .save-box{
-			// 	text-align: center;
-			// 	line-height: 88rpx;
-			// 	font-weight: 600;
-			// 	font-size: 32rpx;
-			// 	color: #FFFFFF;
-			// 	width: 100%;
-			// 	height: 80rpx;
-			// 	border-radius: 200rpx;
-			// 	background: linear-gradient( 105deg, #57CAFF 0%, #41ABF5 100%);
-			// }
-		}
-
-		.pop-box {
-
-			width: 100%;
-			height: 50vh;
-			background-color: #fff;
-			border-radius: 24rpx 24rpx 0rpx 0rpx;
-			display: flex;
-			flex-direction: column;
-
-			.item-box {
-				width: 100%;
-				height: 92rpx;
-
-				border-radius: 200rpx;
-				line-height: 92rpx;
-				text-align: center;
-				margin-bottom: 24rpx;
-			}
-		}
-
-		.pop-msg {
-
-			// height: 70vh;
-			.head-pop {
-				padding-bottom: 34rpx !important;
-				border-bottom: 1rpx solid #F2F2F2;
-			}
-
-			.list-box {
-				.list-box-img {
-					width: 80rpx;
-					height: 80rpx;
-					border-radius: 50%;
-					margin-right: 16rpx;
-				}
-
-				.only-box {
-					padding: 4rpx 16rpx;
-					background: rgba(65, 171, 245, 0.1);
-					border-radius: 8rpx 8rpx 8rpx 8rpx;
-				}
-
-				.msg-img {
-					width: 144rpx;
-					height: 144rpx;
-					border-radius: 12rpx;
-					margin-right: 5rpx;
-					margin-bottom: 5rpx;
-				}
-
-				.msg-img:nth-child(3n) {
-					margin-right: 0rpx;
-				}
-
-				.msg-img-1 {
-					width: 100rpx !important;
-					height: 100rpx !important;
-				}
-			}
-		}
-	}
-</style>
+  .item-content {
+    word-wrap: break-word;
+  }
+
+  .label-box {
+    padding: 0 12rpx;
+    height: 38rpx;
+    line-height: 38rpx;
+  }
+
+  .wz {
+    width: 32rpx;
+    height: 32rpx;
+  }
+
+  .fs-input {
+    flex: 1;
+    width: 100%;
+    height: 170rpx !important;
+    // line-height: 72rpx;
+    background: #F2F2F2;
+    border-radius: 20rpx;
+    box-sizing: border-box;
+    padding: 20rpx 24rpx;
+  }
+
+  .wh64 {
+    width: 68rpx;
+    height: 68rpx;
+  }
+
+  .input-box-box {
+    width: 436rpx;
+    height: 72rpx;
+    line-height: 72rpx;
+    background: #F2F2F2;
+    border-radius: 200rpx;
+    box-sizing: border-box;
+    padding: 0 24rpx;
+  }
+
+  .circle-info-box {
+
+    .boder-b-t {
+      border-top: 1rpx solid #F2F2F2;
+    }
+
+    .card-5 {
+      height: 98rpx;
+      padding: 9rpx 24rpx 9rpx 32rpx;
+
+      image {
+        width: 40rpx;
+        height: 40rpx;
+        margin-right: 8rpx;
+
+      }
+    }
+
+    .w348 {
+      width: 348rpx;
+    }
+
+    .nav-box {
+      z-index: 99;
+      padding-bottom: 10rpx;
+
+      .nav-img {
+        width: 56rpx;
+        height: 56rpx;
+        margin-right: 30rpx;
+      }
+
+      .info-nav {
+        image {
+          width: 64rpx;
+          height: 64rpx;
+          border-radius: 50%;
+          margin-right: 20rpx;
+        }
+      }
+    }
+
+    .swiper {
+      width: 100%rpx;
+      height: 920rpx;
+
+      .swiper-item {
+        width: 100%;
+        height: 920rpx;
+        // background-color: skyblue;
+      }
+    }
+
+    .bz-box {
+      padding: 0 32rpx 20rpx 32rpx;
+
+      .card-4 {
+        // view {
+        // 	padding: 4rpx 16rpx;
+        // 	background: #F2F2F2;
+        // 	border-radius: 200rpx;
+        // 	font-size: 24rpx;
+        // 	color: #999;
+        // 	margin-right: 20rpx;
+        // 	margin-bottom: 10rpx;
+        // }
+      }
+    }
+
+    .pop-input {
+      width: 100%;
+      height: auto;
+      background-color: #fff;
+      border-top: 1rpx solid #ccc;
+      padding: 15rpx 24rpx;
+      box-sizing: border-box;
+      // .save-box{
+      // 	text-align: center;
+      // 	line-height: 88rpx;
+      // 	font-weight: 600;
+      // 	font-size: 32rpx;
+      // 	color: #FFFFFF;
+      // 	width: 100%;
+      // 	height: 80rpx;
+      // 	border-radius: 200rpx;
+      // 	background: linear-gradient( 105deg, #57CAFF 0%, #41ABF5 100%);
+      // }
+    }
+
+    .pop-box {
+
+      width: 100%;
+      height: 50vh;
+      background-color: #fff;
+      border-radius: 24rpx 24rpx 0rpx 0rpx;
+      display: flex;
+      flex-direction: column;
+
+      .item-box {
+        width: 100%;
+        height: 92rpx;
+
+        border-radius: 200rpx;
+        line-height: 92rpx;
+        text-align: center;
+        margin-bottom: 24rpx;
+      }
+    }
+
+    .pop-msg {
+
+      // height: 70vh;
+      .head-pop {
+        padding-bottom: 34rpx !important;
+        border-bottom: 1rpx solid #F2F2F2;
+      }
+
+      .list-box {
+        .list-box-img {
+          width: 80rpx;
+          height: 80rpx;
+          border-radius: 50%;
+          margin-right: 16rpx;
+        }
+
+        .only-box {
+          padding: 4rpx 16rpx;
+          background: rgba(65, 171, 245, 0.1);
+          border-radius: 8rpx 8rpx 8rpx 8rpx;
+        }
+
+        .msg-img {
+          width: 144rpx;
+          height: 144rpx;
+          border-radius: 12rpx;
+          margin-right: 5rpx;
+          margin-bottom: 5rpx;
+        }
+
+        .msg-img:nth-child(3n) {
+          margin-right: 0rpx;
+        }
+
+        .msg-img-1 {
+          width: 100rpx !important;
+          height: 100rpx !important;
+        }
+      }
+    }
+  }
+</style>

+ 750 - 753
pages-takeout/shop.vue

@@ -1,764 +1,761 @@
 <template>
-	<view class="shop-index iPhone-bottom flex-common-css box-border-box">
-		<image class="bg-img" :src="shopsInfo.shop_logo" mode="aspectFill"></image>
-		<view class="mb-box"></view>
-		<view class="nav-box">
-			<Nav :leftShow='false' :customNav='true' bgckgroundBox='transparent'>
-				<template>
-					<view slot="custom" class="">
-						<image class="nav-img" @click="toBack()" src="@/static/img/takeout/bg-back.png"
-							mode="scaleToFill"></image>
-					</view>
-				</template>
-			</Nav>
-		</view>
-		<view class="head-box bgc-f box-border-box plr-24" :style="{height:domHeigjt + 'rpx'}">
-			<view id="shopInfoBox" class="shop-info-box bgc-f box-border-box p-24">
-				<view class="info-box-top flex-justify-space mb-10">
-					<view class="box-top-left">
-						<view class="top-left-1 fs-40 fw-600 text-overflow-ellipsis-one">{{shopsInfo.shop_name}}
-						</view>
-						<view class="align-items-center mb-8">
-							<image class="img-x mr-12" src="@/static/img/index/index-x.png" mode=""></image>
-							<view class="fs-26 fw-600 fc-FF7F00 mr-12">{{shopsInfo.shop_score}}分</view>
-							<view class="fc-6 fs-24 mr-12">| 预计{{shopsInfo.delivery_time}}分钟 |</view>
-							<view class="fc-6 fs-24 mr-12">{{shopsInfo.shop_sales}}人购买</view>
-						</view>
-					</view>
-					<image class="box-top-right" :src="shopsInfo.shop_logo" mode="scaleToFill"></image>
-				</view>
-				<view class="fs-24 fw-400 fc-9 text-overflow-ellipsis-one">
-					公告:{{shopsInfo.notice}}
-				</view>
-				<view class="flex-wrap-wrap p-t-20" v-if="couponData.length>0">
-					<view class="info-box-quan-list" v-for="(item,i) in couponData" :key="i" @click="openCoupon">
-						<view class="" v-if="i<=2">
-							<image src="@/static/img/takeout/quan-bg.png" mode=""></image>
-							<view class="quan-list-1 fw-b fs-32 fc-f">
-								<span class="fw-b fs-20 fc-f">¥</span>{{item.money}}
-							</view>
-							<view class="quan-list-2 fw-400 fs-24 fc-f">领</view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		<view class="head-box-1 bgc-f box-border-box plr-24">
-			<view class="align-items-center shop-type-list">
-				<view class="shop-item fs-36" @click="seletShopType(item)"
-					:class="shopType === item.id?'s-item':'n-item'" v-for="(item,i) in shopTypeList" :key="i">
-					{{item.name}}
-					<!-- <view v-if="item.id == 2" class="pj-num" :class="shopType === item.id?'s-item':'n-item'">999+</view> -->
-				</view>
-				<view class="shop-item-bs" :style="{left:shopTypeBsLeft+'rpx'}"></view>
-			</view>
-		</view>
-		<view class="common-view-css bgc-f" style="overflow: hidden;">
-			<Menu style="height: 100%;" v-if="shopType === 1" :shop_id="shop_id" @setCartData="setCartData"
-				ref="goodsMenu"></Menu>
-			<Evaluate style="height: 100%;" :shopId='shop_id' :shopScore='shopsInfo.shop_score'
-				v-else-if="shopType === 2"></Evaluate>
-			<ShopInfo style="height: 100%;" :shopId='shop_id' v-else-if="shopType === 3"></ShopInfo>
-		</view>
-		<view v-if="shopType === 1" class="shop-buttom-money box-border-box" @click="openBuyCrad()">
-			<view class="shop-buttom-money-1 flex-justify-space align-items-center">
-				<image src="@/static/img/takeout/buy-icon.png" mode="scaleToFill"></image>
-				<view class="shop-buttom-num fs-24 fc-f text-align-center">{{cartData.total_num}}</view>
-				<view class="">
-					<view class="">
-						<span class="fw-600 fs-24 fc-f">¥</span>
-						<span class="fw-600 fs-44 fc-f">{{cartData.total_price}}</span>
-					</view>
-					<view class="fs-24 fc-ADADAD" v-if="delivery_money<=0">免配送</view>
-					<view class="fs-24 fc-f" v-else>配送费¥{{delivery_money}}</view>
-				</view>
-				<view v-if="cartData.is_place_order===1" class="shop-buttom-money-2 text-align-center fc-f fs-32 fw-600"
-					@click.stop="toConfirmOrder()">去结算
-				</view>
-				<view v-else class="err-msg fs-32 fw-600 fc-f mr-30">{{cartData.err_msg}}</view>
-			</view>
-		</view>
-		<uni-popup ref="popupBuy" type="bottom" background-color="#fff">
-			<view class="buy-card flex-index-css">
-				<view class="buy-card-top box-border-box plr-32 flex-justify-space align-items-center">
-					<view class="">
-						<span class="fs-32 fc-3 mr-12">已选商品</span>
-						<span class="fs-32 fc-9">(打包费<span
-								class="fs-32 fc-FB3D03">{{cartData.pack_price}}元</span>)</span>
-					</view>
-					<view class="fs-28 fw-400 fc-9 align-items-center" @click.stop="setShopIngDel">
-						<view class="">
-							<uni-icons type="trash" size="18" color="#999"></uni-icons>
-						</view>
-						<view class="fs-28 fw-400 fc-9">清空</view>
-					</view>
-				</view>
-				<view class="scroll-view-css box-border-box p-32">
-					<view class="buy-card-item display-flex" v-for="(goods,i) in cartData.goods_list" :key="i">
-						<image class="goods_img" :src="goods.goods_image" mode="scaleToFill"></image>
-						<view class="flex-1">
-							<view class="w-514 text-overflow-ellipsis-one fs-34 fw-600 mb-12">
-								{{goods.goods_name}}
-							</view>
-							<view class="w-514 text-overflow-ellipsis-one fs-24 fw-400 fc-9 mb-18">{{goods.goods_attr}}
-							</view>
-							<view class="flex-justify-space">
-								<view class="">
-									<span class="fs-24 fc-FB3D03 fw-400">¥</span>
-									<span class="fs-40 fc-FB3D03 fw-b">{{goods.price}}</span>
-								</view>
-								<view class="display-flex align-items-center">
-									<image class="wh-44" @click.stop="setShopIngNumber(goods,2)"
-										src="@/static/img/takeout/j.png" mode=""></image>
-									<view class="right-only-right-2 text-align-center fs-28 fw-400">
-										{{goods.goods_number}}
-									</view>
-									<image class="wh-44" src="@/static/img/takeout/add.png"
-										@click.stop="setShopIngNumber(goods,1)" mode=""></image>
-								</view>
-							</view>
-						</view>
-					</view>
-					<en-blank v-if="cartData.goods_list.length<=0" message="快去选购商品吧!~"></en-blank>
-				</view>
-				<view class="shop-buttom-money box-border-box" @click="createOrder()">
-					<view class="shop-buttom-money-1 flex-justify-space align-items-center">
-						<image src="@/static/img/takeout/buy-icon.png" mode="scaleToFill"></image>
-						<view class="shop-buttom-num fs-24 fc-f text-align-center">{{cartData.total_num}}</view>
-						<view class="">
-							<view class="">
-								<span class="fw-600 fs-24 fc-f">¥</span>
-								<span class="fw-600 fs-44 fc-f">{{cartData.total_price}}</span>
-							</view>
-							<view class="fs-24 fc-ADADAD" v-if="delivery_money<=0">免配送</view>
-							<view class="fs-24 fc-f" v-else>配送费¥{{delivery_money}}</view>
-						</view>
-						<view v-if="cartData.is_place_order===1"
-							class="shop-buttom-money-2 text-align-center fs-32 fc-f fw-600"
-							@click.stop="toConfirmOrder()">
-							去结算</view>
-						<view class="fs-32 fw-600 fc-f mr-30" v-else>{{cartData.err_msg}}</view>
-					</view>
-				</view>
-			</view>
-		</uni-popup>
-		<uni-popup ref="popupCoupon" type="bottom">
-			<view class="pop-coupon box-border-box p-24">
-				<view class="text-align-center fs-36 fw-600 box-title mb-32">
-					本店优惠券
-					<uni-icons @click="closeCoupon" class="box-close" type="closeempty" size="20"></uni-icons>
-				</view>
-				<view class="scroll-view-css">
-					<view v-if="couponData<= 0" class="blank-text fs-32 fc-6 text-align-center">
-						暂无优惠券
-					</view>
-					<!-- 					<EnBlank :customSrc='true' v-if="couponData<= 0">
+  <view class="shop-index iPhone-bottom flex-common-css box-border-box">
+    <image class="bg-img" :src="shopsInfo.shop_logo" mode="aspectFill"></image>
+    <view class="mb-box"></view>
+    <view class="nav-box">
+      <Nav :leftShow='false' :customNav='true' bgckgroundBox='transparent'>
+        <template>
+          <view slot="custom" class="">
+            <image class="nav-img" @click="toBack()" src="@/static/img/takeout/bg-back.png" mode="scaleToFill"></image>
+          </view>
+        </template>
+      </Nav>
+    </view>
+    <view class="head-box bgc-f box-border-box plr-24" :style="{height:domHeigjt + 'rpx'}">
+      <view id="shopInfoBox" class="shop-info-box bgc-f box-border-box p-24">
+        <view class="info-box-top flex-justify-space mb-10">
+          <view class="box-top-left">
+            <view class="top-left-1 fs-40 fw-600 text-overflow-ellipsis-one">{{shopsInfo.shop_name || ""}}
+            </view>
+            <view class="align-items-center mb-8">
+              <image class="img-x mr-12" src="@/static/img/index/index-x.png" mode=""></image>
+              <view class="fs-26 fw-600 fc-FF7F00 mr-12">{{shopsInfo.shop_score|| ""}}分</view>
+              <view class="fc-6 fs-24 mr-12">| 预计{{shopsInfo.delivery_time||""}}分钟 |</view>
+              <view class="fc-6 fs-24 mr-12">{{shopsInfo.shop_sales||""}}人购买</view>
+            </view>
+          </view>
+          <image class="box-top-right" :src="shopsInfo.shop_logo" mode="scaleToFill"></image>
+        </view>
+        <view class="fs-24 fw-400 fc-9 text-overflow-ellipsis-one">
+          公告:{{shopsInfo.notice||""}}
+        </view>
+        <view class="flex-wrap-wrap p-t-20" v-if="couponData.length>0">
+          <view class="info-box-quan-list" v-for="(item,i) in couponData" :key="i" @click="openCoupon">
+            <view class="" v-if="i<=2">
+              <image src="@/static/img/takeout/quan-bg.png" mode=""></image>
+              <view class="quan-list-1 fw-b fs-32 fc-f">
+                <span class="fw-b fs-20 fc-f">¥</span>{{item.money}}
+              </view>
+              <view class="quan-list-2 fw-400 fs-24 fc-f">领</view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </view>
+    <view class="head-box-1 bgc-f box-border-box plr-24">
+      <view class="align-items-center shop-type-list">
+        <view class="shop-item fs-36" @click="seletShopType(item)" :class="shopType === item.id?'s-item':'n-item'"
+          v-for="(item,i) in shopTypeList" :key="i">
+          {{item.name}}
+          <!-- <view v-if="item.id == 2" class="pj-num" :class="shopType === item.id?'s-item':'n-item'">999+</view> -->
+        </view>
+        <view class="shop-item-bs" :style="{left:shopTypeBsLeft+'rpx'}"></view>
+      </view>
+    </view>
+    <view class="common-view-css bgc-f" style="overflow: hidden;">
+      <Menu style="height: 100%;" v-if="shopType === 1" :shop_id="shop_id" @setCartData="setCartData" ref="goodsMenu">
+      </Menu>
+      <Evaluate style="height: 100%;" :shopId='shop_id' :shopScore='shopsInfo.shop_score' v-else-if="shopType === 2">
+      </Evaluate>
+      <ShopInfo style="height: 100%;" :shopId='shop_id' v-else-if="shopType === 3"></ShopInfo>
+    </view>
+    <view v-if="shopType === 1" class="shop-buttom-money box-border-box" @click="openBuyCrad()">
+      <view class="shop-buttom-money-1 flex-justify-space align-items-center">
+        <image src="@/static/img/takeout/buy-icon.png" mode="scaleToFill"></image>
+        <view class="shop-buttom-num fs-24 fc-f text-align-center">{{cartData.total_num}}</view>
+        <view class="">
+          <view class="">
+            <span class="fw-600 fs-24 fc-f">¥</span>
+            <span class="fw-600 fs-44 fc-f">{{cartData.total_price}}</span>
+          </view>
+          <view class="fs-24 fc-ADADAD" v-if="delivery_money<=0">免配送</view>
+          <view class="fs-24 fc-f" v-else>配送费¥{{delivery_money}}</view>
+        </view>
+        <view v-if="cartData.is_place_order===1" class="shop-buttom-money-2 text-align-center fc-f fs-32 fw-600"
+          @click.stop="toConfirmOrder()">去结算
+        </view>
+        <view v-else class="err-msg fs-32 fw-600 fc-f mr-30">{{cartData.err_msg}}</view>
+      </view>
+    </view>
+    <uni-popup ref="popupBuy" type="bottom" background-color="#fff">
+      <view class="buy-card flex-index-css">
+        <view class="buy-card-top box-border-box plr-32 flex-justify-space align-items-center">
+          <view class="">
+            <span class="fs-32 fc-3 mr-12">已选商品</span>
+            <span class="fs-32 fc-9">(打包费<span class="fs-32 fc-FB3D03">{{cartData.pack_price}}元</span>)</span>
+          </view>
+          <view class="fs-28 fw-400 fc-9 align-items-center" @click.stop="setShopIngDel">
+            <view class="">
+              <uni-icons type="trash" size="18" color="#999"></uni-icons>
+            </view>
+            <view class="fs-28 fw-400 fc-9">清空</view>
+          </view>
+        </view>
+        <view class="scroll-view-css box-border-box p-32">
+          <view class="buy-card-item display-flex" v-for="(goods,i) in cartData.goods_list" :key="i">
+            <image class="goods_img" :src="goods.goods_image" mode="scaleToFill"></image>
+            <view class="flex-1">
+              <view class="w-514 text-overflow-ellipsis-one fs-34 fw-600 mb-12">
+                {{goods.goods_name}}
+              </view>
+              <view class="w-514 text-overflow-ellipsis-one fs-24 fw-400 fc-9 mb-18">{{goods.goods_attr}}
+              </view>
+              <view class="flex-justify-space">
+                <view class="">
+                  <span class="fs-24 fc-FB3D03 fw-400">¥</span>
+                  <span class="fs-40 fc-FB3D03 fw-b">{{goods.price}}</span>
+                </view>
+                <view class="display-flex align-items-center">
+                  <image class="wh-44" @click.stop="setShopIngNumber(goods,2)" src="@/static/img/takeout/j.png" mode="">
+                  </image>
+                  <view class="right-only-right-2 text-align-center fs-28 fw-400">
+                    {{goods.goods_number}}
+                  </view>
+                  <image class="wh-44" src="@/static/img/takeout/add.png" @click.stop="setShopIngNumber(goods,1)"
+                    mode=""></image>
+                </view>
+              </view>
+            </view>
+          </view>
+          <en-blank v-if="cartData.goods_list.length<=0" message="快去选购商品吧!~"></en-blank>
+        </view>
+        <view class="shop-buttom-money box-border-box" @click="createOrder()">
+          <view class="shop-buttom-money-1 flex-justify-space align-items-center">
+            <image src="@/static/img/takeout/buy-icon.png" mode="scaleToFill"></image>
+            <view class="shop-buttom-num fs-24 fc-f text-align-center">{{cartData.total_num}}</view>
+            <view class="">
+              <view class="">
+                <span class="fw-600 fs-24 fc-f">¥</span>
+                <span class="fw-600 fs-44 fc-f">{{cartData.total_price}}</span>
+              </view>
+              <view class="fs-24 fc-ADADAD" v-if="delivery_money<=0">免配送</view>
+              <view class="fs-24 fc-f" v-else>配送费¥{{delivery_money}}</view>
+            </view>
+            <view v-if="cartData.is_place_order===1" class="shop-buttom-money-2 text-align-center fs-32 fc-f fw-600"
+              @click.stop="toConfirmOrder()">
+              去结算</view>
+            <view class="fs-32 fw-600 fc-f mr-30" v-else>{{cartData.err_msg}}</view>
+          </view>
+        </view>
+      </view>
+    </uni-popup>
+    <uni-popup ref="popupCoupon" type="bottom">
+      <view class="pop-coupon box-border-box p-24">
+        <view class="text-align-center fs-36 fw-600 box-title mb-32">
+          本店优惠券
+          <uni-icons @click="closeCoupon" class="box-close" type="closeempty" size="20"></uni-icons>
+        </view>
+        <view class="scroll-view-css">
+          <view v-if="couponData<= 0" class="blank-text fs-32 fc-6 text-align-center">
+            暂无优惠券
+          </view>
+          <!-- 					<EnBlank :customSrc='true' v-if="couponData<= 0">
 						<template v-slot:blankImg>
 							<image class="black-img" src="@/static/img/common/no-order.png" mode=""></image>
 						</template>
 					</EnBlank> -->
-					<view class="item-box display-flex mb-20" v-for="(item,index) in couponData" :key="index">
-						<view class="item-right flex-direction flex-justify-center flex-1 bgc-f">
-							<view class="fs-28 mb-12 ticket-name text-overflow-ellipsis fc-3 fw-600">
-								{{item.name}}
-							</view>
-							<view class="fs-24 fc-6">
-								有效时间:{{item.time_type_str}}
-							</view>
-						</view>
-						<view class="item-hr"></view>
-						<view class="item-left flex-direction align-items-center flex-justify-center bgc-FCE7E2">
-							<view class="align-items-center">
-								<view class="fs-30 fw-600 fc-FB3D03">¥</view>
-								<view class="fs-48 fw-600 fc-FB3D03">{{item.money}}</view>
-							</view>
-							<view class="fs-24 mb-18 fc-6">
-								满{{item.full_money}}可用
-							</view>
-							<view class="but-box fs-28 fc-f" @click="receiveCode(item)">
-								立即领取
-							</view>
-							<view class="ball"></view>
-							<view class="ball-two"></view>
-						</view>
-					</view>
-				</view>
-			</view>
-		</uni-popup>
-	</view>
+          <view class="item-box display-flex mb-20" v-for="(item,index) in couponData" :key="index">
+            <view class="item-right flex-direction flex-justify-center flex-1 bgc-f">
+              <view class="fs-28 mb-12 ticket-name text-overflow-ellipsis fc-3 fw-600">
+                {{item.name}}
+              </view>
+              <view class="fs-24 fc-6">
+                有效时间:{{item.time_type_str}}
+              </view>
+            </view>
+            <view class="item-hr"></view>
+            <view class="item-left flex-direction align-items-center flex-justify-center bgc-FCE7E2">
+              <view class="align-items-center">
+                <view class="fs-30 fw-600 fc-FB3D03">¥</view>
+                <view class="fs-48 fw-600 fc-FB3D03">{{item.money}}</view>
+              </view>
+              <view class="fs-24 mb-18 fc-6">
+                满{{item.full_money}}可用
+              </view>
+              <view class="but-box fs-28 fc-f" @click="receiveCode(item)">
+                立即领取
+              </view>
+              <view class="ball"></view>
+              <view class="ball-two"></view>
+            </view>
+          </view>
+        </view>
+      </view>
+    </uni-popup>
+  </view>
 </template>
 
 <script>
-	import Menu from './shop-mod/menu.vue';
-	import Evaluate from './shop-mod/evaluate.vue';
-	import ShopInfo from './shop-mod/info.vue';
-	import tools from "@/service/tools";
-	import EnBlank from "@/components/en-utils/en-blank/en-blank";
-	import {
-		receiveCoupon
-	} from "@/api/coupon.js"
-	import {
-		shopInfo,
-		shopCoupon
-	} from "@/api/shop.js"
-	import {
-		getDeliveryMoney
-	} from "@/api/common";
-	import {
-		getShopIngList,
-		setShopIngDel,
-		setShopIngNumber
-	} from "@/api/shopping";
-	export default {
-		components: {
-			Menu,
-			Evaluate,
-			ShopInfo,
-			EnBlank
-		},
-		data() {
-			return {
-				domHeigjt: 224,
-				shopTypeList: [{
-					name: "点菜",
-					id: 1
-				}, {
-					name: "评价",
-					id: 2
-				}, {
-					name: "店铺",
-					id: 3
-				}, ],
-				shopType: 1, //组件类型
-				shopTypeBsLeft: 12,
-				shop_id: '',
-				operate_id: '',
-				shopsInfo: {},
-				couponData: [], // 可领优惠卷
-				goodsData: [], // 可领优惠卷
-				categoryData: [], // 可领优惠卷
-				delivery_money: 0, // 可领优惠卷
-				cartData: {
-					total_price: 0,
-					total_num: 0,
-					total_goods_money: 0,
-					pack_price: 0,
-					must_category: 0,
-					is_place_order: 0,
-					err_msg: 0,
-					goods_list: [],
-				},
-				isAjax: false
-			}
-		},
-		onLoad(e) {
-			if (e) {
-				this.shop_id = e.shop_id
-				this.operate_id = uni.getStorageSync('operate_id')
-				this.shopInfo()
-			}
-		},
-		mounted() {
-			// this.getDomH();
-			this.shopCoupon()
-		},
-		methods: {
-			setShopIngDel() {
-				uni.showModal({
-					title: '提示',
-					content: '是否清除购物车商品?',
-					success: (res) => {
-						console.log(res)
-						if (res.confirm) {
-
-							setShopIngDel({
-								'shop_id': this.shop_id,
-								'type': 1,
-							}).then((res) => {
-								if (res.code === 1) {
-									tools.success(res.msg)
-									this.getShopIngList()
-									this.$refs.popupBuy.close()
-								} else {
-									tools.error(res.msg)
-								}
-							})
-						}
-					}
-				});
-			},
-			setShopIngNumber(item, type) {
-				if (this.isAjax) {
-					return
-				}
-				this.isAjax = true
-				setShopIngNumber({
-					'type': 1,
-					'goods_id': item.goods_id,
-					'shop_id': this.shop_id,
-					'category_id': item.category_id,
-					'goods_spec_id': item.goods_spec_id,
-					'operation': type === 1 ? 1 : 2,
-				}).then(res => {
-					if (res.code == 1) {
-						this.isAjax = false
-						this.getShopIngList()
-					} else {
-						tools.error(res.msg)
-						this.isAjax = false
-						this.getShopIngList()
-					}
-				}).catch(() => {
-					this.isAjax = false
-				})
-			},
-			getShopIngList() {
-				getShopIngList({
-					'shop_id': this.shop_id,
-				}).then(res => {
-					if (res.code === 1) {
-						this.cartData = res.data
-						if (this.shopType === 1) {
-							setTimeout(() => {
-								console.log('我的数据执行了')
-								this.$refs.goodsMenu.setShopIngList(this.cartData)
-							}, 1000)
-
-						}
-					}
-				})
-			},
-			setCartData(cartData) {
-				this.cartData = cartData
-				this.getDeliveryMoney()
-			},
-			getDeliveryMoney() {
-				getDeliveryMoney({
-					'school_id': this.operate_id,
-					'shop_id': this.shop_id,
-				}).then(res => {
-					if (res.code === 1) {
-						this.delivery_money = res.data.delivery_money * 1
-					}
-				})
-			},
-			receiveCode(item) {
-				receiveCoupon({
-					grant_id: item.grant_id,
-					coupon_id: item.coupon_id
-				}).then((res) => {
-					if (res.code == 1) {
-						tools.success(res.msg)
-						this.couponData = []
-						this.shopCoupon()
-					} else {
-						tools.error(res.msg)
-					}
-				})
-			},
-			toBack() {
-				tools.leftClick()
-			},
-			getDomH() {
-				let info = uni.createSelectorQuery().select('#shopInfoBox');
-				info.boundingClientRect((data) => {
-					this.domHeigjt = data.height * 2 - 34
-				}).exec()
-			},
-
-			scrolltolower() {
-				console.log('触底');
-			},
-			seletShopType(item) {
-				if (this.shopType != item.id) {
-					this.shopType = item.id;
-					if (this.shopType == 1) {
-						this.shopTypeBsLeft = 12
-					} else if (this.shopType == 2) {
-						this.shopTypeBsLeft = 166
-					} else {
-						this.shopTypeBsLeft = 160 * 2
-					}
-				}
-			},
-			openBuyCrad() {
-				this.$refs.popupBuy.open()
-			},
-			createOrder() {},
-			openCoupon() {
-				this.$refs.popupCoupon.open()
-			},
-			closeCoupon() {
-				this.$refs.popupCoupon.close()
-			},
-			toConfirmOrder() {
-				uni.navigateTo({
-					url: '/pages-takeout/goods-order?shop_id=' + this.shop_id
-				})
-			},
-			shopInfo() {
-				const operate_id = uni.getStorageSync('operate_id')
-				shopInfo({
-					operate_id: operate_id,
-					shop_id: this.shop_id
-				}).then((res) => {
-					if (res.code == 1) {
-						this.shopsInfo = res.data
-					} else {
-						tools.error(res.msg)
-						setTimeout(() => {
-							uni.navigateBack({
-								delta: 1
-							})
-						}, 1500)
-					}
-				})
-			},
-			shopCoupon() {
-				shopCoupon({
-					operate_id: this.operate_id,
-					shop_id: this.shop_id
-				}).then((res) => {
-					if (res.code == 1) {
-						if (res.data.length > 0) {
-							this.domHeigjt = 224
-							this.couponData = res.data
-						} else {
-							this.domHeigjt = 156
-							// console.log(this.domHeigjt, '1111111111111111111');
-						}
-					}
-				})
-			}
-		},
-	}
+  import Menu from './shop-mod/menu.vue';
+  import Evaluate from './shop-mod/evaluate.vue';
+  import ShopInfo from './shop-mod/info.vue';
+  import tools from "@/service/tools";
+  import EnBlank from "@/components/en-utils/en-blank/en-blank";
+  import {
+    receiveCoupon
+  } from "@/api/coupon.js"
+  import {
+    shopInfo,
+    shopCoupon
+  } from "@/api/shop.js"
+  import {
+    getDeliveryMoney
+  } from "@/api/common";
+  import {
+    getShopIngList,
+    setShopIngDel,
+    setShopIngNumber
+  } from "@/api/shopping";
+  export default {
+    components: {
+      Menu,
+      Evaluate,
+      ShopInfo,
+      EnBlank
+    },
+    data() {
+      return {
+        domHeigjt: 224,
+        shopTypeList: [{
+          name: "点菜",
+          id: 1
+        }, {
+          name: "评价",
+          id: 2
+        }, {
+          name: "店铺",
+          id: 3
+        }, ],
+        shopType: 1, //组件类型
+        shopTypeBsLeft: 12,
+        shop_id: '',
+        operate_id: '',
+        shopsInfo: {},
+        couponData: [], // 可领优惠卷
+        goodsData: [], // 可领优惠卷
+        categoryData: [], // 可领优惠卷
+        delivery_money: 0, // 可领优惠卷
+        cartData: {
+          total_price: 0,
+          total_num: 0,
+          total_goods_money: 0,
+          pack_price: 0,
+          must_category: 0,
+          is_place_order: 0,
+          err_msg: 0,
+          goods_list: [],
+        },
+        isAjax: false
+      }
+    },
+    onLoad(e) {
+      if (e) {
+        this.shop_id = e.shop_id
+        this.operate_id = uni.getStorageSync('operate_id')
+        this.shopInfo()
+      }
+    },
+    mounted() {
+      // this.getDomH();
+      this.shopCoupon()
+    },
+    methods: {
+      setShopIngDel() {
+        uni.showModal({
+          title: '提示',
+          content: '是否清除购物车商品?',
+          success: (res) => {
+            console.log(res)
+            if (res.confirm) {
+
+              setShopIngDel({
+                'shop_id': this.shop_id,
+                'type': 1,
+              }).then((res) => {
+                if (res.code === 1) {
+                  tools.success(res.msg)
+                  this.getShopIngList()
+                  this.$refs.popupBuy.close()
+                } else {
+                  tools.error(res.msg)
+                }
+              })
+            }
+          }
+        });
+      },
+      setShopIngNumber(item, type) {
+        if (this.isAjax) {
+          return
+        }
+        this.isAjax = true
+        setShopIngNumber({
+          'type': 1,
+          'goods_id': item.goods_id,
+          'shop_id': this.shop_id,
+          'category_id': item.category_id,
+          'goods_spec_id': item.goods_spec_id,
+          'operation': type === 1 ? 1 : 2,
+        }).then(res => {
+          if (res.code == 1) {
+            this.isAjax = false
+            this.getShopIngList()
+          } else {
+            tools.error(res.msg)
+            this.isAjax = false
+            this.getShopIngList()
+          }
+        }).catch(() => {
+          this.isAjax = false
+        })
+      },
+      getShopIngList() {
+        getShopIngList({
+          'shop_id': this.shop_id,
+        }).then(res => {
+          if (res.code === 1) {
+            this.cartData = res.data
+            if (this.shopType === 1) {
+              setTimeout(() => {
+                console.log('我的数据执行了')
+                this.$refs.goodsMenu.setShopIngList(this.cartData)
+              }, 1000)
+
+            }
+          }
+        })
+      },
+      setCartData(cartData) {
+        this.cartData = cartData
+        this.getDeliveryMoney()
+      },
+      getDeliveryMoney() {
+        getDeliveryMoney({
+          'school_id': this.operate_id,
+          'shop_id': this.shop_id,
+        }).then(res => {
+          if (res.code === 1) {
+            this.delivery_money = res.data.delivery_money * 1
+          }
+        })
+      },
+      receiveCode(item) {
+        receiveCoupon({
+          grant_id: item.grant_id,
+          coupon_id: item.coupon_id
+        }).then((res) => {
+          if (res.code == 1) {
+            tools.success(res.msg)
+            this.couponData = []
+            this.shopCoupon()
+          } else {
+            tools.error(res.msg)
+          }
+        })
+      },
+      toBack() {
+        tools.leftClick()
+      },
+      getDomH() {
+        let info = uni.createSelectorQuery().select('#shopInfoBox');
+        info.boundingClientRect((data) => {
+          this.domHeigjt = data.height * 2 - 34
+        }).exec()
+      },
+
+      scrolltolower() {
+        console.log('触底');
+      },
+      seletShopType(item) {
+        if (this.shopType != item.id) {
+          this.shopType = item.id;
+          if (this.shopType == 1) {
+            this.shopTypeBsLeft = 12
+          } else if (this.shopType == 2) {
+            this.shopTypeBsLeft = 166
+          } else {
+            this.shopTypeBsLeft = 160 * 2
+          }
+        }
+      },
+      openBuyCrad() {
+        this.$refs.popupBuy.open()
+      },
+      createOrder() {},
+      openCoupon() {
+        this.$refs.popupCoupon.open()
+      },
+      closeCoupon() {
+        this.$refs.popupCoupon.close()
+      },
+      toConfirmOrder() {
+        uni.navigateTo({
+          url: '/pages-takeout/goods-order?shop_id=' + this.shop_id
+        })
+      },
+      shopInfo() {
+        const operate_id = uni.getStorageSync('operate_id')
+        shopInfo({
+          operate_id: operate_id,
+          shop_id: this.shop_id
+        }).then((res) => {
+          if (res.code == 1) {
+            this.shopsInfo = res.data
+          } else {
+            tools.error(res.msg)
+            setTimeout(() => {
+              uni.navigateBack({
+                delta: 1
+              })
+            }, 1500)
+          }
+        })
+      },
+      shopCoupon() {
+        shopCoupon({
+          operate_id: this.operate_id,
+          shop_id: this.shop_id
+        }).then((res) => {
+          if (res.code == 1) {
+            if (res.data.length > 0) {
+              this.domHeigjt = 224
+              this.couponData = res.data
+            } else {
+              this.domHeigjt = 156
+              // console.log(this.domHeigjt, '1111111111111111111');
+            }
+          }
+        })
+      }
+    },
+  }
 </script>
 
 <style scoped lang="scss">
-	.wh-44 {
-		width: 44rpx;
-		height: 44rpx;
-	}
-
-	.blank-text {
-		line-height: 32vh;
-	}
-
-	.pop-coupon {
-		width: 100%;
-		height: 42vh;
-		background-color: #F5F4F9;
-		border-radius: 24rpx 24rpx 0rpx 0rpx;
-		padding-top: 32rpx !important;
-		display: flex;
-		flex-direction: column;
-
-		.box-title {
-			position: relative;
-
-			.box-close {
-				position: absolute;
-				right: 22rpx;
-			}
-		}
-
-		.item-right {
-			padding: 24rpx;
-			box-sizing: border-box;
-			border-radius: 20rpx 0 0 20rpx;
-			position: relative;
-		}
-
-		.item-hr {
-			width: 0px;
-			height: auto;
-			border-right: 1rpx dashed #FB7850;
-		}
-
-		.item-hr-two {
-			width: 0px;
-			height: auto;
-			border-right: 1rpx dashed #999;
-		}
-
-		.item-left {
-			width: 220rpx;
-			height: auto;
-			padding: 20rpx 24rpx;
-			box-sizing: border-box;
-			position: relative;
-			border-radius: 0 20rpx 20rpx 0;
-		}
-
-		.but-box {
-			width: 152rpx;
-			height: 52rpx;
-			line-height: 52rpx;
-			text-align: center;
-			background: linear-gradient(225deg, #FB3D03 0%, #FF6901 100%);
-			border-radius: 200rpx;
-		}
-
-		.ball {
-			width: 24rpx;
-			height: 24rpx;
-			border-radius: 50%;
-			position: absolute;
-			top: -12rpx;
-			left: -12rpx;
-			background: #F5F5F5;
-			z-index: 2;
-		}
-
-		.ball-two {
-			width: 24rpx;
-			height: 24rpx;
-			border-radius: 50%;
-			position: absolute;
-			background: #F5F5F5;
-			z-index: 10;
-			bottom: -12rpx;
-			left: -12rpx;
-		}
-	}
-
-
-	.shop-index {
-		position: relative;
-
-		.right-only-right-red {
-			width: 44rpx;
-			height: 44rpx;
-			line-height: 40rpx;
-			border-radius: 12rpx;
-			border: 1rpx solid #41ABF5;
-			color: #41ABF5;
-		}
-
-		.right-only-right-add {
-			width: 44rpx;
-			height: 44rpx;
-			line-height: 40rpx;
-			background: linear-gradient(117deg, #57CAFF 0%, #41ABF5 100%);
-			border-radius: 12rpx;
-		}
-
-		.right-only-right-2 {
-			min-width: 50rpx;
-		}
-
-		.w-514 {
-			width: 514rpx;
-		}
-
-		.bg-img {
-			position: absolute;
-			top: 0;
-			left: 0;
-			width: 100%;
-			height: 280rpx;
-			z-index: -1;
-		}
-
-		.mb-box {
-			position: absolute;
-			top: 0;
-			left: 0;
-			width: 100%;
-			height: 280rpx;
-			z-index: -1;
-			background: rgba(51, 51, 51, 0.50);
-		}
-
-		.nav-box {
-			margin-bottom: 110rpx;
-
-			.nav-img {
-				width: 56rpx;
-				height: 56rpx;
-			}
-		}
-
-		.shop-buttom-money {
-			width: 100%;
-			height: 140rpx;
-			background: rgba(255, 255, 255, 0.8);
-			padding: 20rpx 24rpx;
-
-			.shop-buttom-money-1 {
-				width: 100%;
-				height: 100%;
-				background: #333333;
-				border-radius: 200rpx;
-				box-sizing: border-box;
-				padding-left: 136rpx;
-				// padding-right: 32rpx;
-				position: relative;
-
-				image {
-					position: absolute;
-					bottom: 0;
-					left: 8rpx;
-					width: 128rpx;
-					height: 128rpx;
-				}
-
-				.shop-buttom-num {
-					width: 32rpx;
-					height: 32rpx;
-					line-height: 32rpx;
-					background: #FB3D03;
-					border-radius: 50%;
-					position: absolute;
-					top: 36rpx;
-					left: 82rpx;
-				}
-
-				.shop-buttom-money-2 {
-					width: 200rpx;
-					height: 100rpx;
-					line-height: 100rpx;
-					background: #41ABF5;
-					border-radius: 0rpx 200rpx 200rpx 0rpx;
-				}
-			}
-		}
-
-
-		.head-box {
-			width: 100%;
-			position: relative;
-
-			.shop-info-box {
-				position: absolute;
-				top: -50rpx;
-				left: 24rpx;
-				width: 702rpx;
-				// min-height: 156rpx;
-				border-radius: 20rpx;
-				box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(0, 0, 0, 0.1);
-
-				.info-box-top {
-					.box-top-left {
-						.top-left-1 {
-							width: 480rpx;
-							margin-bottom: 8rpx;
-						}
-
-						.img-x {
-							width: 24rpx;
-							height: 24rpx;
-						}
-					}
-
-					.box-top-right {
-						width: 100rpx;
-						height: 100rpx;
-						border-radius: 12rpx;
-					}
-				}
-
-				.info-box-quan-list {
-					width: 164rpx;
-					height: 48rpx;
-					margin: 0 8rpx 8rpx 0;
-					position: relative;
-
-					image {
-						width: 164rpx;
-						height: 48rpx;
-						position: absolute;
-						top: 0;
-						left: 0;
-						z-index: 1;
-					}
-
-					.quan-list-1 {
-						position: absolute;
-						top: 3rpx;
-						left: 8rpx;
-						z-index: 2;
-					}
-
-					.quan-list-2 {
-						position: absolute;
-						top: 8rpx;
-						right: 22rpx;
-						z-index: 2;
-					}
-				}
-			}
-		}
-
-		.head-box-1 {
-			width: 100%;
-			height: 88rpx;
-			border-bottom: 1rpx solid #eee;
-
-			.shop-type-list {
-				height: 88rpx;
-				position: relative;
-
-				.shop-item-bs {
-					position: absolute;
-					bottom: 0;
-					width: 40rpx;
-					height: 6rpx;
-					border-radius: 20rpx;
-					background-color: #41ABF5;
-					transition: left 0.5s;
-				}
-
-				.shop-item {
-					margin-right: 90rpx;
-					position: relative;
-
-					.pj-num {
-						position: absolute;
-						right: -80rpx;
-						top: 0;
-						text-align: left;
-						width: 80rpx;
-					}
-				}
-
-				.s-item {
-					font-weight: 600;
-					color: #333;
-				}
-
-				.n-item {
-					font-weight: 400;
-					color: #666;
-				}
-			}
-		}
-
-		.buy-card {
-			height: 828rpx;
-			background-color: #fff;
-			border-radius: 24rpx 24rpx 0rpx 0rpx;
-
-			.buy-card-top {
-				width: 100%;
-				height: 92rpx;
-				background: #FCF5DB;
-				border-radius: 24rpx 24rpx 0rpx 0rpx;
-			}
-
-			.buy-card-item {
-				width: 100%;
-				height: 176rpx;
-				margin-bottom: 32rpx;
-
-				.goods_img {
-					width: 152rpx;
-					height: 152rpx;
-					border-radius: 12rpx;
-					margin-right: 20rpx;
-				}
-			}
-		}
-
-	}
-</style>
+  .wh-44 {
+    width: 44rpx;
+    height: 44rpx;
+  }
+
+  .blank-text {
+    line-height: 32vh;
+  }
+
+  .pop-coupon {
+    width: 100%;
+    height: 42vh;
+    background-color: #F5F4F9;
+    border-radius: 24rpx 24rpx 0rpx 0rpx;
+    padding-top: 32rpx !important;
+    display: flex;
+    flex-direction: column;
+
+    .box-title {
+      position: relative;
+
+      .box-close {
+        position: absolute;
+        right: 22rpx;
+      }
+    }
+
+    .item-right {
+      padding: 24rpx;
+      box-sizing: border-box;
+      border-radius: 20rpx 0 0 20rpx;
+      position: relative;
+    }
+
+    .item-hr {
+      width: 0px;
+      height: auto;
+      border-right: 1rpx dashed #FB7850;
+    }
+
+    .item-hr-two {
+      width: 0px;
+      height: auto;
+      border-right: 1rpx dashed #999;
+    }
+
+    .item-left {
+      width: 220rpx;
+      height: auto;
+      padding: 20rpx 24rpx;
+      box-sizing: border-box;
+      position: relative;
+      border-radius: 0 20rpx 20rpx 0;
+    }
+
+    .but-box {
+      width: 152rpx;
+      height: 52rpx;
+      line-height: 52rpx;
+      text-align: center;
+      background: linear-gradient(225deg, #FB3D03 0%, #FF6901 100%);
+      border-radius: 200rpx;
+    }
+
+    .ball {
+      width: 24rpx;
+      height: 24rpx;
+      border-radius: 50%;
+      position: absolute;
+      top: -12rpx;
+      left: -12rpx;
+      background: #F5F5F5;
+      z-index: 2;
+    }
+
+    .ball-two {
+      width: 24rpx;
+      height: 24rpx;
+      border-radius: 50%;
+      position: absolute;
+      background: #F5F5F5;
+      z-index: 10;
+      bottom: -12rpx;
+      left: -12rpx;
+    }
+  }
+
+
+  .shop-index {
+    position: relative;
+
+    .right-only-right-red {
+      width: 44rpx;
+      height: 44rpx;
+      line-height: 40rpx;
+      border-radius: 12rpx;
+      border: 1rpx solid #41ABF5;
+      color: #41ABF5;
+    }
+
+    .right-only-right-add {
+      width: 44rpx;
+      height: 44rpx;
+      line-height: 40rpx;
+      background: linear-gradient(117deg, #57CAFF 0%, #41ABF5 100%);
+      border-radius: 12rpx;
+    }
+
+    .right-only-right-2 {
+      min-width: 50rpx;
+    }
+
+    .w-514 {
+      width: 514rpx;
+    }
+
+    .bg-img {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 280rpx;
+      z-index: -1;
+    }
+
+    .mb-box {
+      position: absolute;
+      top: 0;
+      left: 0;
+      width: 100%;
+      height: 280rpx;
+      z-index: -1;
+      background: rgba(51, 51, 51, 0.50);
+    }
+
+    .nav-box {
+      margin-bottom: 110rpx;
+
+      .nav-img {
+        width: 56rpx;
+        height: 56rpx;
+      }
+    }
+
+    .shop-buttom-money {
+      width: 100%;
+      height: 140rpx;
+      background: rgba(255, 255, 255, 0.8);
+      padding: 20rpx 24rpx;
+
+      .shop-buttom-money-1 {
+        width: 100%;
+        height: 100%;
+        background: #333333;
+        border-radius: 200rpx;
+        box-sizing: border-box;
+        padding-left: 136rpx;
+        // padding-right: 32rpx;
+        position: relative;
+
+        image {
+          position: absolute;
+          bottom: 0;
+          left: 8rpx;
+          width: 128rpx;
+          height: 128rpx;
+        }
+
+        .shop-buttom-num {
+          width: 32rpx;
+          height: 32rpx;
+          line-height: 32rpx;
+          background: #FB3D03;
+          border-radius: 50%;
+          position: absolute;
+          top: 36rpx;
+          left: 82rpx;
+        }
+
+        .shop-buttom-money-2 {
+          width: 200rpx;
+          height: 100rpx;
+          line-height: 100rpx;
+          background: #41ABF5;
+          border-radius: 0rpx 200rpx 200rpx 0rpx;
+        }
+      }
+    }
+
+
+    .head-box {
+      width: 100%;
+      position: relative;
+
+      .shop-info-box {
+        position: absolute;
+        top: -50rpx;
+        left: 24rpx;
+        width: 702rpx;
+        // min-height: 156rpx;
+        border-radius: 20rpx;
+        box-shadow: 0rpx 0rpx 20rpx 0rpx rgba(0, 0, 0, 0.1);
+
+        .info-box-top {
+          .box-top-left {
+            .top-left-1 {
+              width: 480rpx;
+              margin-bottom: 8rpx;
+            }
+
+            .img-x {
+              width: 24rpx;
+              height: 24rpx;
+            }
+          }
+
+          .box-top-right {
+            width: 100rpx;
+            height: 100rpx;
+            border-radius: 12rpx;
+          }
+        }
+
+        .info-box-quan-list {
+          width: 164rpx;
+          height: 48rpx;
+          margin: 0 8rpx 8rpx 0;
+          position: relative;
+
+          image {
+            width: 164rpx;
+            height: 48rpx;
+            position: absolute;
+            top: 0;
+            left: 0;
+            z-index: 1;
+          }
+
+          .quan-list-1 {
+            position: absolute;
+            top: 3rpx;
+            left: 8rpx;
+            z-index: 2;
+          }
+
+          .quan-list-2 {
+            position: absolute;
+            top: 8rpx;
+            right: 22rpx;
+            z-index: 2;
+          }
+        }
+      }
+    }
+
+    .head-box-1 {
+      width: 100%;
+      height: 88rpx;
+      border-bottom: 1rpx solid #eee;
+
+      .shop-type-list {
+        height: 88rpx;
+        position: relative;
+
+        .shop-item-bs {
+          position: absolute;
+          bottom: 0;
+          width: 40rpx;
+          height: 6rpx;
+          border-radius: 20rpx;
+          background-color: #41ABF5;
+          transition: left 0.5s;
+        }
+
+        .shop-item {
+          margin-right: 90rpx;
+          position: relative;
+
+          .pj-num {
+            position: absolute;
+            right: -80rpx;
+            top: 0;
+            text-align: left;
+            width: 80rpx;
+          }
+        }
+
+        .s-item {
+          font-weight: 600;
+          color: #333;
+        }
+
+        .n-item {
+          font-weight: 400;
+          color: #666;
+        }
+      }
+    }
+
+    .buy-card {
+      height: 828rpx;
+      background-color: #fff;
+      border-radius: 24rpx 24rpx 0rpx 0rpx;
+
+      .buy-card-top {
+        width: 100%;
+        height: 92rpx;
+        background: #FCF5DB;
+        border-radius: 24rpx 24rpx 0rpx 0rpx;
+      }
+
+      .buy-card-item {
+        width: 100%;
+        height: 176rpx;
+        margin-bottom: 32rpx;
+
+        .goods_img {
+          width: 152rpx;
+          height: 152rpx;
+          border-radius: 12rpx;
+          margin-right: 20rpx;
+        }
+      }
+    }
+
+  }
+</style>

+ 6 - 6
pages-takeout/takeout.vue

@@ -23,7 +23,7 @@
 
 		<scroll-view scroll-y="true" class="scroll-view-css" @scrolltolower="scrolltolower" @scroll="scrollFun">
 			<view class="">
-				<view class="s-input box-border-box plr-24">
+				<view class="s-input box-border-box plr-24" v-show="!isScroll">
 					<view class="input-icon">
 						<uni-icons type="search" size="22" color="#999"></uni-icons>
 					</view>
@@ -69,7 +69,7 @@
 										</view>
 										<view class="align-items-center flex-wrap-wrap">
 											<view class="quan-list display-flex mr-12 mb-12"
-												v-for="(itemCoupon,iCoupon) in item.coupon" :key="i">
+												v-for="(itemCoupon,iCoupon) in item.coupon" :key="iCoupon">
 												<view class="quan-list-1 fs-24 fc-f">券</view>
 												<view class="quan-list-2 fs-24 fc-FB3D03">{{itemCoupon.money}}元</view>
 											</view>
@@ -109,7 +109,7 @@
 							<image class="black-custom-img" src="@/static/img/common/no-order.png" mode=""></image>
 						</template>
 					</EnBlank>
-					<view v-else class="goos-list-box box-border-box p-24 display-flex" v-for="(item,i) in listData"
+					<view v-else class="goos-list-box box-border-box p-24 display-flex" v-for="(item,i) in listData" :key='i'
 						@click="toShop(item)">
 						<view class="left-img-box">
 							<image class="left-img" :src="item.shop_logo" mode="aspectFill"></image>
@@ -132,14 +132,14 @@
 							</view>
 							<view class="align-items-center flex-wrap-wrap">
 								<view class="quan-list display-flex mr-12 mb-12"
-									v-for="(itemCoupon,iCoupon) in item.coupon" :key="i">
+									v-for="(itemCoupon,iCoupon) in item.coupon" :key="iCoupon">
 									<view class="quan-list-1 fs-24 fc-f">券</view>
 									<view class="quan-list-2 fs-24 fc-FB3D03">{{itemCoupon.money}}元</view>
 								</view>
 							</view>
 
 							<view class="goods-items-list display-flex view-nowrap">
-								<view class="goods-items-list-box" v-for="(info,iGoods) in item.goods">
+								<view class="goods-items-list-box" v-for="(info,iGoods) in item.goods" :key='iGoods'>
 									<image class="mb-12" :src="info.goods_image" mode="scaleToFill"></image>
 									<view class="mb-8 fw-600 text-overflow-ellipsis-one fs-26">{{info.goods_name}}
 									</view>
@@ -215,7 +215,7 @@
 				this.BanenerCurrent = e.detail.current;
 			},
 			scrollFun(e) {
-				if (e.target.scrollTop > 50) {
+				if (e.target.scrollTop > 60) {
 					this.isScroll = true;
 				} else {
 					this.isScroll = false;