Browse Source

Merge branch 'master' into debt

shish 1 năm trước cách đây
mục cha
commit
9cee528975

+ 71 - 9
ghsApp/src/admin/billing/affirm.vue

@@ -198,17 +198,32 @@
 
           <tui-list-cell class="line-cell" :arrow="true">
             <div class="tui-title">开单人</div>
-            <picker mode="selector" :value="form.getStaffId" :range="staffList" range-key="name" @change="kdChange" class="tui-input" >
-              <input v-model="form.getStaffId" name="getStaffId" type="text" hidden />
-              <div style="padding:6upx 0 6upx 0;" v-if="form.getStaffName!=''">{{form.getStaffName}}</div>
-              <div v-else style="padding:6upx 0 6upx 0;color:#CCCCCC;">请选择</div>
-            </picker>
+            <view class="uni-input" v-if="form.getStaffId==0" style="color:#CCCCCC;width:400upx;" @click="changeStaff()">请选择</view>
+            <view class="uni-input" v-else @click="changeStaff()" style="width:400upx;">{{ form.getStaffName ? form.getStaffName : '请选择' }}</view>
           </tui-list-cell>
 
+          <uni-popup ref="staffRef" background-color="#fff" type="center" :animation="false" class="class-popup-style">
+            <view style="max-height:80vh;overflow: scroll;">
+              <view style="margin-left:30upx;margin-top:19upx;font-size:27upx;font-weight:bold;">请选择:</view>
+              <view style="display:flex;padding:20upx;height:auto;justify-content: flex-start;align-items:center;flex-wrap:wrap;max-height:100vh;overflow:auto;">
+                <view v-for="(item, index) in staffList" :key="index" style="margin-bottom:20upx;margin-left:3upx;">
+                  <button
+                    class="admin-button-com staff-btn"
+                    @click.stop="getCurrentStaff(item)"
+                    :class="{'selected': form.getStaffId === item.id}"
+                  >
+                    {{ item.name }}
+                  </button>
+                </view>
+              </view>
+              <view style="text-align:center;padding:10upx 0 10upx 0;"><button class="admin-button-com big blue" @click="cancelCurrentStaff()">取消选择</button></view>
+            </view>
+          </uni-popup>
+
 					<tui-list-cell class="line-cell" :hover="false" :arrow="true">
 						<view class="tui-title">账单日期</view>
-            <view class="uni-input" v-if="form.historyDate==''" style="color:#CCCCCC;" @click="bindHistoryDateChange">请选择,默认当天</view>
-            <view class="uni-input" @click="bindHistoryDateChange">{{form.historyDate}}</view>
+            <view class="uni-input" v-if="form.historyDate==''" style="color:#CCCCCC;width:400upx;" @click="bindHistoryDateChange">请选择,默认当天</view>
+            <view class="uni-input" @click="bindHistoryDateChange" v-else style="width:400upx;">{{form.historyDate}}</view>
 					</tui-list-cell>
 
           <tui-list-cell class="line-cell" :hover="false" :arrow="false">
@@ -339,6 +354,7 @@ export default {
         payWay:0,
         needPrint:1,//订单生成时打印订单1需要2不需要
         hasPay:0,
+        getStaffId:0,
         getStaffName:'',
         dealPrice:0,
         wlName:''
@@ -355,7 +371,8 @@ export default {
       calc:'add',
       diffPriceList:[],
       currentShop:{default:0},
-      book:0
+      book:0,
+      selectStaff: { id: '', name: '' },
     };
   },
   onLoad (option) {
@@ -420,6 +437,12 @@ export default {
       this.form.needPrint = 2
     }
 
+    // 同步selectStaff和form
+    if(this.form.getStaffId && this.form.getStaffName) {
+      this.selectStaff.id = this.form.getStaffId
+      this.selectStaff.name = this.form.getStaffName
+    }
+
 	},
 	onUnload(){
 			uni.removeStorageSync('newClient')
@@ -671,7 +694,24 @@ export default {
     },
     pageToItemList() {
       this.$util.pageTo({url: '/admin/billing/index2?customId='+this.option.customId,type:2})
-    }
+    },
+    changeStaff() {
+      this.$refs.staffRef.open('center')
+    },
+    getCurrentStaff(item) {
+      this.form.getStaffId = item.id
+      this.form.getStaffName = item.name
+      this.selectStaff.id = item.id
+      this.selectStaff.name = item.name
+      this.$refs.staffRef.close()
+    },
+    cancelCurrentStaff() {
+      this.form.getStaffId = 0
+      this.form.getStaffName = ''
+      this.selectStaff.id = ''
+      this.selectStaff.name = ''
+      this.$refs.staffRef.close()
+    },
   }
 };
 </script>
