Parcourir la source

去除商城与服务业务

linwenxin il y a 9 mois
Parent
commit
ed2f2c9643
5 fichiers modifiés avec 1444 ajouts et 1374 suppressions
  1. 15 15
      src/common/utils/util.js
  2. 6 6
      src/pages.json
  3. 1234 1165
      src/pages/index/index.vue
  4. 29 29
      src/pages/mine/index.vue
  5. 160 159
      src/pages/workorder/index.vue

+ 15 - 15
src/common/utils/util.js

@@ -835,20 +835,20 @@ export const selectionChange = async function () {
               </div>
             </div>`
           },
-          shop(item) {
-            return `<div class="uni-tabbar__item" onclick="(function(){navToPage({url: '/pages/goods/index'+window.location.search})})()">
-              <div class="uni-tabbar__bd" style="height: 50px;">
-                <div class="uni-tabbar__icon" style="width: 24px; height: 24px;">
-                  <img src="${process.env.VUE_APP_BASE_PATH}static/tabBar/icon_3${index == 2 ? '_cur' : ''}.png">
-                </div>
-                <div class="uni-tabbar__label" style="color: ${
-                  index == 2 ? 'rgb(61, 143, 253)' : 'rgb(122, 126, 131)'
-                }; font-size: 10px; line-height: normal; margin-top: 3px;">
-                  ${item.name}
-                </div>
-              </div>
-            </div>`
-          },
+          // shop(item) {
+          //   return `<div class="uni-tabbar__item" onclick="(function(){navToPage({url: '/pages/goods/index'+window.location.search})})()">
+          //     <div class="uni-tabbar__bd" style="height: 50px;">
+          //       <div class="uni-tabbar__icon" style="width: 24px; height: 24px;">
+          //         <img src="${process.env.VUE_APP_BASE_PATH}static/tabBar/icon_3${index == 2 ? '_cur' : ''}.png">
+          //       </div>
+          //       <div class="uni-tabbar__label" style="color: ${
+          //         index == 2 ? 'rgb(61, 143, 253)' : 'rgb(122, 126, 131)'
+          //       }; font-size: 10px; line-height: normal; margin-top: 3px;">
+          //         ${item.name}
+          //       </div>
+          //     </div>
+          //   </div>`
+          // },
           my(item) {
             return `<div class="uni-tabbar__item" onclick="(function(){navToPage({url: '/pages/mine/index'+window.location.search})})()">
               <div class="uni-tabbar__bd" style="height: 50px;">
@@ -869,7 +869,7 @@ export const selectionChange = async function () {
           ${(appModuleJsonGuding || [])
             .sort((a, b) => a.sort - b.sort)
             .map(item => {
-              return tabs?.[item.type](item) || ''
+              return tabs?.[item.type]?.(item) || ''
             })
             .join('')}
         </div>

+ 6 - 6
src/pages.json

@@ -982,12 +982,12 @@
         "selectedIconPath": "static/tabBar/icon_2_cur.png",
         "text": "工单"
       },
-      {
-        "pagePath": "pages/goods/index",
-        "iconPath": "static/tabBar/icon_3.png",
-        "selectedIconPath": "static/tabBar/icon_3_cur.png",
-        "text": "商城"
-      },
+      // {
+      //   "pagePath": "pages/goods/index",
+      //   "iconPath": "static/tabBar/icon_3.png",
+      //   "selectedIconPath": "static/tabBar/icon_3_cur.png",
+      //   "text": "商城"
+      // },
       {
         "pagePath": "pages/mine/index",
         "iconPath": "static/tabBar/icon_4.png",

+ 1234 - 1165
src/pages/index/index.vue

@@ -1,21 +1,17 @@
 <template>
-	<view>
-		<zj-page-layout
-			:hasFooter="false"
-			:isScroll="true"
-			:isLoading="isLoading"
-			:refresherTriggered="refresherTriggered"
-			@refresherrefresh="refresherrefresh">
-
-      <Loading
-        v-if="isError || !isLogin"
-        :type="3"
-        :loadStatus="2"
-        :showText="'加载失败,请下拉重新加载'"
-      />
-
-			<view class="all-container" v-else>
-				<view class="swiper-container" v-if="bannerList.length > 0">
+  <view>
+    <zj-page-layout
+      :hasFooter="false"
+      :isScroll="true"
+      :isLoading="isLoading"
+      :refresherTriggered="refresherTriggered"
+      @refresherrefresh="refresherrefresh"
+    >
+      <Loading v-if="isError || !isLogin" :type="3" :loadStatus="2" :showText="'加载失败,请下拉重新加载'" />
+
+      <view class="all-container" v-else>
+        <!-- 去除商城和服务业务 -->
+        <!-- <view class="swiper-container" v-if="bannerList.length > 0">
           <u-swiper
             :list="bannerList"
             keyName="imgSrc"
@@ -26,52 +22,64 @@
             height="175"
             @click="clickBanner"
           ></u-swiper>
-				</view>
+        </view>
 
         <view class="noticebar-container" v-if="noticeContent">
           <u-notice-bar :text="noticeContent"></u-notice-bar>
         </view>
 
-        <!-- 商品分类 -->
         <block v-if="categoryList.length > 0">
-          <view class="service-container card" v-for="(item, index) in categoryList.filter(o => o.sub.length > 0)" :key="index">
+          <view
+            class="service-container card"
+            v-for="(item, index) in categoryList.filter(o => o.sub.length > 0)"
+            :key="index"
+          >
             <view class="home-title">
-            	<view class="left">{{item.name}}</view>
-            	<view class="right" @tap="toClassifyList(item.categoryId)">
-            		<text class="text">查看更多</text>
-            		<text class="iconfont icon-jinru"></text>
-            	</view>
+              <view class="left">{{ item.name }}</view>
+              <view class="right" @tap="toClassifyList(item.categoryId)">
+                <text class="text">查看更多</text>
+                <text class="iconfont icon-jinru"></text>
+              </view>
             </view>
             <view class="list">
-            	<view class="item" v-for="(it, idx) in item.sub.slice(0, 4)" :key="idx" @tap="toGoodsList(item.categoryId, it.categoryId, it.name)">
-            		<image :src="it.imgUrl" mode="aspectFill"></image>
-            		<text>{{ it.name }}</text>
-            	</view>
+              <view
+                class="item"
+                v-for="(it, idx) in item.sub.slice(0, 4)"
+                :key="idx"
+                @tap="toGoodsList(item.categoryId, it.categoryId, it.name)"
+              >
+                <image :src="it.imgUrl" mode="aspectFill"></image>
+                <text>{{ it.name }}</text>
+              </view>
             </view>
           </view>
-        </block>
-
-				<!-- 自助服务 -->
-				<view class="service-container card">
-					<view class="home-title">
-						<view class="left">自助服务</view>
-						<view class="right" @tap="toWorkorder">
-							<text class="text">我的服务单</text>
-							<text class="iconfont icon-jinru"></text>
-						</view>
-					</view>
+        </block> -->
+
+        <!-- 自助服务 -->
+        <view class="service-container card">
+          <view class="home-title">
+            <view class="left">自助服务</view>
+            <!-- <view class="right" @tap="toWorkorder">
+              <text class="text">我的服务单</text>
+              <text class="iconfont icon-jinru"></text>
+            </view> -->
+          </view>
           <view class="list">
-          	<view class="item" v-for="(item, index) in serviceList" :key="index" @tap="toPage(item.url)">
-          		<image :src="item.icon" mode="aspectFill" v-if="item.icon"></image>
-          		<image :src="require(`@/static/images/home/service-icon${item.code}.png`)" mode="aspectFill" v-else-if="item.code"></image>
-          		<text>{{ item.title }}</text>
-          	</view>
+            <!-- <view class="item" v-for="(item, index) in serviceList" :key="index" @tap="toPage(item.url)">
+              <image :src="item.icon" mode="aspectFill" v-if="item.icon"></image>
+              <image
+                :src="require(`@/static/images/home/service-icon${item.code}.png`)"
+                mode="aspectFill"
+                v-else-if="item.code"
+              ></image>
+              <text>{{ item.title }}</text>
+            </view> -->
             <view class="item" v-if="userInfo.isShowLease" @tap="toPage('/packageHome/pages/service/tenancy')">
               <image :src="require(`@/static/images/home/service-icon5.png`)" mode="aspectFill"></image>
               <text>设备租赁</text>
             </view>
           </view>
-				</view>
+        </view>
 
         <!-- 扫码活动 -->
         <view class="swiper2-container" v-if="codeActivityList.length > 0">
@@ -90,145 +98,157 @@
         <!-- 增值服务 -->
         <view class="other-container card" v-if="userInfo.moduleYb">
           <view class="home-title">
-          	<view class="left">增值服务</view>
+            <view class="left">增值服务</view>
           </view>
           <view class="list">
-          	<view
+            <view
               class="item"
               v-for="(item, index) in addvalueList.filter(o => !o.root || (o.root && o.root.includes(userInfo.type)))"
               :key="index"
-              @tap="item.fn ? toFn(item.fn) : toPage(item.url)">
-          		<image :src="require(`@/static/images/home/other-icon${item.code}.png`)" mode=""></image>
-          		<text>{{ item.title }}</text>
-          	</view>
+              @tap="item.fn ? toFn(item.fn) : toPage(item.url)"
+            >
+              <image :src="require(`@/static/images/home/other-icon${item.code}.png`)" mode=""></image>
+              <text>{{ item.title }}</text>
+            </view>
           </view>
         </view>
 
         <!-- 工程维保服务 -->
-        <view class="other-container card" v-if="(isWorkerUser || isShowMaintenance) && userInfo.moduleWb && userInfo.mobile">
+        <view
+          class="other-container card"
+          v-if="(isWorkerUser || isShowMaintenance) && userInfo.moduleWb && userInfo.mobile"
+        >
           <view class="home-title">
-          	<view class="left">工程维保服务</view>
+            <view class="left">工程维保服务</view>
           </view>
           <view class="list">
-          	<view
+            <view
               class="item"
               v-for="(item, index) in maintenanceList"
               :key="index"
-              @tap="item.fn ? toFn(item.fn) : toPage(item.url)">
-          		<image :src="require(`@/static/images/home/other-icon${item.code}.png`)" mode=""></image>
-          		<text>{{ item.title }}</text>
-          	</view>
+              @tap="item.fn ? toFn(item.fn) : toPage(item.url)"
+            >
+              <image :src="require(`@/static/images/home/other-icon${item.code}.png`)" mode=""></image>
+              <text>{{ item.title }}</text>
+            </view>
           </view>
         </view>
 
         <!-- 二手商城 -->
         <view class="other-container card" v-if="(isServiceUser || isWorkerUser) && userInfo.moduleEs">
           <view class="home-title">
-          	<view class="left">二手商城</view>
+            <view class="left">二手商城</view>
           </view>
           <view class="list">
-          	<view
+            <view
               class="item"
-              v-for="(item, index) in recycleList.filter(o => !o.root || (o.root == 1 && userInfo.isEs) || (o.root == 2 && !userInfo.isEs))"
+              v-for="(item, index) in recycleList.filter(
+                o => !o.root || (o.root == 1 && userInfo.isEs) || (o.root == 2 && !userInfo.isEs)
+              )"
               :key="index"
-              @tap="item.fn ? toFn(item.fn) : toPage(item.url)">
-          		<image :src="require(`@/static/images/home/other-icon${item.code}.png`)" mode=""></image>
-          		<text>{{ item.title }}</text>
-          	</view>
+              @tap="item.fn ? toFn(item.fn) : toPage(item.url)"
+            >
+              <image :src="require(`@/static/images/home/other-icon${item.code}.png`)" mode=""></image>
+              <text>{{ item.title }}</text>
+            </view>
           </view>
         </view>
 
-				<!-- 分享收益 -->
-				<view class="share-container card" v-if="isServiceUser || isWorkerUser">
-					<view class="home-title">
-						<view class="left">分享收益</view>
-						<view class="right" @tap="toPage(`/packageMine/pages/order/list?tab=`)">
-							<text class="text">我的订单</text>
-							<text class="iconfont icon-jinru"></text>
-						</view>
-					</view>
-					<view class="list">
-						<view class="item" @tap="toMall()">
-							<image src="@/static/images/home/share-icon1.png"></image>
+        <!-- 分享收益 -->
+        <!-- <view class="share-container card" v-if="isServiceUser || isWorkerUser">
+          <view class="home-title">
+            <view class="left">分享收益</view>
+            <view class="right" @tap="toPage(`/packageMine/pages/order/list?tab=`)">
+              <text class="text">我的订单</text>
+              <text class="iconfont icon-jinru"></text>
+            </view>
+          </view>
+          <view class="list">
+            <view class="item" @tap="toMall()">
+              <image src="@/static/images/home/share-icon1.png"></image>
               <view class="text">分销商城</view>
-						</view>
-						<view class="item" @tap="toActivityList(5)">
-							<image src="@/static/images/home/share-icon2.png"></image>
-							<view class="text">活动专区</view>
-						</view>
-					</view>
-				</view>
-
-				<!-- 工单管理 -->
-				<view class="order-container card" v-if="isWorkerUser">
-					<view class="home-title">
-						<view class="left">工单管理</view>
-					</view>
-					<view class="list">
-						<view class="item" v-for="(item, index) in orderList" :key="index" @tap="toPage(item.url)">
-							<image :src="require(`@/static/images/home/order-icon${item.code}.png`)" mode=""></image>
-							<text>{{ item.title }}</text>
-						</view>
-					</view>
-				</view>
+            </view>
+            <view class="item" @tap="toActivityList(5)">
+              <image src="@/static/images/home/share-icon2.png"></image>
+              <view class="text">活动专区</view>
+            </view>
+          </view>
+        </view> -->
+
+        <!-- 工单管理 -->
+        <view class="order-container card" v-if="isWorkerUser">
+          <view class="home-title">
+            <view class="left">工单管理</view>
+          </view>
+          <view class="list">
+            <view class="item" v-for="(item, index) in orderList" :key="index" @tap="toPage(item.url)">
+              <image :src="require(`@/static/images/home/order-icon${item.code}.png`)" mode=""></image>
+              <text>{{ item.title }}</text>
+            </view>
+          </view>
+        </view>
 
         <!-- 其他 -->
         <view class="other-container card" v-if="isWorkerUser && userInfo.moduleMaterialPart">
           <view class="home-title">
-          	<view class="left">辅配件</view>
-          	<view class="right" @tap="toPage(`/packageMaterial/pages/index`)">
-          		<text class="text">查看详细</text>
-          		<text class="iconfont icon-jinru"></text>
-          	</view>
+            <view class="left">辅配件</view>
+            <view class="right" @tap="toPage(`/packageMaterial/pages/index`)">
+              <text class="text">查看详细</text>
+              <text class="iconfont icon-jinru"></text>
+            </view>
           </view>
           <view class="list">
-          	<view class="item" v-for="(item, index) in otherList" :key="index" @tap="toPage(item.url)">
-          		<image :src="require(`@/static/images/home/other-icon${item.code}.png`)" mode=""></image>
-          		<text>{{ item.title }}</text>
-          	</view>
+            <view class="item" v-for="(item, index) in otherList" :key="index" @tap="toPage(item.url)">
+              <image :src="require(`@/static/images/home/other-icon${item.code}.png`)" mode=""></image>
+              <text>{{ item.title }}</text>
+            </view>
           </view>
         </view>
 
-				<!-- 联系我们 -->
-				<view class="contact-container card">
-					<view class="home-title">
-						<view class="left">联系我们</view>
-					</view>
-					<view class="list">
-						<!-- <button open-type="contact" class="item bb">
+        <!-- 联系我们 -->
+        <view class="contact-container card">
+          <view class="home-title">
+            <view class="left">联系我们</view>
+          </view>
+          <view class="list">
+            <!-- <button open-type="contact" class="item bb">
 							<image src="@/static/images/home/home-icon1.png"></image>
 							<view class="title">在线客服</view>
               <text class="iconfont icon-jinru"></text>
 						</button> -->
-						<view class="item" :class="isShowContact1 ? '' : 'bb'" @tap="isShowContact1 = !isShowContact1">
-							<image src="@/static/images/home/home-icon2.png"></image>
-							<view class="title">服务网点</view>
+            <view class="item" :class="isShowContact1 ? '' : 'bb'" @tap="isShowContact1 = !isShowContact1">
+              <image src="@/static/images/home/home-icon2.png"></image>
+              <view class="title">服务网点</view>
               <text class="iconfont icon-jinru"></text>
-						</view>
+            </view>
             <view class="wrap1" v-if="isShowContact1">
               <view class="it" v-for="(item, index) in websitList" :key="index">
                 <view class="top">
-                  <view class="left">{{item.name}} {{item.websitPhone || ''}}</view>
-                  <view class="right" @tap="$callPhone(item.websitPhone)" v-if="item.websitPhone"><text class="iconfont icon-call"></text></view>
+                  <view class="left">{{ item.name }} {{ item.websitPhone || '' }}</view>
+                  <view class="right" @tap="$callPhone(item.websitPhone)" v-if="item.websitPhone"
+                    ><text class="iconfont icon-call"></text
+                  ></view>
                 </view>
-                <view class="address">{{item.address}}</view>
+                <view class="address">{{ item.address }}</view>
               </view>
             </view>
-						<view class="item" @tap="isShowContact2 = !isShowContact2">
-							<image src="@/static/images/home/home-icon3.png"></image>
-							<view class="title">投诉热线</view>
+            <view class="item" @tap="isShowContact2 = !isShowContact2">
+              <image src="@/static/images/home/home-icon3.png"></image>
+              <view class="title">投诉热线</view>
               <text class="iconfont icon-jinru"></text>
-						</view>
+            </view>
             <view class="wrap2" v-if="isShowContact2">
-              <view class="left">投诉电话:{{userInfo.companyWechatMobile || '暂无'}}</view>
-              <view class="right" @tap="$callPhone(userInfo.companyWechatMobile)" v-if="userInfo.companyWechatMobile"><text class="iconfont icon-call"></text></view>
+              <view class="left">投诉电话:{{ userInfo.companyWechatMobile || '暂无' }}</view>
+              <view class="right" @tap="$callPhone(userInfo.companyWechatMobile)" v-if="userInfo.companyWechatMobile"
+                ><text class="iconfont icon-call"></text
+              ></view>
             </view>
-					</view>
-				</view>
-			</view>
-		</zj-page-layout>
+          </view>
+        </view>
+      </view>
+    </zj-page-layout>
 
-		<!-- <view class="dialog-container" v-if="couponDialogImgUrl && isShowCouponDialog">
+    <!-- <view class="dialog-container" v-if="couponDialogImgUrl && isShowCouponDialog">
 			<uni-transition ref="dialog" mode-class="zoom-in" :duration="500" :show="couponDialogImgUrl && isShowCouponDialog">
 				<image class="image" :src="couponDialogImgUrl" mode="widthFix" @tap="handleCoupon()"></image>
 			</uni-transition>
@@ -237,1152 +257,1201 @@
 			</uni-transition>
 		</view> -->
 
-		<view class="top-tooltip" v-if="isShowTopTooltip">
-			<view class="content">
-				<view class="left">
-					<view>点击<text class="iconfont icon-gengduo"></text>添加到我的小程序</view>
-					<view>微信下拉使用更方便哟!</view>
-				</view>
-				<text class="iconfont icon-close2 close" @tap="isShowTopTooltip = false"></text>
-			</view>
-			<view class="arrow"></view>
-		</view>
-
-		<view class="bottom-tooltip" v-if="isShowBottomTooltip">
-			<view class="left">
-				<text class="iconfont icon-close2 close" @tap="isShowBottomTooltip = false"></text>
-				<view class="text">关注公众号及时获取服务进度</view>
-			</view>
-			<view class="btn" @tap="toWxLink()">前往关注</view>
-		</view>
-	</view>
+    <view class="top-tooltip" v-if="isShowTopTooltip">
+      <view class="content">
+        <view class="left">
+          <view>点击<text class="iconfont icon-gengduo"></text>添加到我的小程序</view>
+          <view>微信下拉使用更方便哟!</view>
+        </view>
+        <text class="iconfont icon-close2 close" @tap="isShowTopTooltip = false"></text>
+      </view>
+      <view class="arrow"></view>
+    </view>
+
+    <view class="bottom-tooltip" v-if="isShowBottomTooltip">
+      <view class="left">
+        <text class="iconfont icon-close2 close" @tap="isShowBottomTooltip = false"></text>
+        <view class="text">关注公众号及时获取服务进度</view>
+      </view>
+      <view class="btn" @tap="toWxLink()">前往关注</view>
+    </view>
+  </view>
 </template>
 
 <script>
-  import { getNoticeNum, getOrderNum, selectionChange } from '@/common/utils/util.js';
-
-	export default {
-		data() {
-			return {
-				isLoading: true,
-				refresherTriggered: false, // 下拉刷新状态
-        userInfo: {},
-				configInfo: {},
-				scene: { // 页面参数(扫码进入小程序时产生)
-					type: '',
-					goodsId: '',
-					orderId: '',
-					serviceId: '',
-					couponId: '',
-				},
-				isCouponDialog: false, // 是否显示过期优惠券弹窗
-				isReceiveDialog: false,
-				isSmsReceive: false,
-
-				isShowTopTooltip: false,
-				isShowBottomTooltip: false,
-
-        noticeContent: '', // 公告内容
-
-        categoryList: [],
-        serviceList: [],
-				baseServiceList: [ // 自助服务列表
-					{code: 3, title: '收费标准', url: `/packageHome/pages/service/chargeStandard`},
-					{code: 4, title: '故障自查', url: `/packageHome/pages/service/troubleshoot`},
-				],
-				addvalueList: [ // 增值服务列表
-					{code: 1, title: '延保服务', fn: 'toServiceIndex'},
-					{code: 2, title: '我的延保', url: `/packageHome/pages/addvalue/orderList`},
-					{code: 3, title: '服务记录', fn: `toServiceRecods`},
-					{code: 3, title: '延保查询', url: `/packageHome/pages/addvalue/check`, root: ['WORKER']},
-				],
-        maintenanceList: [ // 工程维保服务列表
-          {code: 1, title: '创建维保单', fn: `toMaintenanceCreate`},
-          {code: 2, title: '维保单记录', fn: `toMaintenanceRecods`},
-          {code: 3, title: '费用申请单', url: `/packageHome/pages/maintenance/applyList`},
-        ],
-        recycleList: [
-          {code: 1, title: '二手商城', url: `/packageHome/pages/recycle/index`, root: 0},
-          {code: 2, title: '已发布的', url: `/packageHome/pages/recycle/issue/list`, root: 1},
-          {code: 3, title: '我买到的', url: `/packageHome/pages/recycle/order/list`, root: 2},
-        ],
-				orderList: [ // 工单管理列表
-					{code: 1, title: '待接单', url: `/packageWorkorder/pages/orderList?tab=DJD`},
-					{code: 2, title: '服务中', url: `/packageWorkorder/pages/orderList?tab=FWZ`},
-					{code: 3, title: '已完成', url: `/packageWorkorder/pages/orderList?tab=YWG`},
-					{code: 4, title: '异常单', url: `/packageWorkorder/pages/orderList?tab=YCD`},
-				],
-				otherList: [ // 其他列表
-					{code: 1, title: '我的库存', url: `/packageMaterial/pages/stock/index`},
-					{code: 2, title: '辅材收款', url: `/packageMaterial/pages/sale/index?type=M`},
-					{code: 3, title: '配件收款', url: `/packageMaterial/pages/sale/index?type=P`},
-				],
-				bannerList: [], // 轮播图列表
-				couponList: [], // 可领取优惠券列表
-
-        codeActivityList: [],
-
-				couponDialogImgUrl: '',
-				isShowCouponDialog: true,
-
-        isError: false,
-
-        websitList: [],
-        isShowContact1: false,
-        isShowContact2: false,
-
-        isShowMaintenance: false,
-			}
-		},
-
-		computed:{
-      isLogin() {
-        return this.$store.state.user.token ? true : false;
-      },
-      isServiceUser() { // 是否业务员
-      	return this.userInfo && this.userInfo.type === 'SERVICE';
+import { getNoticeNum, getOrderNum, selectionChange } from '@/common/utils/util.js'
+
+export default {
+  data() {
+    return {
+      isLoading: true,
+      refresherTriggered: false, // 下拉刷新状态
+      userInfo: {},
+      configInfo: {},
+      scene: {
+        // 页面参数(扫码进入小程序时产生)
+        type: '',
+        goodsId: '',
+        orderId: '',
+        serviceId: '',
+        couponId: ''
       },
-      isWorkerUser() { // 是否师傅
-      	return this.userInfo && this.userInfo.type === 'WORKER';
-      },
-		},
+      isCouponDialog: false, // 是否显示过期优惠券弹窗
+      isReceiveDialog: false,
+      isSmsReceive: false,
+
+      isShowTopTooltip: false,
+      isShowBottomTooltip: false,
+
+      noticeContent: '', // 公告内容
+
+      categoryList: [],
+      serviceList: [],
+      baseServiceList: [
+        // 自助服务列表
+        { code: 3, title: '收费标准', url: `/packageHome/pages/service/chargeStandard` },
+        { code: 4, title: '故障自查', url: `/packageHome/pages/service/troubleshoot` }
+      ],
+      addvalueList: [
+        // 增值服务列表
+        { code: 1, title: '延保服务', fn: 'toServiceIndex' },
+        { code: 2, title: '我的延保', url: `/packageHome/pages/addvalue/orderList` },
+        { code: 3, title: '服务记录', fn: `toServiceRecods` },
+        { code: 3, title: '延保查询', url: `/packageHome/pages/addvalue/check`, root: ['WORKER'] }
+      ],
+      maintenanceList: [
+        // 工程维保服务列表
+        { code: 1, title: '创建维保单', fn: `toMaintenanceCreate` },
+        { code: 2, title: '维保单记录', fn: `toMaintenanceRecods` },
+        { code: 3, title: '费用申请单', url: `/packageHome/pages/maintenance/applyList` }
+      ],
+      recycleList: [
+        { code: 1, title: '二手商城', url: `/packageHome/pages/recycle/index`, root: 0 },
+        { code: 2, title: '已发布的', url: `/packageHome/pages/recycle/issue/list`, root: 1 },
+        { code: 3, title: '我买到的', url: `/packageHome/pages/recycle/order/list`, root: 2 }
+      ],
+      orderList: [
+        // 工单管理列表
+        { code: 1, title: '待接单', url: `/packageWorkorder/pages/orderList?tab=DJD` },
+        { code: 2, title: '服务中', url: `/packageWorkorder/pages/orderList?tab=FWZ` },
+        { code: 3, title: '已完成', url: `/packageWorkorder/pages/orderList?tab=YWG` },
+        { code: 4, title: '异常单', url: `/packageWorkorder/pages/orderList?tab=YCD` }
+      ],
+      otherList: [
+        // 其他列表
+        { code: 1, title: '我的库存', url: `/packageMaterial/pages/stock/index` },
+        { code: 2, title: '辅材收款', url: `/packageMaterial/pages/sale/index?type=M` },
+        { code: 3, title: '配件收款', url: `/packageMaterial/pages/sale/index?type=P` }
+      ],
+      bannerList: [], // 轮播图列表
+      couponList: [], // 可领取优惠券列表
+
+      codeActivityList: [],
+
+      couponDialogImgUrl: '',
+      isShowCouponDialog: true,
+
+      isError: false,
+
+      websitList: [],
+      isShowContact1: false,
+      isShowContact2: false,
+
+      isShowMaintenance: false
+    }
+  },
+
+  computed: {
+    isLogin() {
+      return this.$store.state.user.token ? true : false
+    },
+    isServiceUser() {
+      // 是否业务员
+      return this.userInfo && this.userInfo.type === 'SERVICE'
+    },
+    isWorkerUser() {
+      // 是否师傅
+      return this.userInfo && this.userInfo.type === 'WORKER'
+    }
+  },
+
+  async onShow() {
+    selectionChange()
 
-		async onShow() {
-      selectionChange();
+    try {
+      await this.$onLaunched
 
-      try {
-        await this.$onLaunched;
+      this.configInfo = await this.$getConfigInfo()
+      await this.getBannerList()
+      this.getNoticebar()
 
-        this.configInfo = await this.$getConfigInfo();
-        await this.getBannerList();
-        this.getNoticebar();
+      if (this.isLogin) {
+        this.userInfo = await this.$getUserInfo()
+        this.isShowMaintenance = await this.checkMaintenance()
+        this.getCategoryList()
+        this.getServiceList()
+        this.getCouponList()
+        this.getWebsitList()
+        this.getCodeActivityList()
+
+        getNoticeNum()
+        getOrderNum()
+      }
 
-        if(this.isLogin) {
-          this.userInfo = await this.$getUserInfo();
-          this.isShowMaintenance = await this.checkMaintenance();
-          this.getCategoryList();
-          this.getServiceList();
-          this.getCouponList();
-          this.getWebsitList();
-          this.getCodeActivityList();
+      this.$nextTick(() => {
+        this.isError = false
+        this.isLoading = false
+        this.refresherTriggered = false
+      })
+    } catch {
+      this.isError = true
+      this.isLoading = false
+    }
+  },
+
+  async onLoad({
+    scene, // 扫码进入的参数
+    goodsId, // 商品id
+    serviceId, // 业务员id
+    smsServiceId, // 短信业务员id
+    otherType, // 类型:groupbuyList=团购活动,activityList=专区活动,orderList=订单列表,workOrderList=工单列表,couponList=优惠券列表,workOrderDetail
+    activityType, // 专区活动类型
+    appOrderId, // 师傅端app订单id(下单支付)
+    orderId, // 订单id(进入订单详情)
+    workOrderId, // 工单id(进入工单详情)
+    workOrderTypeId,
+    workOrderType,
+    workOrderImgUrl,
+    mpOpenId,
+    type,
+    objId,
+    isYB,
+    isWB,
+    sharerOpenId
+  }) {
+    await this.$onLaunched
+
+    setTimeout(() => {
+      this.isShowTopTooltip = false
+      this.isShowBottomTooltip = false
+    }, 10000)
+
+    if (this.isLogin) {
+      this.checkCoupon()
+    }
 
-          getNoticeNum()
-          getOrderNum()
+    if (mpOpenId) {
+      uni.login({
+        provider: 'weixin',
+        success: loginRes => {
+          this.$api.post('/user/auth', {
+            code: loginRes.code,
+            mpOpenId: mpOpenId
+          })
         }
+      })
+    }
 
-        this.$nextTick(() => {
-          this.isError = false;
-          this.isLoading = false;
-          this.refresherTriggered = false;
+    if (sharerOpenId) {
+      this.$api
+        .post('/user/bind', {
+          serviceOpenId: sharerOpenId,
+          userId: this.$store.state.user.userId
+        })
+        .then(res => {
+          console.log('绑定成功:' + res.message)
         })
+    }
+
+    // 点击短信链接进入小程序
+    if (smsServiceId) {
+      this.bindUser(smsServiceId)
+      if (this.userInfo.type !== 'SERVICE') {
+        this.isSmsReceive = true
+        this.isReceiveDialog = true
       }
-      catch {
-        this.isError = true;
-        this.isLoading = false;
+    }
+
+    // 从链接进入小程序
+    if (serviceId) {
+      this.bindUser(serviceId)
+    }
+
+    if (goodsId) {
+      setTimeout(() => {
+        this.toGoodsDetail(goodsId)
+      }, 1000)
+    }
+
+    if (isYB) {
+      setTimeout(() => {
+        this.toServiceIndex()
+      }, 1000)
+    }
+
+    if (isWB) {
+      setTimeout(() => {
+        this.toMaintenanceCreate()
+      }, 1000)
+    }
+
+    if (otherType) {
+      // 团购列表
+      if (otherType === 'groupbuyList') {
+        this.navToPage('/packageMine/pages/groupbuy/list')
       }
-		},
-
-		async onLoad({
-			scene, // 扫码进入的参数
-			goodsId, // 商品id
-			serviceId, // 业务员id
-			smsServiceId, // 短信业务员id
-			otherType, // 类型:groupbuyList=团购活动,activityList=专区活动,orderList=订单列表,workOrderList=工单列表,couponList=优惠券列表,workOrderDetail
-			activityType, // 专区活动类型
-			appOrderId, // 师傅端app订单id(下单支付)
-			orderId, // 订单id(进入订单详情)
-			workOrderId, // 工单id(进入工单详情)
-			workOrderTypeId,
-			workOrderType,
-			workOrderImgUrl,
-      mpOpenId,
-      type,
-      objId,
-      isYB,
-      isWB,
-      sharerOpenId,
-		}) {
-			await this.$onLaunched;
-
-			setTimeout(() => {
-				this.isShowTopTooltip = false;
-				this.isShowBottomTooltip = false;
-			}, 10000)
-
-      if(this.isLogin) {
-        this.checkCoupon();
+      // 活动专区列表
+      if (otherType === 'activityList') {
+        this.navToPage('/packageGoods/pages/activity?type=' + activityType)
       }
-
-      if(mpOpenId) {
-        uni.login({
-          provider: 'weixin',
-          success: (loginRes) => {
-            this.$api.post('/user/auth', {
-              code: loginRes.code,
-              mpOpenId: mpOpenId
-            })
-          }
-        })
+      // 订单列表
+      if (otherType === 'orderList') {
+        this.navToPage('/packageMine/pages/order/list')
       }
-
-      if(sharerOpenId) {
-        this.$api.post('/user/bind', {
-          serviceOpenId: sharerOpenId,
-          userId: this.$store.state.user.userId,
-        }).then(res => {
-        	console.log('绑定成功:' + res.message);
-        })
+      // 工单列表
+      if (otherType === 'workOrderList') {
+        this.navToPage('/packageMine/pages/workOrder/list')
       }
-
-			// 点击短信链接进入小程序
-			if(smsServiceId) {
-				this.bindUser(smsServiceId);
-				if(this.userInfo.type !== "SERVICE") {
-					this.isSmsReceive = true;
-					this.isReceiveDialog = true;
-				}
-			}
-
-			// 从链接进入小程序
-			if(serviceId) {
-				this.bindUser(serviceId);
-			}
-
-			if(goodsId) {
-        setTimeout(() => {
-          this.toGoodsDetail(goodsId);
-        }, 1000)
-			}
-
-      if(isYB) {
-        setTimeout(() => {
-          this.toServiceIndex();
-        }, 1000)
+      // 优惠券列表
+      if (otherType === 'couponList') {
+        this.navToPage('/packageMine/pages/coupon/list')
       }
+    }
 
-      if(isWB) {
-        setTimeout(() => {
-          this.toMaintenanceCreate();
-        }, 1000)
-      }
+    if (orderId) {
+      this.navToPage(`/packageMine/pages/order/detail?orderId=${orderId}`)
+    } else if (workOrderId && workOrderTypeId && workOrderType) {
+      workOrderType = workOrderType.replace(/\\\\/g, '\\')
+      this.navToPage(
+        `/packageMine/pages/workOrder/detail?id=${workOrderTypeId}&type=${workOrderType}&orderNo=${workOrderId}`
+      )
+    } else if (workOrderId) {
+      this.navToPage(`/packageMine/pages/workOrder/list`)
+    } else if (workOrderImgUrl) {
+      this.navToPage(`/packageMine/pages/workOrder/receipt?imgurl=${workOrderImgUrl}`)
+    }
 
-			if(otherType) {
-				// 团购列表
-				if(otherType === 'groupbuyList') {
-					this.navToPage('/packageMine/pages/groupbuy/list');
-				}
-				// 活动专区列表
-				if(otherType === 'activityList') {
-					this.navToPage('/packageGoods/pages/activity?type=' + activityType);
-				}
-				// 订单列表
-				if(otherType === 'orderList') {
-					this.navToPage('/packageMine/pages/order/list');
-				}
-				// 工单列表
-				if(otherType === 'workOrderList') {
-					this.navToPage('/packageMine/pages/workOrder/list');
-				}
-				// 优惠券列表
-				if(otherType === 'couponList') {
-					this.navToPage('/packageMine/pages/coupon/list');
-				}
-			}
-
-			if(orderId) {
-				this.navToPage(`/packageMine/pages/order/detail?orderId=${orderId}`);
-			}
-			else if(workOrderId && workOrderTypeId && workOrderType) {
-				workOrderType = workOrderType.replace(/\\\\/g, '\\');
-				this.navToPage(`/packageMine/pages/workOrder/detail?id=${workOrderTypeId}&type=${workOrderType}&orderNo=${workOrderId}`);
-			}
-			else if(workOrderId) {
-				this.navToPage(`/packageMine/pages/workOrder/list`);
-			}
-			else if(workOrderImgUrl) {
-				this.navToPage(`/packageMine/pages/workOrder/receipt?imgurl=${workOrderImgUrl}`);
-			}
-
-			// 扫码进入小程序
-			if(scene) {
-				console.log(scene);
-				// 拿scene的id去获取
-				this.$api.get('/common/scene', {
-					scene: scene,
-				}).then(res => {
-					let newScene = res.data.split("&");
-					this.scene.type = newScene[0];
-					this.scene.serviceId = newScene[2] || '';
-					// 如果是商品
-					if(newScene[0] == 'goods') {
-						this.scene.goodsId = newScene[1];
-						this.toGoodsDetail(this.scene.goodsId);
-					}
-					// 如果是优惠券
-					else if(newScene[0] == 'coupon') {
-						this.scene.couponId = newScene[1];
-						this.isReceiveDialog = true;
-						// this.receiveCoupon(this.scene.couponId);
-					}
-					// 如果是团购分享码
-					else if(newScene[0] == 'promotion_group') {
-						this.navToPage('/packageMine/pages/groupbuy/list');
-					}
-					// 如果是活动专区分享码
-					else if(newScene[0] == 'HDZQ') {
-						this.navToPage('/packageGoods/pages/activity?type=' + newScene[1]);
-					}
+    // 扫码进入小程序
+    if (scene) {
+      console.log(scene)
+      // 拿scene的id去获取
+      this.$api
+        .get('/common/scene', {
+          scene: scene
+        })
+        .then(res => {
+          let newScene = res.data.split('&')
+          this.scene.type = newScene[0]
+          this.scene.serviceId = newScene[2] || ''
+          // 如果是商品
+          if (newScene[0] == 'goods') {
+            this.scene.goodsId = newScene[1]
+            this.toGoodsDetail(this.scene.goodsId)
+          }
+          // 如果是优惠券
+          else if (newScene[0] == 'coupon') {
+            this.scene.couponId = newScene[1]
+            this.isReceiveDialog = true
+            // this.receiveCoupon(this.scene.couponId);
+          }
+          // 如果是团购分享码
+          else if (newScene[0] == 'promotion_group') {
+            this.navToPage('/packageMine/pages/groupbuy/list')
+          }
+          // 如果是活动专区分享码
+          else if (newScene[0] == 'HDZQ') {
+            this.navToPage('/packageGoods/pages/activity?type=' + newScene[1])
+          }
           // 如果是工程维保
-          else if(newScene[0] == 'ENGIN_PROJECT_REPAIR') {
+          else if (newScene[0] == 'ENGIN_PROJECT_REPAIR') {
             this.$navToPage({
               url: `/packageHome/pages/maintenance/create?projectId=${newScene[1]}`
             })
           }
 
-					console.log(this.scene);
-          if(this.scene.serviceId) {
-            this.bindUser(this.scene.serviceId);
+          console.log(this.scene)
+          if (this.scene.serviceId) {
+            this.bindUser(this.scene.serviceId)
           }
-				})
-			}
-
-		},
-
-		methods: {
-      // 获取公告栏
-      getNoticebar() {
-      	this.$api.get('/shpping/cart/notice')
-        .then(res => {
-      		this.noticeContent = res.data;
-      	})
-      },
+        })
+    }
+  },
+
+  methods: {
+    // 获取公告栏
+    getNoticebar() {
+      this.$api.get('/shpping/cart/notice').then(res => {
+        this.noticeContent = res.data
+      })
+    },
+
+    // 触发下拉刷新
+    async refresherrefresh(e) {
+      this.refresherTriggered = true
+
+      this.configInfo = await this.$getConfigInfo()
+      await this.getBannerList()
+
+      if (this.isLogin) {
+        this.userInfo = await this.$getUserInfo()
+        this.getCategoryList()
+        this.getServiceList()
+        this.getCouponList()
+        this.getWebsitList()
+        this.getCodeActivityList()
+      } else {
+        await this.wxLogin()
+        this.userInfo = await this.$getUserInfo()
+        this.getCategoryList()
+        this.getServiceList()
+        this.getCouponList()
+        this.getWebsitList()
+        this.getCodeActivityList()
+      }
 
-			// 触发下拉刷新
-			async refresherrefresh(e) {
-				this.refresherTriggered = true;
-
-        this.configInfo = await this.$getConfigInfo();
-        await this.getBannerList();
-
-        if(this.isLogin) {
-          this.userInfo = await this.$getUserInfo();
-          this.getCategoryList();
-          this.getServiceList();
-          this.getCouponList();
-          this.getWebsitList();
-          this.getCodeActivityList();
-        }else {
-          await this.wxLogin();
-          this.userInfo = await this.$getUserInfo();
-          this.getCategoryList();
-          this.getServiceList();
-          this.getCouponList();
-          this.getWebsitList();
-          this.getCodeActivityList();
-        }
+      this.$nextTick(() => {
+        this.$isResolve()
+        this.isError = false
+        this.refresherTriggered = false
+      })
+    },
 
-				this.$nextTick(() => {
-          this.$isResolve();
-          this.isError = false;
-					this.refresherTriggered = false;
-				})
-			},
-
-      async wxLogin() {
-        return new Promise((resolve, reject) => {
-          uni.login({
-            provider: 'weixin',
-            success: (loginRes) => {
-              this.$api.post('/user/auth', {
-                code: loginRes.code,
-              }).then(async res => {
-                this.$store.commit("user/set_token", res.data.token)
-                this.$store.commit("user/set_openId", res.data.openId)
-                this.$store.commit("user/set_name", res.data.nickName)
-                this.$store.commit("user/set_avatar", res.data.avatar)
-                this.$store.commit("user/set_userId", res.data.userId)
-                if(res.data.mobile) {
-                  this.$store.commit("user/set_mobile", res.data.mobile)
+    async wxLogin() {
+      return new Promise((resolve, reject) => {
+        uni.login({
+          provider: 'weixin',
+          success: loginRes => {
+            this.$api
+              .post('/user/auth', {
+                code: loginRes.code
+              })
+              .then(async res => {
+                this.$store.commit('user/set_token', res.data.token)
+                this.$store.commit('user/set_openId', res.data.openId)
+                this.$store.commit('user/set_name', res.data.nickName)
+                this.$store.commit('user/set_avatar', res.data.avatar)
+                this.$store.commit('user/set_userId', res.data.userId)
+                if (res.data.mobile) {
+                  this.$store.commit('user/set_mobile', res.data.mobile)
                 }
-                if(!res.data.avatar || !res.data.nickName) {
-                  await this.saveUserInfo(res.data);
+                if (!res.data.avatar || !res.data.nickName) {
+                  await this.saveUserInfo(res.data)
                 }
-                resolve(1);
-              }).catch(() => {
-                this.refresherTriggered = false;
-                reject(0);
+                resolve(1)
               })
-            }
-          })
+              .catch(() => {
+                this.refresherTriggered = false
+                reject(0)
+              })
+          }
         })
-      },
-
-      // 保存用户信息
-      async saveUserInfo(userInfo) {
-        let randomNum = new Date().getTime().toString().substr(-6);
-        let configInfo = await this.$getConfigInfo();
-      	return new Promise((resolve, reject) => {
-      		this.$api.post('/user/userinfo/save', {
+      })
+    },
+
+    // 保存用户信息
+    async saveUserInfo(userInfo) {
+      let randomNum = new Date().getTime().toString().substr(-6)
+      let configInfo = await this.$getConfigInfo()
+      return new Promise((resolve, reject) => {
+        this.$api
+          .post('/user/userinfo/save', {
             userId: userInfo.userId,
             avatarUrl: configInfo.minLogo3,
-            nickName: `微信用户_${randomNum}`,
-      		}).then(res => {
-      			resolve(res.data);
-      		})
-      	})
-      },
+            nickName: `微信用户_${randomNum}`
+          })
+          .then(res => {
+            resolve(res.data)
+          })
+      })
+    },
 
-      getCategoryList() {
-        this.$api.get('/goods/category/list/all', {
+    getCategoryList() {
+      this.$api
+        .get('/goods/category/list/all', {
           isServiceShow: true
-        }).then(res => {
-          this.categoryList = res.data;
         })
-      },
-
-      getServiceList() {
-        this.$api.post('/pg/order/base/type/list')
         .then(res => {
-          let list = res.data.map(item => {
-            return {
-              title: item.orderSmallTypeText,
-              icon: item.imgUrl,
-              url: `/packageWorkorder/pages/create/index?typeId=${item.id}&typeName=${item.orderSmallTypeText}`
-            }
-          })
-        	this.serviceList = [
-            ...list,
-            ...this.baseServiceList
-          ];
+          this.categoryList = res.data
         })
-      },
+    },
+
+    getServiceList() {
+      this.$api.post('/pg/order/base/type/list').then(res => {
+        let list = res.data.map(item => {
+          return {
+            title: item.orderSmallTypeText,
+            icon: item.imgUrl,
+            url: `/packageWorkorder/pages/create/index?typeId=${item.id}&typeName=${item.orderSmallTypeText}`
+          }
+        })
+        this.serviceList = [...list, ...this.baseServiceList]
+      })
+    },
 
-      getWebsitList() {
-        this.$api.get('/user/apply/websit', {
+    getWebsitList() {
+      this.$api
+        .get('/user/apply/websit', {
           isAll: true
-        }).then(res => {
-          this.websitList = res.data || [];
         })
-      },
+        .then(res => {
+          this.websitList = res.data || []
+        })
+    },
 
-			toPage(url) {
-				if(!url) return this.$toast('敬请期待~');
+    toPage(url) {
+      if (!url) return this.$toast('敬请期待~')
 
-				this.navToPage(url);
-			},
+      this.navToPage(url)
+    },
 
-      toFn(fn) {
-        if(!fn) return this.$toast('敬请期待~');
+    toFn(fn) {
+      if (!fn) return this.$toast('敬请期待~')
 
-        this[fn]();
-      },
+      this[fn]()
+    },
 
-      toServiceIndex() {
-        if(this.isWorkerUser) {
-          this.navToPage(`/packageHome/pages/addvalue/serviceBuy`);
-        }else {
-          this.navToPage(`/packageHome/pages/addvalue/explainList`);
-        }
-      },
+    toServiceIndex() {
+      if (this.isWorkerUser) {
+        this.navToPage(`/packageHome/pages/addvalue/serviceBuy`)
+      } else {
+        this.navToPage(`/packageHome/pages/addvalue/explainList`)
+      }
+    },
 
-      toServiceRecods(){
-        if(this.isWorkerUser) {
-          this.navToPage(`/packageWorkorder/pages/orderList?isYb=true`);
-        }else {
-          this.navToPage(`/packageWorkorder/pages/userWorkorderList`);
-        }
-      },
+    toServiceRecods() {
+      if (this.isWorkerUser) {
+        this.navToPage(`/packageWorkorder/pages/orderList?isYb=true`)
+      } else {
+        this.navToPage(`/packageWorkorder/pages/userWorkorderList`)
+      }
+    },
 
-      async checkMaintenance() {
-        const hasApply = await this.$api.post('/engin/material/list/page', {
+    async checkMaintenance() {
+      const hasApply = await this.$api
+        .post('/engin/material/list/page', {
           pageNum: 1,
           pageSize: -1,
           examineStatus: ''
-        }).then(res => {
-        	return res.data.records && res.data.records.length > 0
         })
-        const hasOrder = await this.$api.post('/pg/order/base/list', {
+        .then(res => {
+          return res.data.records && res.data.records.length > 0
+        })
+      const hasOrder = await this.$api
+        .post('/pg/order/base/list', {
           pageNum: 1,
           pageSize: -1,
           isWb: true
-        }).then(res => {
-        	return res.data.records && res.data.records.length > 0
+        })
+        .then(res => {
+          return res.data.records && res.data.records.length > 0
         })
 
-        return hasApply || hasOrder;
-      },
+      return hasApply || hasOrder
+    },
 
-      toMaintenanceCreate() {
-        if((this.isWorkerUser || this.isShowMaintenance) && this.userInfo.mobile) {
-          this.navToPage(`/packageHome/pages/maintenance/create`);
-        }else {
-          this.$tips('您暂无维保工程');
-        }
-      },
+    toMaintenanceCreate() {
+      if ((this.isWorkerUser || this.isShowMaintenance) && this.userInfo.mobile) {
+        this.navToPage(`/packageHome/pages/maintenance/create`)
+      } else {
+        this.$tips('您暂无维保工程')
+      }
+    },
 
-      toMaintenanceRecods() {
-        if(this.isWorkerUser) {
-          this.navToPage(`/packageWorkorder/pages/orderList?isWb=true`);
-        }else {
-          this.navToPage(`/packageWorkorder/pages/userWorkorderList?isWb=1`);
-        }
-      },
+    toMaintenanceRecods() {
+      if (this.isWorkerUser) {
+        this.navToPage(`/packageWorkorder/pages/orderList?isWb=true`)
+      } else {
+        this.navToPage(`/packageWorkorder/pages/userWorkorderList?isWb=1`)
+      }
+    },
 
-			toMall() {
-				this.$navToPage({
+    toMall() {
+      this.$navToPage(
+        {
           url: '/pages/goods/index'
-        }, 'switchTab')
-			},
-
-			// 获取轮播图列表
-			async getBannerList() {
-				return new Promise((resolve, reject) => {
-					this.$api.get('/common/list/page', {
+        },
+        'switchTab'
+      )
+    },
+
+    // 获取轮播图列表
+    async getBannerList() {
+      return new Promise((resolve, reject) => {
+        this.$api
+          .get('/common/list/page', {
             pageNum: 1,
             pageSize: 10,
             state: true,
             port: 'SHOP'
-					}).then(res => {
-						this.bannerList = res.data.records;
-            resolve(1);
-					}).catch(res => {
-            reject(0);
           })
-				})
-			},
-
-      // 点击轮播图
-			clickBanner(index) {
-			  let item = this.bannerList[index];
-			  if(item.type == 3) {
-			    this.toActivityList(item.goodsId);
-			  }else {
-			    this.toGoodsDetail(item.goodsId);
-			  }
-			},
-
-      // 获取扫码活动列表
-      async getCodeActivityList() {
-      	return new Promise((resolve, reject) => {
-      		this.$api.post('/promotion/questionnaire/list', {
-            state: 1
-      		}).then(res => {
-      			this.codeActivityList = res.data;
-            resolve(1);
-      		}).catch(res => {
-            reject(0);
+          .then(res => {
+            this.bannerList = res.data.records
+            resolve(1)
           })
-      	})
-      },
+          .catch(res => {
+            reject(0)
+          })
+      })
+    },
+
+    // 点击轮播图
+    clickBanner(index) {
+      let item = this.bannerList[index]
+      if (item.type == 3) {
+        this.toActivityList(item.goodsId)
+      } else {
+        this.toGoodsDetail(item.goodsId)
+      }
+    },
 
-			// 获取可领优惠券列表
-			getCouponList() {
-				this.$api.get('/coupon/list/all', {
-					userId: this.$store.state.user.userId
-				}).then(res => {
-					this.couponList = res.data.filter(item => {
-						return item.obtainType === 1;
-					});
-					if(this.couponList && this.couponList.length > 0) {
-						this.couponDialogImgUrl = this.couponList[0].imgSrc;
-					}
-				})
-			},
-
-			// 关闭弹窗
-			closeDialog() {
-				this.$refs.dialog.step({
-					scale: 0
-				}, {
-					duration: 400
-				})
-				this.$refs.dialog.run(()=>{
-					this.isShowCouponDialog = false;
-				})
-				this.$refs.dialogBtn.step({
-					scale: 0
-				}, {
-					duration: 400
-				})
-				this.$refs.dialogBtn.run(()=>{
-					this.isShowCouponDialog = false;
-				})
-			},
-
-			// 领取优惠券
-			handleCoupon() {
-				let ids = this.couponList.map(item => {
-					return item.couponId;
-				})
-				this.$api.post('/coupon/obtain', {
+    // 获取扫码活动列表
+    async getCodeActivityList() {
+      return new Promise((resolve, reject) => {
+        this.$api
+          .post('/promotion/questionnaire/list', {
+            state: 1
+          })
+          .then(res => {
+            this.codeActivityList = res.data
+            resolve(1)
+          })
+          .catch(res => {
+            reject(0)
+          })
+      })
+    },
+
+    // 获取可领优惠券列表
+    getCouponList() {
+      this.$api
+        .get('/coupon/list/all', {
+          userId: this.$store.state.user.userId
+        })
+        .then(res => {
+          this.couponList = res.data.filter(item => {
+            return item.obtainType === 1
+          })
+          if (this.couponList && this.couponList.length > 0) {
+            this.couponDialogImgUrl = this.couponList[0].imgSrc
+          }
+        })
+    },
+
+    // 关闭弹窗
+    closeDialog() {
+      this.$refs.dialog.step(
+        {
+          scale: 0
+        },
+        {
+          duration: 400
+        }
+      )
+      this.$refs.dialog.run(() => {
+        this.isShowCouponDialog = false
+      })
+      this.$refs.dialogBtn.step(
+        {
+          scale: 0
+        },
+        {
+          duration: 400
+        }
+      )
+      this.$refs.dialogBtn.run(() => {
+        this.isShowCouponDialog = false
+      })
+    },
+
+    // 领取优惠券
+    handleCoupon() {
+      let ids = this.couponList.map(item => {
+        return item.couponId
+      })
+      this.$api
+        .post('/coupon/obtain', {
           userId: this.$store.state.user.userId,
           couponIds: ids.join(',')
-				}).then(res => {
-					this.closeDialog();
-					setTimeout(() => {
-            this.$tips('优惠券领取成功,请及时使用!');
-					}, 500)
-				})
-			},
-
-			// 进入商品详情
-			toGoodsDetail(id) {
-				if(!id) {
-					return false;
-				}
-				this.$navToPage({
-					url:'/packageGoods/pages/detail?id=' + id
-				})
-			},
-
-			// 进入活动列表
-			toActivityList(type) {
-				this.$navToPage({
-					url: '/packageGoods/pages/activity?type=' + type
-				})
-			},
-
-      // 进入扫码活动列表
-      toCodeActivityList() {
-        this.$navToPage({
-        	url: '/packageHome/pages/codeActivity/activityList'
         })
-      },
+        .then(res => {
+          this.closeDialog()
+          setTimeout(() => {
+            this.$tips('优惠券领取成功,请及时使用!')
+          }, 500)
+        })
+    },
 
-			// 绑定用户关系
-			bindUser(serviceId) {
-				this.$api.post('/user/bind', {
+    // 进入商品详情
+    toGoodsDetail(id) {
+      if (!id) {
+        return false
+      }
+      this.$navToPage({
+        url: '/packageGoods/pages/detail?id=' + id
+      })
+    },
+
+    // 进入活动列表
+    toActivityList(type) {
+      this.$navToPage({
+        url: '/packageGoods/pages/activity?type=' + type
+      })
+    },
+
+    // 进入扫码活动列表
+    toCodeActivityList() {
+      this.$navToPage({
+        url: '/packageHome/pages/codeActivity/activityList'
+      })
+    },
+
+    // 绑定用户关系
+    bindUser(serviceId) {
+      this.$api
+        .post('/user/bind', {
           serviceId: serviceId,
-          userId: this.$store.state.user.userId,
-				}).then(res => {
-					console.log('绑定成功:' + res.message);
-				})
-			},
-
-      // 去分类列表
-      toClassifyList(categoryId) {
-        this.navToPage(`/packageGoods/pages/classify?categoryId=${categoryId}`)
-      },
-
-      // 点击二级分类
-      toGoodsList(pid, cid, cname) {
-      	this.$navToPage({
-          url: `/packageGoods/pages/list?pid=${pid}&cid=${cid}&cname=${cname}`
-      	})
-      },
-
-			// 进入商品详情
-			toGoodsDetail(id) {
-				if(!id) {
-					return false;
-				}
-				this.$navToPage({
-					url:'/packageGoods/pages/detail?id=' + id
-				})
-			},
-
-			// 检查是否有优惠券过期
-			checkCoupon() {
-				this.$api.get('/coupon/timeout')
+          userId: this.$store.state.user.userId
+        })
         .then(res => {
-					if(res.data) {
-						this.isCouponDialog = true;
-					}
-				})
-			},
-
-			// 进入我的优惠券
-			toMyCoupon() {
-				this.isCouponDialog = false;
-				this.navToPage('/packageMine/pages/coupon/list');
-			},
-
-			// 领取优惠券
-			receiveCoupon(id) {
-				if(!this.isLogin) {
-					return this.navToPage('/pages/login/indexs');
-				}
-
-        if(this.isSmsReceive) {
-          this.$api.get('/coupon/obtain')
+          console.log('绑定成功:' + res.message)
+        })
+    },
+
+    // 去分类列表
+    toClassifyList(categoryId) {
+      this.navToPage(`/packageGoods/pages/classify?categoryId=${categoryId}`)
+    },
+
+    // 点击二级分类
+    toGoodsList(pid, cid, cname) {
+      this.$navToPage({
+        url: `/packageGoods/pages/list?pid=${pid}&cid=${cid}&cname=${cname}`
+      })
+    },
+
+    // 进入商品详情
+    toGoodsDetail(id) {
+      if (!id) {
+        return false
+      }
+      this.$navToPage({
+        url: '/packageGoods/pages/detail?id=' + id
+      })
+    },
+
+    // 检查是否有优惠券过期
+    checkCoupon() {
+      this.$api.get('/coupon/timeout').then(res => {
+        if (res.data) {
+          this.isCouponDialog = true
+        }
+      })
+    },
+
+    // 进入我的优惠券
+    toMyCoupon() {
+      this.isCouponDialog = false
+      this.navToPage('/packageMine/pages/coupon/list')
+    },
+
+    // 领取优惠券
+    receiveCoupon(id) {
+      if (!this.isLogin) {
+        return this.navToPage('/pages/login/indexs')
+      }
+
+      if (this.isSmsReceive) {
+        this.$api
+          .get('/coupon/obtain')
           .then(res => {
-          	this.isReceiveDialog = false;
+            this.isReceiveDialog = false
             this.$modal({
               content: '领取成功',
               confirmText: '去看看'
-            }).then(() => {
-              this.toMyCoupon();
-            }).catch(() => {})
-          }).catch(res => {
-          	this.isReceiveDialog = false;
-            this.$tips(`领取失败:${res.message}`);
+            })
+              .then(() => {
+                this.toMyCoupon()
+              })
+              .catch(() => {})
+          })
+          .catch(res => {
+            this.isReceiveDialog = false
+            this.$tips(`领取失败:${res.message}`)
           })
-        }else {
-          this.$api.get('/coupon/transfer/coupon2', {
+      } else {
+        this.$api
+          .get('/coupon/transfer/coupon2', {
             userCouponId: this.scene.couponId,
             shareUserId: this.scene.serviceId
-          }).then(res => {
-          	this.isReceiveDialog = false;
-          	this.$modal({
-          	  content: '领取成功',
-          	  confirmText: '去看看'
-          	}).then(() => {
-          	  this.toMyCoupon();
-          	}).catch(() => {})
-          }).catch(res => {
-          	this.isReceiveDialog = false;
-          	this.$tips(`领取失败:${res.message}`);
           })
-        }
-			},
-
-			// 跳转微信公众号链接
-			toWxLink() {
-				let link = this.configInfo.pubOfficeAddr
-				if(!link) return false;
-				this.navToPage('/pages/index/webview?link=' + link);
-			},
-
-      navToPage(url) {
-        this.$navToPage({
-          url
-        })
-      },
-
-      toWorkorder() {
-        this.$navToPage({
-          url: `/packageWorkorder/pages/userWorkorderList`
-        })
+          .then(res => {
+            this.isReceiveDialog = false
+            this.$modal({
+              content: '领取成功',
+              confirmText: '去看看'
+            })
+              .then(() => {
+                this.toMyCoupon()
+              })
+              .catch(() => {})
+          })
+          .catch(res => {
+            this.isReceiveDialog = false
+            this.$tips(`领取失败:${res.message}`)
+          })
       }
-		}
-	}
+    },
+
+    // 跳转微信公众号链接
+    toWxLink() {
+      let link = this.configInfo.pubOfficeAddr
+      if (!link) return false
+      this.navToPage('/pages/index/webview?link=' + link)
+    },
+
+    navToPage(url) {
+      this.$navToPage({
+        url
+      })
+    },
+
+    toWorkorder() {
+      this.$navToPage({
+        url: `/packageWorkorder/pages/userWorkorderList`
+      })
+    }
+  }
+}
 </script>
 
 <style lang="scss" scoped>
-	.all-container {
-		box-sizing: border-box;
-		padding: 1rpx 20rpx 20rpx;
-	}
-
-	.top-tooltip {
-		width: 390rpx;
-		transform-origin: center bottom;
-		z-index: 1025;
-		position: fixed;
-		top: 20rpx;
-		right: 20rpx;
-		background: rgba(0,0,0,.8);
-		min-width: 150px;
-		border-radius: 8rpx;
-		padding: 15rpx 20rpx;
-		color: #ffffff;
-		text-align: justify;
-		box-shadow: 0 4rpx 24rpx 0 rgba(0, 0, 0, .1);
-		word-break: break-all;
-		box-sizing: border-box;
-		.content {
-			display: flex;
-			align-items: center;
-			justify-content: space-between;
-			.left {
-				view {
-          color: #ffffff;
-          font-size: 24rpx;
-					display: flex;
-					align-items: center;
-					&:last-child {
-						margin-top: 8rpx;
-					}
-				}
-				.iconfont {
-					color: #ffffff;
-					font-size: 36rpx;
-					margin: 0 4rpx;
-				}
-			}
-			.close {
-				flex-shrink: 0;
-				font-size: 34rpx;
-				color: #FFFFFF;
-				margin-left: 20rpx;
-			}
-		}
-		.arrow {
-			top: -6px;
-			right: 110rpx;
-			margin-right: 3px;
-			border-top-width: 0;
-			border-bottom-color: #ebeef5;
-			border-width: 6px;
-			filter: drop-shadow(0 2px 12px rgba(0,0,0,.03));
-			position: absolute;
-			display: block;
-			width: 0;
-			height: 0;
-			border-color: transparent;
-			border-style: solid;
-			&::after {
-				position: absolute;
-				display: block;
-				width: 0;
-				height: 0;
-				border-color: transparent;
-				border-style: solid;
-				top: -12px;
-				margin-left: -6px;
-				border-top-width: 0;
-				border-bottom-color: rgba(0,0,0,.8);
-				content: " ";
-				border-width: 6px;
-			}
-		}
-	}
-
-	.bottom-tooltip {
-		z-index: 1025;
-		position: fixed;
-		bottom: 20rpx;
-		left: 20rpx;
-		width: 710rpx;
-		background: rgba(0,0,0,.8);
-		border-radius: 8rpx;
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		height: 72rpx;
-		padding: 0 20rpx 0 30rpx;
-		box-sizing: border-box;
-		.left {
-			display: flex;
-			align-items: center;
-			.close {
-				font-size: 34rpx;
-				color: #FFFFFF;
-			}
-			.text {
-				font-size: 24rpx;
-				color: #ffffff;
-				margin-left: 16rpx;
-			}
-		}
-		.btn {
-			font-size: 24rpx;
-			color: #ffffff;
-			background: #FF3F42;
-			padding: 0 16rpx;
-			height: 48rpx;
-			line-height: 48rpx;
-			border-radius: 48rpx;
-		}
-	}
-
-	.home-title {
-		display: flex;
-		align-items: center;
-		justify-content: space-between;
-		.left {
-			font-size: 34rpx;
-			color: $main-font;
-			font-weight: bold;
-		}
-		.right {
-			display: flex;
-			align-items: center;
-			.text {
-				color: $sec-font;
-        font-size: 28rpx;
-			}
-			.iconfont {
-				font-size: 24rpx;
-				color: $sec-font;
-				margin-left: 8rpx;
-			}
-		}
-	}
-	.home-container {
-		background: #f5f5f5;
-	}
-
-	.all-container {
-		padding: 1rpx 20rpx 20rpx;
-	}
-
-	.card {
-		@include zj-card;
-		padding: 30rpx;
-		margin-top: 20rpx;
-		background: linear-gradient(180deg, #F3F9FE 0%, #FFFFFF 100%);
-	}
-
-  .swiper-container {
-		@include zj-card;
-  	margin-top: 20rpx;
-    padding: 0 20rpx;
-    ::v-deep .u-swiper {
-      height: 350rpx !important;
-      .u-swiper__wrapper {
-        height: 350rpx !important;
+.all-container {
+  box-sizing: border-box;
+  padding: 1rpx 20rpx 20rpx;
+}
+
+.top-tooltip {
+  width: 390rpx;
+  transform-origin: center bottom;
+  z-index: 1025;
+  position: fixed;
+  top: 20rpx;
+  right: 20rpx;
+  background: rgba(0, 0, 0, 0.8);
+  min-width: 150px;
+  border-radius: 8rpx;
+  padding: 15rpx 20rpx;
+  color: #ffffff;
+  text-align: justify;
+  box-shadow: 0 4rpx 24rpx 0 rgba(0, 0, 0, 0.1);
+  word-break: break-all;
+  box-sizing: border-box;
+  .content {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+    .left {
+      view {
+        color: #ffffff;
+        font-size: 24rpx;
+        display: flex;
+        align-items: center;
+        &:last-child {
+          margin-top: 8rpx;
+        }
       }
-      .u-swiper__wrapper__item__wrapper__image {
-        height: 350rpx !important;
+      .iconfont {
+        color: #ffffff;
+        font-size: 36rpx;
+        margin: 0 4rpx;
       }
     }
+    .close {
+      flex-shrink: 0;
+      font-size: 34rpx;
+      color: #ffffff;
+      margin-left: 20rpx;
+    }
   }
-
-  .swiper2-container {
-  	@include zj-card;
-  	position: relative;
-  	margin-top: 20rpx;
-  	::v-deep .u-swiper {
-  	  height: 188rpx !important;
-  	  .u-swiper__wrapper {
-  	    height: 188rpx !important;
-  	  }
-  	  .u-swiper__wrapper__item__wrapper__image {
-  	    height: 188rpx !important;
-  	  }
-  	}
+  .arrow {
+    top: -6px;
+    right: 110rpx;
+    margin-right: 3px;
+    border-top-width: 0;
+    border-bottom-color: #ebeef5;
+    border-width: 6px;
+    filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
+    position: absolute;
+    display: block;
+    width: 0;
+    height: 0;
+    border-color: transparent;
+    border-style: solid;
+    &::after {
+      position: absolute;
+      display: block;
+      width: 0;
+      height: 0;
+      border-color: transparent;
+      border-style: solid;
+      top: -12px;
+      margin-left: -6px;
+      border-top-width: 0;
+      border-bottom-color: rgba(0, 0, 0, 0.8);
+      content: ' ';
+      border-width: 6px;
+    }
   }
-
-  .noticebar-container {
-    margin-top: 30rpx;
+}
+
+.bottom-tooltip {
+  z-index: 1025;
+  position: fixed;
+  bottom: 20rpx;
+  left: 20rpx;
+  width: 710rpx;
+  background: rgba(0, 0, 0, 0.8);
+  border-radius: 8rpx;
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  height: 72rpx;
+  padding: 0 20rpx 0 30rpx;
+  box-sizing: border-box;
+  .left {
+    display: flex;
+    align-items: center;
+    .close {
+      font-size: 34rpx;
+      color: #ffffff;
+    }
+    .text {
+      font-size: 24rpx;
+      color: #ffffff;
+      margin-left: 16rpx;
+    }
+  }
+  .btn {
+    font-size: 24rpx;
+    color: #ffffff;
+    background: #ff3f42;
+    padding: 0 16rpx;
+    height: 48rpx;
+    line-height: 48rpx;
+    border-radius: 48rpx;
+  }
+}
+
+.home-title {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+  .left {
+    font-size: 34rpx;
+    color: $main-font;
+    font-weight: bold;
+  }
+  .right {
+    display: flex;
+    align-items: center;
+    .text {
+      color: $sec-font;
+      font-size: 28rpx;
+    }
+    .iconfont {
+      font-size: 24rpx;
+      color: $sec-font;
+      margin-left: 8rpx;
+    }
+  }
+}
+.home-container {
+  background: #f5f5f5;
+}
+
+.all-container {
+  padding: 1rpx 20rpx 20rpx;
+}
+
+.card {
+  @include zj-card;
+  padding: 30rpx;
+  margin-top: 20rpx;
+  background: linear-gradient(180deg, #f3f9fe 0%, #ffffff 100%);
+}
+
+.swiper-container {
+  @include zj-card;
+  margin-top: 20rpx;
+  padding: 0 20rpx;
+  ::v-deep .u-swiper {
+    height: 350rpx !important;
+    .u-swiper__wrapper {
+      height: 350rpx !important;
+    }
+    .u-swiper__wrapper__item__wrapper__image {
+      height: 350rpx !important;
+    }
   }
+}
+
+.swiper2-container {
+  @include zj-card;
+  position: relative;
+  margin-top: 20rpx;
+  ::v-deep .u-swiper {
+    height: 188rpx !important;
+    .u-swiper__wrapper {
+      height: 188rpx !important;
+    }
+    .u-swiper__wrapper__item__wrapper__image {
+      height: 188rpx !important;
+    }
+  }
+}
+
+.noticebar-container {
+  margin-top: 30rpx;
+}
 
-	.service-container {
-    padding: 0;
-    .home-title {
-      padding: 30rpx 30rpx 0;
+.service-container {
+  padding: 0;
+  .home-title {
+    padding: 30rpx 30rpx 0;
+  }
+  .list {
+    display: flex;
+    margin-top: 40rpx;
+    flex-wrap: wrap;
+    padding-bottom: 30rpx;
+    .item {
+      width: 25%;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      box-sizing: border-box;
+      margin-bottom: 20rpx;
+      &:nth-child(5),
+      &:nth-child(6),
+      &:nth-child(7),
+      &:nth-child(8) {
+        margin-bottom: 0;
+      }
+      image {
+        width: 76rpx;
+        height: 76rpx;
+      }
+      text {
+        font-size: 26rpx;
+        font-weight: 500;
+        margin-top: 16rpx;
+      }
     }
-		.list {
-			display: flex;
-			margin-top: 40rpx;
-      flex-wrap: wrap;
-      padding-bottom: 30rpx;
-			.item {
-        width: 25%;
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				box-sizing: border-box;
-        margin-bottom: 20rpx;
-        &:nth-child(5), &:nth-child(6), &:nth-child(7), &:nth-child(8) {
-          margin-bottom: 0;
-        }
-				image {
-					width: 76rpx;
-					height: 76rpx;
-				}
-				text {
-					font-size: 26rpx;
-					font-weight: 500;
-					margin-top: 16rpx;
-				}
-			}
-		}
-	}
-
-	.share-container {
-		.list {
-			display: flex;
-			margin-top: 40rpx;
-			.item {
-				flex: 1;
-				padding: 20rpx;
-				border-radius: 12rpx;
-        display: flex;
-        align-items: center;
-				image {
-          flex-shrink: 0;
-          width: 88rpx;
-          height: 88rpx;
+  }
+}
+
+.share-container {
+  .list {
+    display: flex;
+    margin-top: 40rpx;
+    .item {
+      flex: 1;
+      padding: 20rpx;
+      border-radius: 12rpx;
+      display: flex;
+      align-items: center;
+      image {
+        flex-shrink: 0;
+        width: 88rpx;
+        height: 88rpx;
+      }
+      .text {
+        margin-left: 20rpx;
+        font-size: 32rpx;
+      }
+      &:first-child {
+        margin-right: 30rpx;
+        background: #e8f5fe;
+        .text {
+          color: #6ca2f8;
         }
+      }
+      &:last-child {
+        background: #fff9f4;
         .text {
-          margin-left: 20rpx;
-          font-size: 32rpx;
+          color: #d87e3b;
         }
-				&:first-child {
-					margin-right: 30rpx;
-					background: #E8F5FE;
-					.text {
-            color: #6CA2F8;
-          }
-				}
-				&:last-child {
-					background: #FFF9F4;
-					.text {
-					  color: #D87E3B;
-					}
-				}
-			}
-		}
-	}
-
-	.order-container {
-		.list {
-			display: flex;
-			justify-content: space-between;
-			margin-top: 40rpx;
-			.item {
-				display: flex;
-				flex-direction: column;
-				align-items: center;
-				box-sizing: border-box;
-				padding: 0 10rpx;
-				image {
-					width: 76rpx;
-					height: 76rpx;
-				}
-				text {
-					font-size: 26rpx;
-					font-weight: 500;
-					margin-top: 16rpx;
-				}
-			}
-		}
-	}
-
-  .other-container {
-    padding: 30rpx 0;
-    .home-title {
-      padding: 0 30rpx;
+      }
     }
-    .list {
-    	display: flex;
-    	margin-top: 40rpx;
-    	.item {
-        width: 25%;
-    		display: flex;
-    		flex-direction: column;
-    		align-items: center;
-    		box-sizing: border-box;
-    		padding: 0 10rpx;
-    		image {
-    			width: 76rpx;
-    			height: 76rpx;
-    		}
-    		text {
-    			font-size: 26rpx;
-    			font-weight: 500;
-    			margin-top: 16rpx;
-    		}
-    	}
+  }
+}
+
+.order-container {
+  .list {
+    display: flex;
+    justify-content: space-between;
+    margin-top: 40rpx;
+    .item {
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      box-sizing: border-box;
+      padding: 0 10rpx;
+      image {
+        width: 76rpx;
+        height: 76rpx;
+      }
+      text {
+        font-size: 26rpx;
+        font-weight: 500;
+        margin-top: 16rpx;
+      }
     }
   }
+}
 
-	.contact-container {
-		.list {
-			margin-top: 20rpx;
-			.item {
-				display: flex;
-				align-items: center;
-				height: 100rpx;
-        background: none;
-        padding: 0;
-        &.bb {
-          border-bottom: 1px solid #eaeaea;
-        }
-        &::after {
-          border: none;
-        }
-				image {
-					width: 44rpx;
-					height: 44rpx;
-					margin-right: 20rpx;
-				}
-				.title {
-					flex: 1;
-					font-size: 30rpx;
-					font-weight: 500;
-          text-align: left;
-          line-height: 1;
-				}
-				.iconfont {
-					font-size: 26rpx;
-					color: $sec-font;
-				}
-			}
-      .wrap1 {
+.other-container {
+  padding: 30rpx 0;
+  .home-title {
+    padding: 0 30rpx;
+  }
+  .list {
+    display: flex;
+    margin-top: 40rpx;
+    .item {
+      width: 25%;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      box-sizing: border-box;
+      padding: 0 10rpx;
+      image {
+        width: 76rpx;
+        height: 76rpx;
+      }
+      text {
+        font-size: 26rpx;
+        font-weight: 500;
+        margin-top: 16rpx;
+      }
+    }
+  }
+}
+
+.contact-container {
+  .list {
+    margin-top: 20rpx;
+    .item {
+      display: flex;
+      align-items: center;
+      height: 100rpx;
+      background: none;
+      padding: 0;
+      &.bb {
         border-bottom: 1px solid #eaeaea;
-        padding-bottom: 20rpx;
-        padding-left: 60rpx;
-        .it {
-          padding: 20rpx 0;
-          border-bottom: 1px solid #f5f5f5;
-          &:last-child {
-            border-bottom: none;
+      }
+      &::after {
+        border: none;
+      }
+      image {
+        width: 44rpx;
+        height: 44rpx;
+        margin-right: 20rpx;
+      }
+      .title {
+        flex: 1;
+        font-size: 30rpx;
+        font-weight: 500;
+        text-align: left;
+        line-height: 1;
+      }
+      .iconfont {
+        font-size: 26rpx;
+        color: $sec-font;
+      }
+    }
+    .wrap1 {
+      border-bottom: 1px solid #eaeaea;
+      padding-bottom: 20rpx;
+      padding-left: 60rpx;
+      .it {
+        padding: 20rpx 0;
+        border-bottom: 1px solid #f5f5f5;
+        &:last-child {
+          border-bottom: none;
+        }
+        .top {
+          display: flex;
+          align-items: center;
+          justify-content: space-between;
+          .left {
+            font-size: 28rpx;
           }
-          .top {
-            display: flex;
-            align-items: center;
-            justify-content: space-between;
-            .left {
-              font-size: 28rpx;
+          .right {
+            .iconfont {
+              font-size: 36rpx;
+              color: $theme-color;
             }
-            .right {
-              .iconfont {
-                font-size: 36rpx;
-                color: $theme-color;
-              }
-            }
-          }
-          .address {
-            margin-top: 12rpx;
-            font-size: 28rpx;
-            color: $sec-font;
           }
         }
-      }
-      .wrap2 {
-        display: flex;
-        align-items: center;
-        justify-content: space-between;
-        padding-left: 60rpx;
-        .left {
+        .address {
+          margin-top: 12rpx;
           font-size: 28rpx;
+          color: $sec-font;
         }
-        .right {
-          .iconfont {
-            font-size: 36rpx;
-            color: $theme-color;
-          }
+      }
+    }
+    .wrap2 {
+      display: flex;
+      align-items: center;
+      justify-content: space-between;
+      padding-left: 60rpx;
+      .left {
+        font-size: 28rpx;
+      }
+      .right {
+        .iconfont {
+          font-size: 36rpx;
+          color: $theme-color;
         }
       }
-		}
-	}
-
-	.dialog-container {
-		position: fixed;
-		z-index: 1000000;
-		top: 0;
-		left: 0;
-		width: 100%;
-		height: 100vh;
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		flex-direction: column;
-		background: rgba($color: #000000, $alpha: .6);
-		.image {
-			width: 600rpx;
-			display: block;
-			border-radius: 20rpx;
-			margin-top: 40rpx;
-		}
-		.iconfont {
-			font-size: 68rpx;
-			color: #FFFFFF;
-			margin-top: 40rpx;
-		}
-	}
+    }
+  }
+}
+
+.dialog-container {
+  position: fixed;
+  z-index: 1000000;
+  top: 0;
+  left: 0;
+  width: 100%;
+  height: 100vh;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  flex-direction: column;
+  background: rgba($color: #000000, $alpha: 0.6);
+  .image {
+    width: 600rpx;
+    display: block;
+    border-radius: 20rpx;
+    margin-top: 40rpx;
+  }
+  .iconfont {
+    font-size: 68rpx;
+    color: #ffffff;
+    margin-top: 40rpx;
+  }
+}
 </style>
 
 <style>
-	::-webkit-scrollbar {
-		display: none;
-		width: 0 !important;
-		height: 0 !important;
-		-webkit-appearance: none;
-		background: transparent;
-		color: transparent;
-	}
+::-webkit-scrollbar {
+  display: none;
+  width: 0 !important;
+  height: 0 !important;
+  -webkit-appearance: none;
+  background: transparent;
+  color: transparent;
+}
 </style>

+ 29 - 29
src/pages/mine/index.vue

@@ -43,7 +43,7 @@
             </view>
           </view>
 
-          <view class="stats">
+          <!-- <view class="stats">
             <view
               class="item"
               v-for="(item, index) in statsList.filter(o => o.show)"
@@ -53,11 +53,11 @@
               <view class="value">{{ item.num }}</view>
               <view class="label">{{ item.name }}</view>
             </view>
-          </view>
+          </view> -->
         </view>
 
         <view class="all-container">
-          <view class="profit-container card" v-if="isLogin && (isServiceUser || isWorkerUser)">
+          <!-- <view class="profit-container card" v-if="isLogin && (isServiceUser || isWorkerUser)">
             <view class="home-title">
               <view class="left">分销收益</view>
               <view class="right" @tap="navToPage('/packageMine/pages/profit/list', 1)">
@@ -76,7 +76,7 @@
                 <view class="title">{{ item.title }}</view>
               </view>
             </view>
-          </view>
+          </view> -->
 
           <view class="profit-container card" v-if="isLogin && isWorkerUser">
             <view class="home-title">
@@ -303,36 +303,36 @@ export default {
           link: '/packageMine/pages/phone',
           show: !this.userInfo.mobile
         },
-        {
-          name: '商城二维码',
-          icon: 'icon-erweima',
-          link: '/packageMine/pages/mallCode',
-          show: this.isServiceUser || this.isWorkerUser
-        },
         // {
-        //   name: '关注公众号',
-        //   icon: 'icon-gongzhonghao',
-        //   fn: 'toWxLink',
-        //   show: true
+        //   name: '商城二维码',
+        //   icon: 'icon-erweima',
+        //   link: '/packageMine/pages/mallCode',
+        //   show: this.isServiceUser || this.isWorkerUser
         // },
-        {
-          name: '地址管理',
-          icon: 'icon-shouhuodizhi',
-          link: '/packageMine/pages/address/list',
-          show: true
-        },
-        {
-          name: '销售排行榜',
-          icon: 'icon-paihangbang',
-          link: '/packageMine/pages/ranking/list',
-          show: this.isServiceUser || this.isWorkerUser
-        },
+        // // {
+        // //   name: '关注公众号',
+        // //   icon: 'icon-gongzhonghao',
+        // //   fn: 'toWxLink',
+        // //   show: true
+        // // },
         // {
-        //   name: '在线客服',
-        //   icon: 'icon-kefu',
-        //   fn: 'contact',
+        //   name: '地址管理',
+        //   icon: 'icon-shouhuodizhi',
+        //   link: '/packageMine/pages/address/list',
         //   show: true
         // },
+        // {
+        //   name: '销售排行榜',
+        //   icon: 'icon-paihangbang',
+        //   link: '/packageMine/pages/ranking/list',
+        //   show: this.isServiceUser || this.isWorkerUser
+        // },
+        // // {
+        // //   name: '在线客服',
+        // //   icon: 'icon-kefu',
+        // //   fn: 'contact',
+        // //   show: true
+        // // },
         {
           name: '师傅入驻',
           icon: 'icon-kehu',

+ 160 - 159
src/pages/workorder/index.vue

@@ -1,9 +1,6 @@
 <template>
   <!-- #ifdef H5 -->
-  <zj-page-layout
-    :isScroll="true"
-    :refresherTriggered="refresherTriggered"
-    @refresherrefresh="refresherrefresh">
+  <zj-page-layout :isScroll="true" :refresherTriggered="refresherTriggered" @refresherrefresh="refresherrefresh">
     <template slot="header">
       <view class="search-container" v-if="isWorkerUser">
         <u-search
@@ -11,13 +8,14 @@
           :showAction="false"
           placeholder="输入工单单号进行搜索"
           v-model="keyword"
-          @search="searchData">
+          @search="searchData"
+        >
         </u-search>
       </view>
     </template>
 
     <view class="all-container">
-      <view class="order-container card">
+      <!-- <view class="order-container card">
         <view class="home-title">
           <view class="left">我的订单</view>
           <view class="right" @tap="navToPage('/packageMine/pages/order/list?tab=', 1)">
@@ -35,7 +33,7 @@
             <view class="title">{{ item.title }}</view>
           </view>
         </view>
-      </view>
+      </view> -->
 
       <view class="order-container card">
         <view class="home-title">
@@ -46,8 +44,12 @@
           </view>
         </view>
         <view class="list">
-          <view class="item" v-for="(item, index) in workorderList" :key="index"
-            @tap="navToPage(`/packageWorkorder/pages/userWorkorderList?tab=${item.key}`, 1)">
+          <view
+            class="item"
+            v-for="(item, index) in workorderList"
+            :key="index"
+            @tap="navToPage(`/packageWorkorder/pages/userWorkorderList?tab=${item.key}`, 1)"
+          >
             <view class="icon">
               <text class="iconfont" :class="item.icon"></text>
               <u-badge max="99" :value="item.num" :absolute="true" :offset="[-4, -4]"></u-badge>
@@ -101,176 +103,176 @@
 </template>
 
 <script>
-  // #ifdef H5
-  import { selectionChange } from '@/common/utils/util.js';
-
-  export default {
-    data() {
-      return {
-        userInfo: {},
-        refresherTriggered: false,
-        keyword: '',
-
-        statsList: [
-        	{ name: '待接单', num: 0, icon: 'icon-daiyuyue', color: '#D8F6D8', url: '/packageWorkorder/pages/orderList?tab=DJD' },
-        	{ name: '服务中', num: 0, icon: 'icon-daishangmen', color: '#FFEBDF', url: '/packageWorkorder/pages/orderList?tab=FWZ' },
-        	{ name: '异常单', num: 0, icon: 'icon-daiwangong', color: '#D7F1FF', url: '/packageWorkorder/pages/orderList?tab=YCD' },
-        	{ name: '待抢单', num: 0, icon: 'icon-daijiesuan', color: '#FFEED1', url: '/packageWorkorder/pages/orderList?tab=DQD' },
-        	{ name: '今日完工', num: 0, icon: 'icon-tuojigongdan', color: '#D7F1FF', url: '/packageWorkorder/pages/orderList?tab=YWG' },
-        	{ name: '近半年完工', num: 0, icon: 'icon-bannianwangong', color: '#D8F6D8', url: '/packageWorkorder/pages/orderList?tab=YWG' },
-        	{ name: '配件申请中', num: 0, icon: 'icon-bannianwangong', color: '#D8F6D8', url: '/packageMaterial/pages/partsApply/list?tab=ING' },
-        	{ name: '配件已到货', num: 0, icon: 'icon-bannianwangong', color: '#D8F6D8', url: '/packageMaterial/pages/partsApply/list?tab=END' },
-        ],
-
-        scheduleList: [],
-
-        orderList: [
-          { title: '待付款', icon: 'icon-daifukuan', key: 'NOPAY', num: 0 },
-          { title: '进行中', icon: 'icon-daifuwu', key: 'YFH', num: 0 },
-          { title: '待评价', icon: 'icon-daipingjia1', key: 'OVER', num: 0 },
-          { title: '售后/退款', icon: 'icon-shouhou', key: 'REFUND', num: 0 }
-        ],
-
-        workorderList: [
-          { title: '待预约', icon: 'icon-daifukuan', key: 1, num: 0 },
-          { title: '服务中', icon: 'icon-daifuwu', key: 2, num: 0 },
-          { title: '待评价', icon: 'icon-daipingjia1', key: 3, num: 0 },
-          { title: '已完成', icon: 'icon-shouhou', key: 4, num: 0 }
-        ],
-      }
-    },
-
-    computed:{
-      isWorkerUser() { // 是否师傅
-      	return this.userInfo && this.userInfo.type === 'WORKER';
-      },
-    },
+// #ifdef H5
+import { selectionChange } from '@/common/utils/util.js';
+
+export default {
+  data() {
+    return {
+      userInfo: {},
+      refresherTriggered: false,
+      keyword: '',
+
+      statsList: [
+      	{ name: '待接单', num: 0, icon: 'icon-daiyuyue', color: '#D8F6D8', url: '/packageWorkorder/pages/orderList?tab=DJD' },
+      	{ name: '服务中', num: 0, icon: 'icon-daishangmen', color: '#FFEBDF', url: '/packageWorkorder/pages/orderList?tab=FWZ' },
+      	{ name: '异常单', num: 0, icon: 'icon-daiwangong', color: '#D7F1FF', url: '/packageWorkorder/pages/orderList?tab=YCD' },
+      	{ name: '待抢单', num: 0, icon: 'icon-daijiesuan', color: '#FFEED1', url: '/packageWorkorder/pages/orderList?tab=DQD' },
+      	{ name: '今日完工', num: 0, icon: 'icon-tuojigongdan', color: '#D7F1FF', url: '/packageWorkorder/pages/orderList?tab=YWG' },
+      	{ name: '近半年完工', num: 0, icon: 'icon-bannianwangong', color: '#D8F6D8', url: '/packageWorkorder/pages/orderList?tab=YWG' },
+      	{ name: '配件申请中', num: 0, icon: 'icon-bannianwangong', color: '#D8F6D8', url: '/packageMaterial/pages/partsApply/list?tab=ING' },
+      	{ name: '配件已到货', num: 0, icon: 'icon-bannianwangong', color: '#D8F6D8', url: '/packageMaterial/pages/partsApply/list?tab=END' },
+      ],
+
+      scheduleList: [],
+
+      orderList: [
+        { title: '待付款', icon: 'icon-daifukuan', key: 'NOPAY', num: 0 },
+        { title: '进行中', icon: 'icon-daifuwu', key: 'YFH', num: 0 },
+        { title: '待评价', icon: 'icon-daipingjia1', key: 'OVER', num: 0 },
+        { title: '售后/退款', icon: 'icon-shouhou', key: 'REFUND', num: 0 }
+      ],
+
+      workorderList: [
+        { title: '待预约', icon: 'icon-daifukuan', key: 1, num: 0 },
+        { title: '服务中', icon: 'icon-daifuwu', key: 2, num: 0 },
+        { title: '待评价', icon: 'icon-daipingjia1', key: 3, num: 0 },
+        { title: '已完成', icon: 'icon-shouhou', key: 4, num: 0 }
+      ],
+    }
+  },
 
-    onLoad() {
-      this.crossPage.$on('refreshUserWorkorderList', data => {
-        if(this.isWorkerUser) {
-          this.getOrderStats();
-          this.getPartsStats();
-          this.getSchedule();
-        }
-      })
+  computed:{
+    isWorkerUser() { // 是否师傅
+    	return this.userInfo && this.userInfo.type === 'WORKER';
     },
+  },
 
-    async onShow() {
-      selectionChange();
-
-      this.userInfo = await this.$getUserInfo();
-
+  onLoad() {
+    this.crossPage.$on('refreshUserWorkorderList', data => {
       if(this.isWorkerUser) {
         this.getOrderStats();
         this.getPartsStats();
         this.getSchedule();
       }
-    },
+    })
+  },
 
-    onUnload() {
-      this.crossPage.$off('refreshUserWorkorderList');
-    },
+  async onShow() {
+    selectionChange();
 
-    methods: {
-      // 获取工单统计
-      async getOrderStats() {
-        return new Promise((resolve, reject) => {
-          this.$api.post('/pg/order/base/status/count')
-          .then(res => {
-            this.statsList[0].num = res.data.djd;
-            this.statsList[1].num = res.data.fwz;
-            this.statsList[2].num = res.data.ycd;
-            this.statsList[3].num = res.data.dqd;
-            this.statsList[4].num = res.data.jrwg;
-            this.statsList[5].num = res.data.jbnwg;
-          }).finally(res => {
-            resolve(1);
-          })
+    this.userInfo = await this.$getUserInfo();
+
+    if(this.isWorkerUser) {
+      this.getOrderStats();
+      this.getPartsStats();
+      this.getSchedule();
+    }
+  },
+
+  onUnload() {
+    this.crossPage.$off('refreshUserWorkorderList');
+  },
+
+  methods: {
+    // 获取工单统计
+    async getOrderStats() {
+      return new Promise((resolve, reject) => {
+        this.$api.post('/pg/order/base/status/count')
+        .then(res => {
+          this.statsList[0].num = res.data.djd;
+          this.statsList[1].num = res.data.fwz;
+          this.statsList[2].num = res.data.ycd;
+          this.statsList[3].num = res.data.dqd;
+          this.statsList[4].num = res.data.jrwg;
+          this.statsList[5].num = res.data.jbnwg;
+        }).finally(res => {
+          resolve(1);
         })
-      },
-
-      // 获取配件申请统计
-      async getPartsStats() {
-        return new Promise((resolve, reject) => {
-          this.$api.post('/material/parts/apply/count')
-          .then(res => {
-            this.statsList[6].num = res.data.partsIngCount;
-            this.statsList[7].num = res.data.partsEndCount;
-          }).finally(res => {
-            resolve(1);
-          })
+      })
+    },
+
+    // 获取配件申请统计
+    async getPartsStats() {
+      return new Promise((resolve, reject) => {
+        this.$api.post('/material/parts/apply/count')
+        .then(res => {
+          this.statsList[6].num = res.data.partsIngCount;
+          this.statsList[7].num = res.data.partsEndCount;
+        }).finally(res => {
+          resolve(1);
         })
-      },
-
-      // 获取日程
-      async getSchedule() {
-        return new Promise((resolve, reject) => {
-          this.$api.post('/pg/order/base/my/schedule')
-          .then(res => {
-            let list = [];
-            for (var i = 0; i < res.data.dayList.length; i++) {
-              list.push({
-                week: res.data.weekList[i],
-                day: res.data.dayList[i],
-                djd: res.data.djdList[i],
-                fwz: res.data.fwzList[i]
-              });
-            }
-            this.scheduleList = list;
-          }).finally(res => {
-            resolve(1);
-          })
+      })
+    },
+
+    // 获取日程
+    async getSchedule() {
+      return new Promise((resolve, reject) => {
+        this.$api.post('/pg/order/base/my/schedule')
+        .then(res => {
+          let list = [];
+          for (var i = 0; i < res.data.dayList.length; i++) {
+            list.push({
+              week: res.data.weekList[i],
+              day: res.data.dayList[i],
+              djd: res.data.djdList[i],
+              fwz: res.data.fwzList[i]
+            });
+          }
+          this.scheduleList = list;
+        }).finally(res => {
+          resolve(1);
         })
-      },
-
-      // 下拉刷新
-      async refresherrefresh() {
-        this.refresherTriggered = true;
-        if(this.isWorkerUser && this.type != 2) {
-          await this.getOrderStats();
-          await this.getPartsStats();
-          await this.getSchedule();
-        }
-        this.refresherTriggered = false;
-      },
+      })
+    },
 
-      clickItem(item) {
-        if(!item.url) return false;
-        this.navToPage(item.url);
-      },
+    // 下拉刷新
+    async refresherrefresh() {
+      this.refresherTriggered = true;
+      if(this.isWorkerUser && this.type != 2) {
+        await this.getOrderStats();
+        await this.getPartsStats();
+        await this.getSchedule();
+      }
+      this.refresherTriggered = false;
+    },
 
-      searchData() {
-        this.navToPage(`/packageWorkorder/pages/search?keyword=${this.keyword}`)
-      },
+    clickItem(item) {
+      if(!item.url) return false;
+      this.navToPage(item.url);
+    },
 
-      navToPage(url) {
-        this.$navToPage({
-          url
-        })
-      },
+    searchData() {
+      this.navToPage(`/packageWorkorder/pages/search?keyword=${this.keyword}`)
     },
-  }
 
-  // #endif
-  // #ifndef H5
+    navToPage(url) {
+      this.$navToPage({
+        url
+      })
+    },
+  },
+}
 
-  import { getNoticeNum, getOrderNum } from '@/common/utils/util.js';
+// #endif
+// #ifndef H5
 
-  export default {
-    data() {
-      return {
-        pam: {},
-      }
-    },
-    onLoad(pam) {
-      this.pam = pam;
+import { getNoticeNum, getOrderNum } from '@/common/utils/util.js';
 
-      getNoticeNum()
-      getOrderNum()
+export default {
+  data() {
+    return {
+      pam: {},
     }
+  },
+  onLoad(pam) {
+    this.pam = pam;
+
+    getNoticeNum()
+    getOrderNum()
   }
-  // #endif
+}
+// #endif
 </script>
 
 <style lang="scss" scoped>
@@ -280,10 +282,10 @@
   ::v-deep .u-search {
     height: 60rpx;
     input {
-      background: #F7F8FF !important;
+      background: #f7f8ff !important;
     }
     .u-search__content {
-      background: #F7F8FF !important;
+      background: #f7f8ff !important;
       height: 60rpx;
     }
   }
@@ -488,5 +490,4 @@
     }
   }
 }
-
 </style>