@@ -944,4 +984,26 @@ export default {
 .normal-price{
   color:#c1acac;
 }
+.staff-btn {
+  min-width: 160upx;
+  padding: 0 27upx;
+  height: 80upx;
+  font-size: 40upx;
+  font-weight: bold;
+  margin: 8upx 8upx 0 0;
+  border-radius: 16upx;
+  background: #f0f2f6;
+  color: #333;
+  border: 2upx solid #e0e0e0;
+  transition: none;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.staff-btn.selected,
+.staff-btn:active {
+  background: #f0f2f6;
+  color: #333;
+  border-color: #e0e0e0;
+}
 </style>

+ 32 - 4
ghsApp/src/admin/order/statBook.vue

@@ -55,11 +55,17 @@
 		</view>
 
 		<uni-popup ref="staffRef" background-color="#fff" type="center" :animation="false" class="class-popup-style">
-			<view style="max-height:90vh;overflow: scroll;">
+			<view style="max-height:80vh;overflow: scroll;">
 				<view style="margin-left:30upx;margin-top:19upx;font-size:27upx;font-weight:bold;">请选择:</view>
-				<view style="display:flex;padding:20upx;height:auto;justify-content: space-between;align-items:center;flex-wrap:wrap;max-height:100vh;overflow:auto;">
-					<view v-for="(item, index) in staffData" :key="index" @tap.stop="getCurrentStaff(item)" style="margin-bottom:20upx;margin-left:3upx;">
-						<view style="margin-top:8upx;overflow: hidden;white-space: nowrap;width:120upx;text-align:center;font-weight:bold;font-size:30upx;">{{item.name}}</view>
+				<view style="display:flex;padding:20upx;height:auto;justify-content: flex-start;align-items:center;flex-wrap:wrap;max-height:100vh;overflow:auto;">
+					<view v-for="(item, index) in staffData" :key="index" style="margin-bottom:20upx;margin-left:3upx;">
+						<button
+							class="admin-button-com staff-btn"
+							@click.stop="getCurrentStaff(item)"
+							:class="{'selected': selectStaff.id === item.id}"
+						>
+							{{ item.name }}
+						</button>
 					</view>
 				</view>
 				<view style="text-align:center;padding:10upx 0 10upx 0;"><button class="admin-button-com big blue" @click="cancelCurrentStaff()">取消选择</button></view>
@@ -354,4 +360,26 @@ export default {
 		}
 	}
 }
+.staff-btn {
+	min-width: 160upx;
+	padding: 0 27upx;
+	height: 80upx;
+	font-size: 40upx;
+	font-weight: bold;
+	margin: 8upx 8upx 0 0;
+	border-radius: 16upx;
+	background: #f0f2f6;
+	color: #333;
+	border: 2upx solid #e0e0e0;
+	transition: none;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+}
+.staff-btn.selected,
+.staff-btn:active {
+	background: #f0f2f6;
+	color: #333;
+	border-color: #e0e0e0;
+}
 </style>

+ 4 - 0
ghsApp/src/api/refund/index.js

@@ -36,3 +36,7 @@ export const refundList = data => {
 export const getRefundListByItem = data => {
 	return https.get('/refund/get-list-by-item', data)
 }
+
+export const changeRefundOption = data => {
+	return https.post('/refund/change-refund-option', data)
+}

+ 6 - 1
ghsApp/src/pagesOrder/refundDetail.vue

@@ -13,6 +13,9 @@
 				<view class="flex list-title">
 					{{res.name}} ¥{{parseFloat(res.xhUnitPrice)}}x{{res.xhNum}}{{res.xhUnitName}}=¥{{parseFloat(res.xhPrice)}}
 				</view>
+				<view class="flex list-title" v-if="res.refundOptionId!=0" style="color:#ad760d;height:auto;padding-bottom:8upx;font-size:24upx;">
+					<text>{{ res.refundOptionName }}</text>
+				</view>
 			</view>
 			</view>
 		</view>
@@ -131,6 +134,9 @@ export default {
 			this.from = this.option.from
 		}
 	},
+	onShow(){
+		this.init()
+	},
 	methods: {
 		cancelChange(){
 			this.refundAmount = ''
@@ -281,7 +287,6 @@ export default {
 				.list-title{
 					height: 60upx;
 					padding-bottom: 20upx;
-
 				}
 				.list-val{
 					input{

+ 72 - 4
ghsApp/src/pagesOrder/refundSuccess.vue

@@ -10,8 +10,12 @@
             已报损{{item.xhWasteNum}}{{item.xhUnitName}}
             </text>
           </text>
-          <button class="admin-button-com middle" style="margin:10upx auto 0 auto;" @click="beginWastage(item)" v-if="item.xhUnitType == 0">报损</button>
-          <button class="admin-button-com middle" style="margin:10upx auto 0 auto;" @click="pageTo({url:'/admin/item/detail?id='+item.productId})" v-else>去损报</button>
+          <view style="margin-top:10upx;margin-bottom:10upx;color:#ad760d;font-size:30upx;" v-if="item.refundOptionId!=0">{{ item.refundOptionName }}</view>
+          <view style="width:420upx;">
+            <button class="admin-button-com middle" style="width:200upx;" @click="beginWastage(item)" v-if="item.xhUnitType == 0">报损</button>
+            <button class="admin-button-com middle" style="width:200upx;" @click="pageTo({url:'/admin/item/detail?id='+item.productId})" v-else>去损报</button>
+            <button class="admin-button-com middle" style="margin-left:10upx;width:200upx;" @click="selOption(item)">售后原因</button>
+          </view>
         </view>
       </block>
     </view>
@@ -28,11 +32,31 @@
 		</template>
 		</modal-module>
 
+		<uni-popup ref="optionRef" background-color="#fff" type="center" :animation="false" class="class-popup-style">
+			<view style="max-height:90vh;overflow: scroll;">
+				<view style="margin-left:30upx;margin-top:19upx;font-size:27upx;font-weight:bold;">请选择:</view>
+				<view style="display:flex;padding:20upx;height:auto;justify-content: flex-start;align-items:center;flex-wrap:wrap;max-height:100vh;overflow:auto;">
+					<view v-for="(item, index) in refundOption" :key="index" style="margin-bottom:20upx;margin-left:3upx;">
+						<button
+							class="admin-button-com staff-btn"
+							@click.stop="getOption(item)"
+							:class="{'selected': currentInfo.refundOptionId === item.id}"
+						>
+							{{ item.name }}
+						</button>
+					</view>
+				</view>
+				<view style="text-align:center;padding:10upx 0 10upx 0;">
+					<button class="admin-button-com big blue" style="width:210upx;" @click="cancelOption()">取消选择</button>
+				</view>
+			</view>
+		</uni-popup>
+
   </appResult>
 </template>
 <script>
 import appResult from "@/components/app-result";
-import { refundDetail,refundWaste } from "@/api/refund";
+import { refundDetail,refundWaste,changeRefundOption } from "@/api/refund";
 import ModalModule from "@/components/plugin/modal"
 export default {
   name: "commonSuccess",
@@ -48,10 +72,28 @@ export default {
 			wastageItemId:0,
 			wastageShow:false,
 			wastageNum:0,
-      refundItemId:0
+      refundItemId:0,
+      refundOption:[],
+      currentInfo:{}
 		};
 	},
 	methods: {
+    selOption(info){
+      this.$refs.optionRef.open('center')
+      this.currentInfo = info
+    },
+    cancelOption(){
+      this.$refs.optionRef.close()
+    },
+		getOption(item){
+      changeRefundOption({id:this.option.id,sonId:this.currentInfo.id,optionId:item.id}).then(res=>{
+        if(res.code == 1){
+          this.$msg('修改成功')
+          this.init()
+          this.$refs.optionRef.close()
+        }
+      })
+		},
     beginWastage(item){
       this.wastageShow = true
       this.wastageNum = item.xhNum
@@ -63,6 +105,7 @@ export default {
 			refundDetail({ id: this.option.id }).then(res=>{
         that.info = res.data.info ? res.data.info : []
         that.itemList = res.data.itemList ? res.data.itemList : []
+        that.refundOption = res.data.itemRefundOption?res.data.itemRefundOption:[]
 			})
     },
     goBack() {
@@ -94,4 +137,29 @@ export default {
 	margin-bottom: 20upx;
 	width: 100%;
 }
+.class-popup-style{
+	z-index:99999;
+}
+.staff-btn {
+  min-width: 160upx;
+  padding: 0 27upx;
+  height: 80upx;
+  font-size: 40upx;
+  font-weight: bold;
+  margin: 8upx 8upx 0 0;
+  border-radius: 16upx;
+  background: #f0f2f6;
+  color: #333;
+  border: 2upx solid #e0e0e0;
+  transition: none;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+.staff-btn.selected,
+.staff-btn:active {
+  background: #f0f2f6;
+  color: #333;
+  border-color: #e0e0e0;
+}
 </style>

+ 20 - 2
hdApp/src/pagesPurchase/contact.vue

@@ -1,12 +1,29 @@
 <template>
   <view class="app-content">
+
     <view>
-      <view style="font-size:40upx;font-weight:bold;margin-top:10upx;margin-bottom:10upx;">花材质量问题,请通过下图位置找商家:</view>
+      <view style="font-size:40upx;font-weight:bold;margin-top:10upx;margin-bottom:10upx;">花材质量问题、价格问题,请通过下图位置找商家:</view>
       <view style="border:1upx solid #CCCCCC;"><image class="logo" :src="`${constant.imgUrl}/shop/contact_shop.png`" alt mode="widthFix" ></image></view>
     </view>
+    <view style="font-size:40upx;margin-top:40upx;font-weight:bold;color:#3385ff;">零售花店,常见问题汇总:</view>
+
+    <view style="margin-top:20upx;color:#3385ff;font-size:30upx;font-weight:bold;">我注册之后,怎么看不到商家,不能买花?</view>
+    <view style="font-size:30upx;">答:直接搜索【花掌柜】注册,上面是不会显示商家的,你只能找批发店拿二维码,通过扫二维码进去注册之后,才会有商家</view>
+
+    <view style="margin-top:20upx;color:#3385ff;font-size:30upx;font-weight:bold;">我注册之后,能不能注销?</view>
+    <view style="font-size:30upx;">答:注册之后暂时不能注销,不需要理会它就行。我们没有时间处理这块需求,请勿联系,否则可能挨骂,如确实有问题先找你的批发店反应,批发店再反应到我们这边。</view>
+
+    <view style="margin-top:20upx;color:#3385ff;font-size:30upx;font-weight:bold;">我注册之后,显示的价格异常,怎么办?</view>
+    <view style="font-size:30upx;">答:价格异常,请联系你的批发店,跟批发店设置有关。跟你注册时怎么填写是没有关系的,不需要注销,重新注册。如不联系批发店,注销重新注册,结果也一样的。</view>
+
     <view style="font-size:40upx;margin-top:80upx;font-weight:bold;">
-      软件问题,系统问题,申请新商城,请联系软件公司,微信:<text @click="suggest" style="color:#3385ff;margin-left:10upx;">15280215347</text>
+    零售花店,请勿联系,否则可能挨骂。现在我们服务商家太多,公司客服人员不足,暂时没办法给你提供服务,请谅解。
     </view>
+
+    <view style="font-size:40upx;margin-top:80upx;font-weight:bold;color: red;">
+    批发店,如碰到软件问题、系统问题和申请新商城需求,请联系软件公司,微信:<text @click="suggest" style="color:#3385ff;margin-left:10upx;">15280215347 点击复制</text>
+    </view>
+
   </view>
 </template>
 <script>
@@ -39,6 +56,7 @@ export default {
   padding-top: 20upx;
   padding-left:10upx;
   padding-right:10upx;
+  padding-bottom:50upx;
 }
 .prompt-text {
   color: $fontColor3;

+ 22 - 5
mallApp/src/pages/billing/affirmGhs.vue

@@ -38,9 +38,23 @@
 				<view class="module-com input-line-wrap">
 
 					<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
-						<button v-if="account != 4805" class="admin-button-com big" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:180upx;border:none;" @click="changeSendType(2)">代叫跑腿</button>
-						<button class="admin-button-com big" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:180upx;border:none;"  @click="changeSendType(1)">到店自取</button>
-						<button v-if="account != 4805 && account != 4609" class="admin-button-com big" :class="[form.sendType == 0 ? 'blue' : 'default']" style="width:180upx;border:none;"  @click="changeSendType(0)">送货上门</button>
+						<block v-if="account == 4805">
+							<button class="admin-button-com big" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:180upx;border:none;"  @click="changeSendType(1)">到店自取</button>
+						</block>
+						<block v-else-if="account == 4609">
+							<button class="admin-button-com big" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:180upx;border:none;" @click="changeSendType(2)">代叫跑腿</button>
+							<button class="admin-button-com big" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:180upx;border:none;"  @click="changeSendType(1)">到店自取</button>
+						</block>
+						<block v-else-if="account == 27829">
+							<button class="admin-button-com big" :class="[form.sendType == 0 ? 'blue' : 'default']" style="width:180upx;border:none;"  @click="changeSendType(0)">送货上门</button>
+							<button class="admin-button-com big" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:180upx;border:none;" @click="changeSendType(2)">代叫跑腿</button>
+							<button class="admin-button-com big" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:180upx;border:none;"  @click="changeSendType(1)">到店自取</button>
+						</block>
+						<block v-else>
+							<button class="admin-button-com big" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:180upx;border:none;" @click="changeSendType(2)">代叫跑腿</button>
+							<button class="admin-button-com big" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:180upx;border:none;"  @click="changeSendType(1)">到店自取</button>
+							<button class="admin-button-com big" :class="[form.sendType == 0 ? 'blue' : 'default']" style="width:180upx;border:none;"  @click="changeSendType(0)">送货上门</button>
+						</block>
 					</tui-list-cell>
 
 					<tui-list-cell class="line-cell" :hover="false" :arrow="false">
@@ -60,7 +74,7 @@
 						</view>
 					</tui-list-cell>
 
-					<tui-list-cell class="line-cell" :hover="false" :arrow="true" v-if="form.sendType == 2" @click="modifyAddress">
+					<tui-list-cell class="line-cell" :hover="false" :arrow="true" v-if="form.sendType == 2 || form.sendType == 0" @click="modifyAddress">
 						<view class="tui-title">收花地址</view>
 						<view v-if="!$util.isEmpty(userInfo.lat) && !$util.isEmpty(userInfo.long)">
 							<view><text>{{userInfo.fullAddress}}</text></view>
@@ -223,6 +237,9 @@ export default {
 				if(this.account == 4805){
 					this.form.sendType = 1
 				}
+				if(this.account == 27829){
+					this.form.sendType = 0
+				}
 			}
 			this.getUserInfo()
 		},
@@ -287,7 +304,7 @@ export default {
 			});
 			let hdId = this.option.hdId ? this.option.hdId : 0
 			let params = { product: JSON.stringify(product),...this.form,hdId:hdId }
-			if(this.form.sendType == 2){
+			if(this.form.sendType == 2 || this.form.sendType == 0){
 				if(this.$util.isEmpty(this.userInfo.lat) || this.$util.isEmpty(this.userInfo.long)){
 					this.$msg('请填写地址')
 					return false

+ 318 - 440
mallApp/src/pages/home/recent.vue

@@ -1,91 +1,51 @@
 <template>
-  <view class="latest-content_box">
-    <view class="shop-list_box" v-if="showGlInfo == 0">
-
-  <block v-if="loginStyle  == 0">
-    <view style="width:100vw;height:500upx;display:flex;align-items:center;justify-content:center;">
-      <button class="admin-button-com big blue" style="border:none;" @click="pageTo({url:'/pages/login/index'})">点我登录</button>
-    </view>
-  </block>
-  <block v-else>
-
-
-      <view class="ghs_list_page flex-col" v-if="!$util.isEmpty(list)">
-
-        <view style="background-color:white;margin-bottom:20upx;display: flex;flex-direction: row;justify-content: space-around;">
-          <button class="admin-button-com mini-btn blue top-button" @click="">修改密码</button>
-          <button class="admin-button-com mini-btn blue top-button" @click="">改进建议</button>
-          <button class="admin-button-com mini-btn blue top-button" @click="">我的地址</button>
-          <button class="admin-button-com mini-btn blue top-button" @click="">采购统计</button>
-          <button class="admin-button-com mini-btn blue top-button" @click="logout()">退出登录</button>
+  <scroll-view
+    scroll-y
+    style="height: 100vh; width: 100vw;"
+    @scrolltolower="toBottom"
+  >
+    <view class="shop-list_box">
+      <block v-if="loginStyle  == 0">
+        <view style="width:100vw;height:500upx;display:flex;align-items:center;justify-content:center;">
+          <button class="admin-button-com big blue" style="border:none;" @click="pageTo({url:'/pages/login/index'})">点我登录</button>
         </view>
-
-        <view class="ghs_list_area flex-col justify-end">
-
-            <view class="ghs_box flex-col justify-end" v-for="item in list" :key="item.id">
-              <view class="image-text_7 flex-row justify-between" @click.stop="bug(item)">
-                <view class="section_1 flex-col">
-                  <image class="logo" :src="item.smallAvatar" />
+      </block>
+      <block v-else>
+        <view class="ghs_list_page flex-col" v-if="!$util.isEmpty(list.data)">
+          <view style="background-color:white;margin-bottom:20upx;display: flex;flex-direction: row;justify-content: space-around;">
+            <button class="admin-button-com mini-btn blue top-button" @click="">修改密码</button>
+            <button class="admin-button-com mini-btn blue top-button" @click="">改进建议</button>
+            <button class="admin-button-com mini-btn blue top-button" @click="">我的地址</button>
+            <button class="admin-button-com mini-btn blue top-button" @click="">采购统计</button>
+            <button class="admin-button-com mini-btn blue top-button" @click="logout()">退出登录</button>
+          </view>
+          <view class="ghs_list_area flex-col justify-end">
+              <view class="ghs_box flex-col justify-end" v-for="item in list.data" :key="item.id">
+                <view class="image-text_7 flex-row justify-between" @click.stop="bug(item)">
+                  <view class="section_1 flex-col">
+                    <image class="logo" :src="item.smallAvatar" />
+                  </view>
+                  <view class="text-group_7 flex-col justify-between">
+                    <text class="text_8">{{item.name}}</text>
+                    <text class="text_9">{{item.address}}{{item.floor}}</text>
+                  </view>
                 </view>
-                <view class="text-group_7 flex-col justify-between">
-                  <text class="text_8">{{item.name}}</text>
-                  <text class="text_9">{{item.address}}{{item.floor}}</text>
+                <view class="box_4 flex-col"></view>
+                <view class="box_9">
+                  <view class="tag_2" @click="showTip()"> <text>待结订单</text> </view>
+                  <view class="tag_2" @click="showTip()"> <text>结账记录</text> </view>
+                  <view class="tag_2" @click="getBuyList()"> <text>买花记录</text> </view>
                 </view>
+                <view class="button_4 flex-col" @click.stop="bug(item)"><text class="text_13">买花</text></view>
               </view>
-              <view class="box_4 flex-col"></view>
-              <view class="box_9">
-                <view class="tag_2" @click="showTip()"> <text>待结订单</text> </view>
-                <view class="tag_2" @click="showTip()"> <text>结账记录</text> </view>
-                <view class="tag_2" @click="getBuyList()"> <text>买花记录</text> </view>
-              </view>
-              <view class="button_4 flex-col" @click.stop="bug(item)"><text class="text_13">买花</text></view>
-            </view>
-
-        </view>
-      </view>
-      <view v-else>
-        <text style="margin-top:200upx;margin-left:80upx;font-size:30upx;font-weight:bold;">暂无花店</text>
-      </view>
-
-  </block>
-
-    </view>
-    <view class="app-main app-content" v-else>
-    <app-swiper :list="ad" />
-    <view class="shop-wrap">
-      <view class="shop-tit">花卉宝</view>
-      <view>厦门市中花汇信息有限公司,成立于2015年,目前旗下有销花宝、花卉宝和花掌柜三个品牌,公司致力于帮助花店更轻松高效管理花店。</view>
-    </view>
-    <view class="list-content">
-      <tui-list-view class="tui-list-view">
-        <tui-list-cell :lineLeft="false" :lineRight="false" class="tui-list" >
-          <view class="list-wrap">
-            <view class="list-label">营业时间</view>
-            <view class="list-val">{{ shop.openTime || '08:00-22:00' }}</view>
-          </view>
-        </tui-list-cell>
-        <tui-list-cell @click="phoneCall" :lineLeft="false" :lineRight="false" class="tui-list" >
-          <view class="list-wrap">
-            <view class="list-label">联系电话</view>
-            <view class="list-val">{{ shop.telephone || '15280215347' }}</view>
-          </view>
-          <view class="list-icon">
-            <i class="iconfont iconditu" style="font-size:36upx;" ></i>
           </view>
-        </tui-list-cell>
-        <tui-list-cell @click="goNavBtn" :lineLeft="false" :lineRight="false" class="tui-list" >
-          <view class="list-wrap">
-            <view class="list-label">公司地址</view>
-            <view class="list-val">厦门市软件园二期夜光汇2号楼521室</view>
-          </view>
-          <view class="list-icon">
-            <i class="iconfont icondianhua" style="font-size:36upx;" ></i>
-          </view>
-        </tui-list-cell>
-      </tui-list-view>
+        </view>
+        <view v-else>
+          <text style="margin-top:200upx;margin-left:80upx;font-size:30upx;font-weight:bold;">暂无花店</text>
+        </view>
+      </block>
     </view>
-  </view>
-  </view>
+  </scroll-view>
 </template>
 <script>
 import AppSwiper from "@/components/app-swiper";
@@ -97,15 +57,13 @@ import { share } from "@/mixins";
 import AppAvatarModule from "@/components/module/app-avatar";
 import { mapGetters } from 'vuex'
 import { clearLogin } from "@/api/user";
+import { list } from "@/mixins";
 export default {
   name: "recent",
   components: { AppAvatarModule, AppSwiper, TuiListView, TuiListCell, AppActivilyCoupon },
-  mixins: [share],
+  mixins: [share,list],
   data () {
     return {
-      list: [],
-      showGlInfo: 0,
-      ad:[{"img":`${this.$constant.imgUrl}/logo2.jpg?v=5`}],
       //0没有登录 1有登录
       loginStyle :0
     };
@@ -128,11 +86,17 @@ export default {
       }else{
         this.loginStyle = 0
       }
-      this.getShopList()
-  },
-  onLoad () {
   },
   methods: {
+    toBottom(){
+      if (!this.list.finished) {
+        this.getMyHdList().then(res => {
+          uni.stopPullDownRefresh()
+        })
+      } else {
+        uni.stopPullDownRefresh()
+      }
+    },
     logout(){
       let that = this
       that.$util.confirmModal({content:'确认退出?'},() => {
@@ -162,13 +126,14 @@ export default {
       this.pageTo({ url:'/pages/item/item?account='+item.shopId+'&hdId='+item.id})
     },
     init () {
-        this.getShopList()
+        this.getMyHdList()
     },
-    getShopList(){
-      let that = this
-      getList().then(res=>{
-        that.list = res.data.list
-        that.showGlInfo = res.data.showGlInfo
+    getMyHdList(){
+      return getList({page: this.list.page,}).then(res=>{
+        this.completes(res);
+        if (this.$util.isEmpty(res.data)){
+          return false
+        }
       })
     }
   }
@@ -182,384 +147,297 @@ export default {
   padding: 48upx 0 80upx 40upx;
 }
 .shop-list_box {
-
-.ghs_list_page {
-  background-color: rgba(255, 255, 255, 1);
-  position: relative;
-  width: 750upx;
-  height:99vh;
-  overflow: auto;
-  .top-button{
-    padding-top:18upx;padding-bottom:18upx;border:none;margin-top:10upx;
-  }
-  .flex-col {
-    display: flex;
-    flex-direction: column;
-  }
-  .flex-row {
-    display: flex;
-    flex-direction: row;
-  }
-  .justify-start {
-      display: flex;
-      justify-content: flex-start;
+  .ghs_list_page {
+    background-color: rgba(255, 255, 255, 1);
+    position: relative;
+    width: 750upx;
+    .top-button{
+      padding-top:18upx;padding-bottom:18upx;border:none;margin-top:10upx;
     }
-  .justify-center {
+    .flex-col {
       display: flex;
-      justify-content: center;
-  }
-    
-  .justify-end {
-      display: flex;
-      justify-content: flex-end;
-  }
-  .justify-evenly {
-      display: flex;
-      justify-content: space-evenly;
-  }
-  .justify-around {
-      display: flex;
-      justify-content: space-around;
-  }
-  .justify-between {
-      display: flex;
-      justify-content: space-between;
-  }
-  .align-start {
-      display: flex;
-      align-items: flex-start;
-  }
-  .align-center {
-      display: flex;
-      align-items: center;
-  }
-  .align-end {
+      flex-direction: column;
+    }
+    .flex-row {
       display: flex;
-      align-items: flex-end;
-  }
+      flex-direction: row;
+    }
+    .justify-start {
+        display: flex;
+        justify-content: flex-start;
+      }
+    .justify-center {
+        display: flex;
+        justify-content: center;
+    }
+      
+    .justify-end {
+        display: flex;
+        justify-content: flex-end;
+    }
+    .justify-evenly {
+        display: flex;
+        justify-content: space-evenly;
+    }
+    .justify-around {
+        display: flex;
+        justify-content: space-around;
+    }
+    .justify-between {
+        display: flex;
+        justify-content: space-between;
+    }
+    .align-start {
+        display: flex;
+        align-items: flex-start;
+    }
+    .align-center {
+        display: flex;
+        align-items: center;
+    }
+    .align-end {
+        display: flex;
+        align-items: flex-end;
+    }
 
-  .ghs_list_area {
-    padding-top: 25rpx;
-    width: 750upx;
-    background-color: #ece5e5;
-    .group_1 {
-      box-shadow: 0px 1px 0px 0px rgba(221, 221, 221, 1);
-      background-color: rgba(255, 255, 255, 1);
+    .ghs_list_area {
+      padding-top: 25rpx;
       width: 750upx;
-      height: 128upx;
-      margin-top: 2upx;
-      .image_1 {
-        width: 727upx;
-        height: 20upx;
-        margin: 11upx 0 0 12upx;
-      }
-      .block_4 {
-        width: 714upx;
-        height: 64upx;
-        margin: 21upx 0 12upx 24upx;
-        .icon_1 {
-          width: 20upx;
-          height: 34upx;
-          margin-top: 16upx;
-        }
-        .text_1 {
-          width: 107upx;
-          height: 34upx;
-          overflow-wrap: break-word;
-          color: rgba(4, 4, 4, 1);
-          font-size: 36upx;
-          font-family: PingFangSC-Semibold;
-          text-align: left;
-          white-space: nowrap;
-          line-height: 24upx;
-          margin: 15upx 0 0 278upx;
+      background-color: #ece5e5;
+      .group_1 {
+        box-shadow: 0px 1px 0px 0px rgba(221, 221, 221, 1);
+        background-color: rgba(255, 255, 255, 1);
+        width: 750upx;
+        height: 128upx;
+        margin-top: 2upx;
+        .image_1 {
+          width: 727upx;
+          height: 20upx;
+          margin: 11upx 0 0 12upx;
         }
-        .applet-top-bar_1 {
-          width: 174upx;
+        .block_4 {
+          width: 714upx;
           height: 64upx;
-          margin-left: 135upx;
-        }
-      }
-    }
-    .ghs_box {
-      background-color: rgba(255, 255, 255, 1);
-      position: relative;
-      width: 750upx;
-      height: auto;
-      margin-bottom:25upx;
-      .image-text_7 {
-        width: 674upx;
-        height: 120upx;
-        margin: 40upx 0 0 31upx;
-        .section_1 {
-          width: 120upx;
-          height: 120upx;
-          .logo{
-            width:120upx;
-            height:120upx;
-            border-radius:10upx;
+          margin: 21upx 0 12upx 24upx;
+          .icon_1 {
+            width: 20upx;
+            height: 34upx;
+            margin-top: 16upx;
           }
-        }
-        .text-group_7 {
-          width: 533upx;
-          height: 99upx;
-          margin-top: 5upx;
-          .text_8 {
-            display:inline-block;
-            width: 458upx;
-            height: 38upx;
-            color: rgba(51, 51, 51, 1);
+          .text_1 {
+            width: 107upx;
+            height: 34upx;
+            overflow-wrap: break-word;
+            color: rgba(4, 4, 4, 1);
             font-size: 36upx;
-            font-weight:bold;
+            font-family: PingFangSC-Semibold;
             text-align: left;
             white-space: nowrap;
-            line-height:38upx;
-            overflow:hidden;
-            text-overflow:ellipsis;
+            line-height: 24upx;
+            margin: 15upx 0 0 278upx;
           }
-          .text_9 {
-            width: 250upx;
-            height: 29upx;
-            color: rgba(153, 153, 153, 1);
-            font-size: 26upx;
-            text-align: left;
-            white-space: nowrap;
-            text-overflow:ellipsis;
-            line-height: 29upx;
-            margin-top: 10upx;
-            overflow: hidden;
+          .applet-top-bar_1 {
+            width: 174upx;
+            height: 64upx;
+            margin-left: 135upx;
           }
         }
       }
-      .box_4 {
-        background-color: rgba(238, 238, 238, 1);
+      .ghs_box {
+        background-color: rgba(255, 255, 255, 1);
+        position: relative;
         width: 750upx;
-        height: 1upx;
-        margin-top: 40upx;
-      }
-      .box_9 {
-        height: 65upx;
-        padding: 23upx 0 22upx 30upx;
-        .tag_2 {
-          background-color: rgba(255, 255, 255, 1);
-          border-radius: 8px;
-          height: 60upx;
-          line-height:60upx;
-          border: 2px solid rgba(221, 221, 221, 1);
-          color: rgba(51, 51, 51, 1);
-          font-size: 30upx;
-          margin:0 50upx 0 0;
-          text-align:center;
-          float:left;
-          padding-left:20upx;
-          padding-right:20upx;
-        }
-        .tag_3 {
-          background-color: rgba(255, 255, 255, 1);
-          border-radius: 8px;
-          height: 60upx;
-          border: 1px solid rgba(221, 221, 221, 1);
-          margin-left: 12upx;
-          width: 140upx;
-          .text_11 {
-            width: 101upx;
-            height: 25upx;
-            overflow-wrap: break-word;
-            color: rgba(51, 51, 51, 1);
-            font-size: 26upx;
-            text-align: left;
-            white-space: nowrap;
-            line-height: 25upx;
-            margin: 17upx 0 0 20upx;
+        height: auto;
+        margin-bottom:25upx;
+        .image-text_7 {
+          width: 674upx;
+          height: 120upx;
+          margin: 40upx 0 0 31upx;
+          .section_1 {
+            width: 120upx;
+            height: 120upx;
+            .logo{
+              width:120upx;
+              height:120upx;
+              border-radius:10upx;
+            }
+          }
+          .text-group_7 {
+            width: 533upx;
+            height: 99upx;
+            margin-top: 5upx;
+            .text_8 {
+              display:inline-block;
+              width: 458upx;
+              height: 38upx;
+              color: rgba(51, 51, 51, 1);
+              font-size: 36upx;
+              font-weight:bold;
+              text-align: left;
+              white-space: nowrap;
+              line-height:38upx;
+              overflow:hidden;
+              text-overflow:ellipsis;
+            }
+            .text_9 {
+              width: 250upx;
+              height: 29upx;
+              color: rgba(153, 153, 153, 1);
+              font-size: 26upx;
+              text-align: left;
+              white-space: nowrap;
+              text-overflow:ellipsis;
+              line-height: 29upx;
+              margin-top: 10upx;
+              overflow: hidden;
+            }
           }
         }
-        .tag_4 {
-          background-color: rgba(255, 255, 255, 1);
-          border-radius: 8px;
-          height: 60upx;
-          border: 1px solid rgba(221, 221, 221, 1);
-          margin-left: 12upx;
-          width: 192upx;
-          .text_12 {
-            width: 153upx;
-            height: 25upx;
-            overflow-wrap: break-word;
+        .box_4 {
+          background-color: rgba(238, 238, 238, 1);
+          width: 750upx;
+          height: 1upx;
+          margin-top: 40upx;
+        }
+        .box_9 {
+          height: 65upx;
+          padding: 23upx 0 22upx 30upx;
+          .tag_2 {
+            background-color: rgba(255, 255, 255, 1);
+            border-radius: 8px;
+            height: 60upx;
+            line-height:60upx;
+            border: 2px solid rgba(221, 221, 221, 1);
             color: rgba(51, 51, 51, 1);
-            font-size: 26upx;
-            text-align: left;
-            white-space: nowrap;
-            line-height: 25upx;
-            margin: 17upx 0 0 18upx;
+            font-size: 30upx;
+            margin:0 50upx 0 0;
+            text-align:center;
+            float:left;
+            padding-left:20upx;
+            padding-right:20upx;
           }
-        }
-      }
-      .box_6 {
-        background-color: rgb(248, 242, 242);
-        width: 750upx;
-        height:85upx;
-        .show_clear_area {
-          width: 247upx;
-          height: 29upx;
-          margin: 26upx 0 0 30upx;
-          .icon_2 {
-            width: 22upx;
-            height: 26upx;
-            margin-top: 2upx;
+          .tag_3 {
+            background-color: rgba(255, 255, 255, 1);
+            border-radius: 8px;
+            height: 60upx;
+            border: 1px solid rgba(221, 221, 221, 1);
+            margin-left: 12upx;
+            width: 140upx;
+            .text_11 {
+              width: 101upx;
+              height: 25upx;
+              overflow-wrap: break-word;
+              color: rgba(51, 51, 51, 1);
+              font-size: 26upx;
+              text-align: left;
+              white-space: nowrap;
+              line-height: 25upx;
+              margin: 17upx 0 0 20upx;
+            }
+          }
+          .tag_4 {
+            background-color: rgba(255, 255, 255, 1);
+            border-radius: 8px;
+            height: 60upx;
+            border: 1px solid rgba(221, 221, 221, 1);
+            margin-left: 12upx;
+            width: 192upx;
+            .text_12 {
+              width: 153upx;
+              height: 25upx;
+              overflow-wrap: break-word;
+              color: rgba(51, 51, 51, 1);
+              font-size: 26upx;
+              text-align: left;
+              white-space: nowrap;
+              line-height: 25upx;
+              margin: 17upx 0 0 18upx;
+            }
           }
-          .waite_clear_order {
-            width: 214upx;
+        }
+        .box_6 {
+          background-color: rgb(248, 242, 242);
+          width: 750upx;
+          height:85upx;
+          .show_clear_area {
+            width: 247upx;
             height: 29upx;
-            overflow-wrap: break-word;
-            color: rgba(255, 40, 66, 1);
+            margin: 26upx 0 0 30upx;
+            .icon_2 {
+              width: 22upx;
+              height: 26upx;
+              margin-top: 2upx;
+            }
+            .waite_clear_order {
+              width: 214upx;
+              height: 29upx;
+              overflow-wrap: break-word;
+              color: rgba(255, 40, 66, 1);
+              font-size: 30upx;
+              font-weight:bold;
+              text-align: left;
+              white-space: nowrap;
+              line-height: 29upx;
+            }
+          }
+          .image-text_9 {
+            width: 134upx;
+            height: 27upx;
+            margin: 26upx 29upx 0 310upx;
+            .text-group_4 {
+              width: 111upx;
+              height: 27upx;
+              overflow-wrap: break-word;
+              color: rgba(255, 40, 66, 1);
+              font-size: 30upx;
+              font-weight:bold;
+              text-align: left;
+              white-space: nowrap;
+              line-height: 27upx;
+            }
+            .icon_3 {
+              width: 14upx;
+              height: 24upx;
+              margin-top: 2upx;
+            }
+          }
+        }
+        .button_4 {
+          height: 80upx;
+          line-height:80upx;
+          text-align:center;
+          background-color:#FF2842;
+          background-size: 137upx 137upx;
+          width: 130upx;
+          position: absolute;
+          left: 570upx;
+          top:90upx;
+          border-radius:20upx;
+          .text_13 {
+            color: rgba(255, 255, 255, 1);
             font-size: 30upx;
             font-weight:bold;
-            text-align: left;
-            white-space: nowrap;
-            line-height: 29upx;
           }
         }
-        .image-text_9 {
-          width: 134upx;
-          height: 27upx;
-          margin: 26upx 29upx 0 310upx;
-          .text-group_4 {
-            width: 111upx;
-            height: 27upx;
-            overflow-wrap: break-word;
-            color: rgba(255, 40, 66, 1);
+        .button_5 {
+          height: 80upx;
+          line-height:80upx;
+          text-align:center;
+          background-color:#FF2842;
+          background-size: 137upx 137upx;
+          width: 130upx;
+          position: absolute;
+          left: 430upx;
+          top: 90upx;
+          border-radius:20upx;
+          .text_13 {
+            color: rgba(255, 255, 255, 1);
             font-size: 30upx;
             font-weight:bold;
-            text-align: left;
-            white-space: nowrap;
-            line-height: 27upx;
           }
-          .icon_3 {
-            width: 14upx;
-            height: 24upx;
-            margin-top: 2upx;
-          }
-        }
-      }
-      .button_4 {
-        height: 80upx;
-        line-height:80upx;
-        text-align:center;
-        background-color:#FF2842;
-        background-size: 137upx 137upx;
-        width: 130upx;
-        position: absolute;
-        left: 570upx;
-        top:90upx;
-        border-radius:20upx;
-        .text_13 {
-          color: rgba(255, 255, 255, 1);
-          font-size: 30upx;
-          font-weight:bold;
-        }
-      }
-      .button_5 {
-        height: 80upx;
-        line-height:80upx;
-        text-align:center;
-        background-color:#FF2842;
-        background-size: 137upx 137upx;
-        width: 130upx;
-        position: absolute;
-        left: 430upx;
-        top: 90upx;
-        border-radius:20upx;
-        .text_13 {
-          color: rgba(255, 255, 255, 1);
-          font-size: 30upx;
-          font-weight:bold;
         }
       }
     }
   }
 }
-
-  .app-main{
-    
-    & > view {
-      width: 150upx;
-      margin: 0 10upx;
-      margin-bottom: 70upx;
-      display: inline-block;
-      text-align: center;
-      vertical-align: top;
-      & > .tit {
-        vertical-align: middle;
-        display: inline-block;
-        text-align: center;
-        margin-top: 30upx;
-        width: 100%;
-        white-space: nowrap;
-        overflow: hidden;
-        text-overflow: ellipsis;
-      }
-      & > image {
-        display: inline-block;
-        vertical-align: middle;
-        width: 100upx;
-        height: 100upx;
-        border-radius: 50%;
-        margin: 0 auto;
-      }
-    }
-  }
-}
-.app-footer {
-  font-size: 28upx;
-  & .des {
-    & > text {
-      color: #3385ff;
-      display: inline-block;
-      margin-left: 3upx;
-    }
-    & .iconfont {
-      color: #3385ff;
-      font-size: 22upx;
-      margin-left: 2upx;
-    }
-  }
-}
-.shop-wrap {
-  padding: 40upx 20upx;
-  color: $fontColor3;
-  background-color: #fff;
-  margin-bottom: 20upx;
-  .shop-tit {
-    font-size: 38upx;
-    color: #333;
-    font-weight: 600;
-    margin-bottom: 20upx;
-  }
-}
-.list-content {
-  background-color: #fff;
-  .tui-list {
-    width: calc(100% - 20upx);
-    @include disFlex(center, space-between);
-    margin-left: 20upx;
-    .list-wrap {
-      width: calc(100% - 40upx);
-      @include disFlex(center, flex-start);
-      color: $fontColor3;
-      .list-label {
-        width: 150upx;
-        color: #333;
-      }
-      .list-val {
-        width: calc(100% - 150upx);
-      }
-    }
-    .list-icon {
-      margin-right: 10upx;
-      .iconfont {
-        color: $mainColor;
-        font-weight: bold;
-      }
-    }
-  }
-}
 </style>