Răsfoiți Sursa

Merge branch 'master' into zhongqi-itemUpdate

shish 3 luni în urmă
părinte
comite
0b3cd0470a

+ 4 - 4
ghsApp/src/admin/custom/selectCustom.vue

@@ -21,13 +21,13 @@
               </div>
               <div class="tui-msg-content">
                 <span>{{ item.visitTime.substr(5,11) }}</span>
-
+                <text style="margin-left:10upx;">{{ item.distName }}</text>
                 <span v-if="Number(item.remainDebtAmount) > 0" class="debt-amount">
-                  待结<span class="amount_num">{{item.remainDebtAmount}}</span>
+                  <span class="amount_num">{{item.remainDebtAmount}}</span>
                 </span>
 
                 <span v-if="Number(item.remainDebtAmount) < 0" class="debt-amount">
-                  余额<span class="amount_num" style="color:#3385FF;">{{Math.abs(item.remainDebtAmount)}}</span>
+                  <span class="amount_num" style="color:#3385FF;">{{Math.abs(item.remainDebtAmount)}}</span>
                 </span>
 
                 <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 10000" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">没有下过</text>
@@ -324,7 +324,7 @@ export default {
     line-height: 1;
     color: #9397a4;
     .debt-amount{
-      margin-left:20upx;
+      margin-left:10upx;
       .amount_num{
         color:red;
         margin-left:6upx;

+ 2 - 1
ghsApp/src/admin/home/apply.vue

@@ -98,7 +98,8 @@ export default {
                         {name: "售后记录",img: `${this.$constant.hostUrl}/image/ghs/home/kcyjs.png`,url: "/pagesOrder/refundAllList"},
                         {name: "预订汇总",img: `${this.$constant.hostUrl}/image/ghs/home/kcyjs.png`,url: "/admin/order/statBook"},
                         {name: "预订客户",img: `${this.$constant.hostUrl}/image/ghs/home/kcyjs.png`,url: "/admin/book/custom"},
-                        {name: "预订明细",img: `${this.$constant.hostUrl}/image/ghs/home/kcyjs.png`,url: "/admin/book/itemCustom"}
+                        {name: "预订明细",img: `${this.$constant.hostUrl}/image/ghs/home/kcyjs.png`,url: "/admin/book/itemCustom"},
+                        {name: "配送片区",img: `${this.$constant.hostUrl}/image/ghs/home/kcyjs.png`,url: "/admin/order/orderListByDist"}
                     ]
                 },
                 {

+ 2 - 2
ghsApp/src/admin/home/me.vue

@@ -66,8 +66,8 @@
           </view>
         </template>
 
-        <view class="content_box" v-if="myInfo.showAd && myInfo.showAd==1" style="margin-top: 20upx; padding: 20upx; text-align: center; color: #ff5722; font-size:33upx; font-weight: bold;">
-          介绍一家批发家使用并付费,得¥790现金
+        <view class="content_box" v-if="myInfo.showAd && myInfo.showAd==1" style="margin-top: 20upx; padding: 20upx; text-align: center; color: #ff5722; font-size:35upx; font-weight: bold;">
+          介绍一家批发店使用销花宝,得790元现金
         </view>
 
         <view class="account-info_box content_box">

+ 405 - 0
ghsApp/src/admin/order/orderListByDist.vue

@@ -0,0 +1,405 @@
+<template>
+  <view class="app-main app-content">
+    <view class="input-wrap_box">
+      <view class="select-dn_bx">
+        <DateSelect class="bar" top="0" @selectDateFn="selectDateFn" defaultShowName="今天" :isShowMonth="false" :customDateOption="myCustomDateOption" :maxDays="7" />
+      </view>
+    </view>
+
+    <view class="list-wrap">
+      <view class="table-header">
+        <text class="col-index-header">序号</text>
+        <text class="col-name">名称</text>
+        <text class="col-phone">电话</text>
+        <text class="col-address">地址</text>
+      </view>
+
+      <block v-if="!$util.isEmpty(distList)">
+        <view class="dist-block" v-for="distItem in distList" :key="distItem.distKey">
+          <view class="dist-title">{{ distItem.distName }}</view>
+          <view class="custom-row" v-for="(customItems, index) in distItem.orderList" :key="index" @click="handleRowClick(customItems)">
+            <view class="row-content">
+              <block v-if="customItems.length === 1">
+                <text class="col-index">{{ index + 1 }}</text>
+                <text class="col-name">{{ customItems[0].name }}</text>
+                <text class="col-phone">{{ customItems[0].phone }}</text>
+                <text class="col-address">{{ customItems[0].address }}</text>
+              </block>
+              <block v-else-if="customItems.length > 1">
+                <text class="col-index">{{ index + 1 }}</text>
+                <text class="col-name" style="color: #3385FF;">{{ customItems[0].name }}</text>
+                <text class="col-phone" style="color: #3385FF;">{{ customItems[0].phone }}</text>
+                <text class="col-address" style="color: #3385FF;">{{ customItems[0].address }}</text>
+              </block>
+            </view>
+            <block v-if="getRemarks(customItems).length > 0">
+              <view class="row-remark" v-for="(remarkItem, rIndex) in getRemarks(customItems)" :key="'remark-' + rIndex" style="font-weight:bold;">
+                <text style="font-size:28upx;">{{ remarkItem.label }}:</text>{{ remarkItem.text }}
+              </view>
+            </block>
+          </view>
+        </view>
+      </block>
+      <block v-else>
+        <app-wrapper-empty title="暂无数据" :is-empty="$util.isEmpty(distList)" />
+      </block>
+    </view>
+
+    <NotLogin></NotLogin>
+
+    <!-- 弹窗 -->
+    <view class="popup-mask" v-if="showPopup" @click="closePopup">
+      <view class="popup-content" @click.stop>
+        <view class="popup-header">
+          <text class="popup-title">{{ popupList.length }}条订单</text>
+          <view class="popup-close" @click="closePopup">×</view>
+        </view>
+        <scroll-view scroll-y class="popup-list">
+          <view class="popup-item" v-for="item in popupList" :key="item.id" @click="goToDetail(item.id)">
+            <view class="row-content">
+              <text class="col-name-popup">{{ item.name }}</text>
+              <text class="col-phone-popup">{{ item.phone }}</text>
+              <text class="col-address-popup">{{ item.address }}</text>
+            </view>
+
+            <view class="row-remark" v-if="item.remark" style="font-weight:bold;">
+              <text style="font-size: 28upx;">备注:</text>{{ item.remark }}
+            </view>
+          </view>
+        </scroll-view>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script>
+import DateSelect from '@/components/module/dateSelect';
+import NotLogin from '@/components/not-login';
+import AppWrapperEmpty from '@/components/app-wrapper-empty';
+import { getOrderListByDist } from '@/api/order';
+
+export default {
+  name: 'orderListByDist',
+  components: {
+    DateSelect,
+    NotLogin,
+    AppWrapperEmpty
+  },
+  data() {
+    return {
+      searchTime: '今天',
+      startTime: '',
+      endTime: '',
+      distList: [],
+      myCustomDateOption: [
+        { name: '昨天', value: 'yesterday' },
+        { name: '今天', value: 'today' },
+        { name: '本周', value: 'thisWeek' }
+      ],
+      showPopup: false,
+      popupList: []
+    };
+  },
+  onLoad() {
+    this.getListData();
+  },
+  onPullDownRefresh() {
+    this.getListData().finally(() => {
+      uni.stopPullDownRefresh();
+    });
+  },
+  methods: {
+    init() {},
+    selectDateFn(val) {
+      this.searchTime = val.searchTime || '';
+      this.startTime = val.startTime || '';
+      this.endTime = val.endTime || '';
+      this.getListData();
+    },
+    getListData() {
+      return getOrderListByDist({
+        searchTime: this.searchTime,
+        startTime: this.startTime,
+        endTime: this.endTime
+      })
+        .then((res) => {
+          this.distList = this.normalizeDistList(res.data);
+        })
+        .catch(() => {
+          this.distList = [];
+        });
+    },
+    normalizeDistList(data) {
+      if (this.$util.isEmpty(data)) {
+        return [];
+      }
+      let result = [];
+      // 接口标准返回:{ totalNum, list, shop, shopExt }
+      if (data && Array.isArray(data.list)) {
+        result = data.list.map((item, index) => this.normalizeDistItem(item, index)).filter(item => !this.$util.isEmpty(item.orderList));
+      }
+      
+      const unpartitionedIndex = result.findIndex(item => item.distName === '未分区');
+      if (unpartitionedIndex > -1) {
+        const unpartitionedItem = result.splice(unpartitionedIndex, 1)[0];
+        result.push(unpartitionedItem);
+      }
+      
+      return result;
+    },
+    normalizeDistItem(item, index) {
+      const orderListRaw = item.list || {};
+      const orderList = [];
+      
+      if (typeof orderListRaw === 'object' && !Array.isArray(orderListRaw)) {
+        Object.keys(orderListRaw).forEach(key => {
+          const items = orderListRaw[key] || [];
+          if (Array.isArray(items) && items.length > 0) {
+            orderList.push(items.map(order => this.normalizeCustomItem(order)));
+          }
+        });
+      } else if (Array.isArray(orderListRaw)) {
+        orderListRaw.forEach(order => {
+          orderList.push([this.normalizeCustomItem(order)]);
+        });
+      }
+        
+      return {
+        distKey:item.distId || 999999 + index,
+        distName: item.distName || '未分区',
+        orderList
+      };
+    },
+    normalizeCustomItem(item) {
+      return {
+        id: item.id || item.customId || '',
+        name: item.name || '--',
+        phone: item.mobile || '--',
+        address: item.fullAddress || '--',
+        remark: item.remark || ''
+      };
+    },
+    getRemarks(customItems) {
+      if (!customItems || !customItems.length) return [];
+      const remarks = customItems.map(item => item.remark).filter(remark => !!remark);
+      if (remarks.length === 0) {
+        return [];
+      }
+      if (remarks.length === 1) {
+        return [{ label: '备注', text: remarks[0] }];
+      }
+      return remarks.map((remark, index) => ({
+        label: `备注${index + 1}`,
+        text: remark
+      }));
+    },
+    handleRowClick(customItems) {
+      if (customItems.length === 1) {
+        this.goToDetail(customItems[0].id);
+      } else if (customItems.length > 1) {
+        this.popupList = customItems;
+        this.showPopup = true;
+      }
+    },
+    closePopup() {
+      this.showPopup = false;
+      this.popupList = [];
+    },
+    goToDetail(id) {
+      if (id) {
+        this.$util.pageTo({ url: `/pagesOrder/detail?id=${id}`})
+      }
+    }
+  }
+};
+</script>
+
+<style lang="scss" scoped>
+.app-content {
+  min-height: 100vh;
+  background-color: #f7f7f7;
+}
+
+.input-wrap_box {
+  position: fixed;
+  top: 0;
+  z-index: 10;
+  width: 100%;
+  height: 100upx;
+  background-color: #fff;
+  display: flex;
+  align-items: center;
+  padding: 0 20upx;
+  box-sizing: border-box;
+
+  .select-dn_bx {
+    width: 100%;
+  }
+}
+
+.list-wrap {
+  padding: 100upx 10upx 20upx;
+  box-sizing: border-box;
+}
+
+.table-header {
+  display: flex;
+  align-items: center;
+  min-height: 70upx;
+  padding: 0 10upx;
+  color: #8d96b0;
+  font-size: 30upx;
+  background-color: #eceef3;
+}
+
+.dist-block {
+  background-color: #fff;
+}
+
+.dist-title {
+  text-align: center;
+  padding:18upx 0 18upx 0;
+  font-size: 35upx;
+  color: #3385FF;
+  font-weight:bold;
+}
+
+.custom-row {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  min-height: 88upx;
+  padding: 20upx;
+  font-size: 28upx;
+  color: #333;
+  border-top: 1upx solid #e8e8e8;
+  box-sizing: border-box;
+}
+
+.row-content {
+  display: flex;
+  align-items: center;
+  width: 100%;
+}
+
+.row-remark {
+  font-size: 26upx;
+  color: hsl(0, 95%, 44%);
+  margin-top: 10upx;
+  width: 100%;
+}
+
+.col-index-header {
+  width: 14%;
+  margin-right: 1%;
+}
+
+.col-index {
+  width: 4%;
+  margin-right: 2%;
+  text-align: left;
+}
+
+.col-name {
+  width: 24%;
+  margin-right: 1%;
+}
+
+.col-phone {
+  width: 29%;
+  text-align: center;
+}
+
+.col-address {
+  width: 42%;
+  text-align: center;
+}
+
+.col-name-popup {
+  width: 24%;
+  margin-right: 1%;
+}
+
+.col-phone-popup {
+  width: 30%;
+  text-align: center;
+}
+
+.col-address-popup {
+  width: 46%;
+  text-align: center;
+}
+
+.popup-mask {
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  bottom: 0;
+  z-index: 999;
+  background-color: rgba(0, 0, 0, 0.5);
+  display: flex;
+  align-items: center;
+  justify-content: center;
+}
+
+.popup-content {
+  width: 96%;
+  background-color: #fff;
+  border-radius: 16upx;
+  overflow: hidden;
+  display: flex;
+  flex-direction: column;
+  max-height: 80vh;
+}
+
+.popup-header {
+  position: relative;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  height: 100upx;
+  border-bottom: 1upx solid #eee;
+}
+
+.popup-title {
+  font-size: 32upx;
+  font-weight: bold;
+  color: #333;
+}
+
+.popup-close {
+  position: absolute;
+  right: 0;
+  top: 0;
+  width: 100upx;
+  height: 100upx;
+  display: flex;
+  align-items: center;
+  justify-content: center;
+  font-size: 40upx;
+  color: #999;
+}
+
+.popup-list {
+  flex: 1;
+  padding: 0 20upx;
+  box-sizing: border-box;
+}
+
+.popup-item {
+  display: flex;
+  flex-direction: column;
+  justify-content: center;
+  min-height: 88upx;
+  padding: 20upx 0;
+  font-size: 28upx;
+  color: #333;
+  border-bottom: 1upx solid #eee;
+  box-sizing: border-box;
+}
+
+.popup-item:last-child {
+  border-bottom: none;
+}
+</style>

+ 7 - 0
ghsApp/src/api/order/index.js

@@ -68,6 +68,13 @@ export const getNewOrderList = data => {
 	return https.get("/order/new-order-list", data)
 }
 
+/**
+ * 配送片区列表
+ */
+export const getOrderListByDist = data => {
+	return https.get("/order/list-by-dist", data)
+}
+
 /** *
  * 订单详情 m
  */

+ 36 - 6
ghsApp/src/components/module/dateSelect.vue

@@ -19,7 +19,7 @@
                     </view>
                 </view>
 
-                <view class="select-item-box">
+                <view class="select-item-box" v-if="isShowMonth">
                     <view class="title">选月份</view>
                     <picker mode="date" :value="date" :start="startDate" :end="endDate" fields="month" @change="bindMonthChange" >
                         <view class="item-child_box">
@@ -32,7 +32,7 @@
                     <view class="title">快捷选项</view>
                     <view class="item-child_box">
                         <button
-                            v-for="(item,index) in getDictionariesInfo.dateDefaultOption"
+                            v-for="(item,index) in dateOptions"
                             :key="index"
                             @click="changeDateOption(item)"
                             :class="['admin-button-com','mini-btn',selectItemId === item.id?'blue':'default']">
@@ -87,7 +87,19 @@ export default {
         },
         defaultShowName:{
             type: String,
-            default: '今天'
+            default: '日期'
+        },
+        isShowMonth: {
+            type: Boolean,
+            default: true
+        },
+        customDateOption: {
+            type: Array,
+            default: () => []
+        },
+        maxDays: {
+            type: Number,
+            default: 0
         }
     },
     data(){
@@ -112,7 +124,10 @@ export default {
         }
     },
     computed:{
-        ...mapGetters(["getDictionariesInfo"])
+        ...mapGetters(["getDictionariesInfo"]),
+        dateOptions() {
+            return this.customDateOption && this.customDateOption.length > 0 ? this.customDateOption : (this.getDictionariesInfo.dateDefaultOption || []);
+        }
     },
     mounted(){
         let nowDate = new Date();
@@ -154,11 +169,26 @@ export default {
                 return false
             }
             if(this.$util.isEmpty(this.endDate)){
-                this.$msg('请选择开始日期')
+                this.$msg('请选择结束日期')
+                return false
+            }
+            
+            let start = new Date(this.startDate.replace(/-/g, '/')).getTime();
+            let end = new Date(this.endDate.replace(/-/g, '/')).getTime();
+            if (end < start) {
+                this.$msg('结束日期不能小于开始日期')
                 return false
             }
+            if (this.maxDays > 0) {
+                let days = (end - start) / (1000 * 60 * 60 * 24);
+                if (days > this.maxDays - 1) {
+                    this.$msg(`最多只能选择${this.maxDays}天`)
+                    return false
+                }
+            }
+
             this.dropdownShow = false
-            this.defaultDateName = this.startDate == this.endDate ?  this.startDate : '选时段' 
+            this.defaultDateName = this.startDate == this.endDate ?  this.startDate.substring(5) : this.startDate.substring(5) + '/' + this.endDate.substring(5) 
             this.$emit('selectDateFn',{searchTime:'custom',startTime:this.startDate,endTime:this.endDate})
         },
         cancelPicker(){

+ 2 - 2
ghsApp/src/manifest.json

@@ -2,8 +2,8 @@
     "name" : "销花宝",
     "appid" : "__UNI__BD781B0",
     "description" : "鲜花批发销售管理系统",
-    "versionName" : "1.2.81",
-    "versionCode" : 1281,
+    "versionName" : "1.2.86",
+    "versionCode" : 1286,
     "transformPx" : true,
     /* 5+App特有相关 */
     "app-plus" : {

+ 2 - 1
ghsApp/src/pages.json

@@ -506,7 +506,8 @@
 				{"path": "statBook","style": {"navigationBarTitleText": "预订汇总","enablePullDownRefresh": true}},
 				{"path": "statKhBook","style": {"navigationBarTitleText": "详情"}},
 				{"path": "freight","style": {"navigationBarTitleText": "运费设置"}},
-				{"path": "callExpress","style": {"navigationBarTitleText": "呼叫跑腿"}}
+				{"path": "callExpress","style": {"navigationBarTitleText": "呼叫跑腿"}},
+				{"path": "orderListByDist","style": {"navigationBarTitleText": "配送片区"}}
 			]
 		},
 		{

+ 32 - 0
hdApp/src/admin/billing/affirmGhs.vue

@@ -137,6 +137,34 @@
 								<button class="admin-button-com middle" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;"  @click="changeSendType(1)">自取</button>
 							</tui-list-cell>
 						</block>
+						<block v-else-if="ghsInfo.shopId == 87989">
+							<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
+								<button class="admin-button-com middle" :class="[form.sendType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;"  @click="changeSendType(0)">送货上门</button>
+								<button class="admin-button-com middle" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;"  @click="changeSendType(1)">自取</button>
+							</tui-list-cell>
+						</block>
+						<block v-else-if="ghsInfo.shopId == 92086">
+							<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
+								<button class="admin-button-com middle" :class="[form.sendType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;"  @click="changeSendType(0)">送货上门</button>
+								<button class="admin-button-com middle" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;"  @click="changeSendType(1)">自取</button>
+							</tui-list-cell>
+						</block>
+						<block v-else-if="ghsInfo.shopId == 91115">
+							<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
+								<button class="admin-button-com middle" :class="[form.sendType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;"  @click="changeSendType(0)">送货上门</button>
+								<button class="admin-button-com middle" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;"  @click="changeSendType(1)">自取</button>
+								<button class="admin-button-com middle" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(2)">跑腿</button>
+								<button class="admin-button-com middle" :class="[form.sendType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(3)">物流</button>
+							</tui-list-cell>
+						</block>
+						<block v-else-if="ghsInfo.shopId == 90985">
+							<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
+								<button class="admin-button-com middle" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;"  @click="changeSendType(1)">自取</button>
+								<button class="admin-button-com middle" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(2)">跑腿</button>
+								<button class="admin-button-com middle" :class="[form.sendType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(4)">快递</button>
+								<button class="admin-button-com middle" :class="[form.sendType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(3)">物流</button>
+							</tui-list-cell>
+						</block>
 						<block v-else>
 							<tui-list-cell class="line-cell" :hover="false" :arrow="false" >
 								<button class="admin-button-com middle" :class="[form.sendType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;"  @click="changeSendType(0)" v-if="ghsInfo.shopId != 4608" >送货上门</button>
@@ -1015,6 +1043,10 @@ export default {
 				if(that.ghsInfo.shopId && Number(that.ghsInfo.shopId) == 4608){
 					that.form.sendType = 1
 				}
+				//万花田济南仓默认自取
+				if(that.ghsInfo.shopId && Number(that.ghsInfo.shopId) == 90985){
+					that.form.sendType = 1
+				}
 
 				if(res.data && res.data.shopId == 14636){
 					//花瀚鲜花供应链默认冷链

+ 1 - 1
hdApp/src/config.js

@@ -4,4 +4,4 @@ export const FORMALHOST = 'https://shop.huaml.com'
 export const IMGHOST = 'https://img.huaml.com'
 export const CURRENT_ENV = 'dev'
 export const WSSHOST = 'wss://chat.shop.huaml.com'
-export const APP_VERSION = '2.2.8'
+export const APP_VERSION = '2.3.3'

+ 2 - 2
hdApp/src/manifest.json

@@ -2,8 +2,8 @@
     "name" : "花掌柜",
     "appid" : "__UNI__4079DC1",
     "description" : "花店管家婆",
-    "versionName" : "2.3.1",
-    "versionCode" : 231,
+    "versionName" : "2.3.3",
+    "versionCode" : 233,
     "transformPx" : true,
     /* 5+App特有相关 */
     "app-plus" : {

+ 654 - 0
hdApp/src/pages_app.json

@@ -0,0 +1,654 @@
+{
+	"pages": [
+		{ "path": "admin/home/mall", "style": { "navigationBarTitleText": "商城", "enablePullDownRefresh": true } },
+		{ "path": "admin/home/workbench", "style": { "navigationBarTitleText": "进货", "enablePullDownRefresh": true } },
+		{ "path": "admin/home/login","style": {"navigationBarTitleText": "","enablePullDownRefresh": false}},
+		{ "path": "admin/home/loginRemind","style": {"navigationBarTitleText": "登录提示","enablePullDownRefresh": false}},
+		{ "path": "admin/home/appLoginRemind","style": {"navigationBarTitleText": "无法登录怎么办","enablePullDownRefresh": false}},
+		{ "path": "admin/home/order", "style": { "navigationBarTitleText": "订单", "enablePullDownRefresh": true } },
+		{ "path": "admin/home/member", "style": { "navigationBarTitleText": "客户", "enablePullDownRefresh": true } },
+		{ "path": "admin/home/apply", "style": { "navigationBarTitleText": "应用", "enablePullDownRefresh": true } },
+		{ "path": "admin/home/close","style": {"navigationBarTitleText": "申请注销账号"}},
+		{"path": "admin/home/register","style": {"navigationBarTitleText": "服务协议"}},
+		{"path": "admin/home/privacy","style": {"navigationBarTitleText": "隐私政策"}},
+		{ "path": "admin/home/me", "style": { "navigationBarTitleText": "我的", "enablePullDownRefresh": true, "navigationStyle": "custom" } },
+		{ "path": "admin/home/moneyChangeList", "style": { "navigationBarTitleText": "变动明细", "enablePullDownRefresh": true } },
+		{ "path": "admin/home/edit", "style": { "navigationBarTitleText": "花店信息" } },
+		{"path": "common/success","style": {"navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black"}},
+		{"path": "common/webview","style": {"navigationBarTitleText": "网页","navigationBarBackgroundColor": "#ffffff","navigationBarTextStyle": "black"}}
+	],
+	"subPackages": [
+		{
+			"root": "admin/work",
+			"pages": [
+				{"path": "add","style": {"navigationBarTitleText": "新建任务"}},
+				{"path": "statCat","style": {"navigationBarTitleText": "生产统计"}},
+				{"path": "statCatItem","style": {"navigationBarTitleText": "明细"}},
+				{"path": "addResult","style": {"navigationBarTitleText": "新建成功"}},
+				{"path": "list","style": {"navigationBarTitleText": "列表","enablePullDownRefresh": true}},
+				{"path": "detail","style": {"navigationBarTitleText": "详情"}},
+				{"path": "set","style": {"navigationBarTitleText": "设置"}}
+			]
+		},
+		{
+			"root": "admin/ll",
+			"pages": [
+				{"path": "list","style": {"navigationBarTitleText": "花卉行业"}},
+				{"path": "add","style": {"navigationBarTitleText": "新增"}},
+				{"path": "userDetail","style": {"navigationBarTitleText": "明细"}},
+				{"path": "eventDetail","style": {"navigationBarTitleText": "明细"}},
+				{"path": "myEventList","style": {"navigationBarTitleText": "我提交的记录"}}
+			]
+		},
+		{
+			"root": "admin/settle",
+			"pages": [
+				{"path": "list","style": {"navigationBarTitleText": "结账单","enablePullDownRefresh": false}},
+				{"path": "detail","style": {"navigationBarTitleText": "详情","enablePullDownRefresh": false}}
+			]
+		},
+		{
+			"root": "admin/ptItem",
+			"pages": [
+				{"path": "itemList","style": {"navigationBarTitleText": "从平台选择花材"}}
+			]
+		},
+		{
+			"root": "admin/custom",
+			"pages": [
+				{"path": "addCustom","style": {"navigationBarTitleText": "添加客户"}},
+				{"path": "selectCustom","style": {"navigationBarTitleText": "选择客户"}},
+				{"path": "showTotalBalance","style": {"navigationBarTitleText": "挂账与余额汇总"}},
+				{"path": "balanceChange","style": {"navigationBarTitleText": "总余额变动"}},
+				{"path": "balancePayChange","style": {"navigationBarTitleText": "充值余额变动"}},
+				{"path": "balanceGiveChange","style": {"navigationBarTitleText": "赠送余额变动"}},
+				{"path": "debtChange","style": {"navigationBarTitleText": "挂账变动明细"}},
+				{"path": "rechargeChange","style": {"navigationBarTitleText": "充值记录"}},
+				{"path": "levelChange","style": {"navigationBarTitleText": "等级变动记录"}},
+				{"path": "visit","style": {"navigationBarTitleText": "今日访客"}}
+			]
+		},
+		{
+			"root": "admin/breakage",
+			"pages": [
+				{"path": "list","style": {"navigationBarTitleText": "报损记录","enablePullDownRefresh": true}},
+				{"path": "info","style": {"navigationBarTitleText": "详情"}},
+				{"path": "index","style": {"navigationBarTitleText": "选择花材"}},
+				{"path": "confirm","style": {"navigationBarTitleText": "确认订单"}},
+				{"path": "result","style": {"navigationBarTitleText": "操作成功"}}
+			]
+		},
+		{
+			"root": "admin/part",
+			"pages": [
+				{"path": "list","style": {"navigationBarTitleText": "拆散记录","enablePullDownRefresh": true}},
+				{"path": "info","style": {"navigationBarTitleText": "详情"}},
+				{"path": "index","style": {"navigationBarTitleText": "选择花材"}},
+				{"path": "confirm","style": {"navigationBarTitleText": "确认订单"}},
+				{"path": "result","style": {"navigationBarTitleText": "操作成功"}}
+			]
+		},
+		{
+			"root": "admin/item",
+			"pages": [
+				{"path": "list","style": {"navigationBarTitleText": "绿植花材"}},
+				{"path": "list2","style": {"navigationBarTitleText": "绿植花材"}},
+				{"path": "copy","style": {"navigationBarTitleText": "复制新建"}},
+				{"path": "detail","style": {"navigationBarTitleText": "花材详情"}},
+				{"path": "add","style": {"navigationBarTitleText": "添加花材"}},
+				{"path": "selectItem","style": {"navigationBarTitleText": "选择花材"}},
+				{"path": "picTextAdd-Edit","style": {"navigationBarTitleText": "修改简介"}}
+			]
+		},
+		{
+			"root": "admin/changePrice",
+			"pages": [
+				{"path": "list","style": {"navigationBarTitleText": "改价"}},
+				{"path": "list2","style": {"navigationBarTitleText": "改价"}},
+				{"path": "costChangeList","style": {"navigationBarTitleText": "成本变动记录"}},
+				{"path": "changeList","style": {"navigationBarTitleText": "价格变动记录"}}
+			]
+		},
+		{
+			"root": "admin/itemClass",
+			"pages": [
+				{"path": "list","style": {"navigationBarTitleText": "花材分类"}},
+				{"path": "addPrice","style": {"navigationBarTitleText": "加价设置"}},
+				{"path": "more","style": {"navigationBarTitleText": "更多"}},
+				{"path": "sort","style": {"navigationBarTitleText": "花材排序"}},
+				{"path": "num","style": {"navigationBarTitleText": "数量排序"}},
+				{"path": "pull","style": {"navigationBarTitleText": "拖拽排序"}}
+			]
+		},
+		{
+			"root": "admin/cg",
+			"pages": [
+				{ "path": "mall", "style": { "navigationBarTitleText": "商城" } },
+				{ "path": "album", "style": { "navigationBarTitleText": "相册" } },
+				{ "path": "item", "style": { "navigationBarTitleText": "绿植花材" } },
+				{ "path": "code", "style": { "navigationBarTitleText": "收款码" } },
+				{ "path": "member", "style": { "navigationBarTitleText": "注册会员码" } },
+				{ "path": "alipay", "style": { "navigationBarTitleText": "付款" } }
+			]
+		},
+		{
+			"root": "admin/student",
+			"pages": [
+				{ "path": "newStudent", "style": { "navigationBarTitleText": "新学员", "enablePullDownRefresh": true } }
+			]
+		},
+		{
+			"root": "admin/ghsProduct",
+			"pages": [
+				{ "path": "detail", "style": { "navigationBarTitleText": "详情", "enablePullDownRefresh": true } }
+			]
+		},
+		{
+			"root": "admin/common",
+			"pages": [
+				{ "path": "result", "style": { "navigationBarTitleText": "", "enablePullDownRefresh": true } },
+				{ "path": "callback", "style": { "navigationBarTitleText": "", "enablePullDownRefresh": true } },
+				{ "path": "redirect", "style": { "navigationBarTitleText": "加载中..." } },
+				{ "path": "pageSuccess", "style": { "navigationBarBackgroundColor": "#ffffff", "navigationBarTextStyle": "black" } }
+			]
+		},
+		{
+			"root": "admin/share",
+			"pages": [
+				{ "path": "index", "style": { "navigationBarTitleText": "分享" } }
+			]
+		},
+		{
+			"root": "pagesClient",
+			"pages": [
+				{ "path": "member/add", "style": { "navigationBarTitleText": "添加客户" } },
+				{ "path": "member/detail", "style": { "navigationBarTitleText": "客户详情" } },
+				{ "path": "member/bind", "style": { "navigationBarTitleText": "绑定微信" } },
+				{ "path": "official/index", "style": { "navigationBarTitleText": "花掌柜" } },
+				{ "path": "official/pay", "style": { "navigationBarTitleText": "支付" } },
+				{ "path": "official/renewal", "style": { "navigationBarTitleText": "续期" } },
+				{ "path": "official/apply", "style": { "navigationBarTitleText": "填写信息" } },
+				{ "path": "official/clientApply", "style": { "navigationBarTitleText": "结果" } },
+				{ "path": "official/clientResult", "style": { "navigationBarTitleText": "提交审核" } },
+				{ "path": "official/callback", "style": { "navigationBarTitleText": "回调" } },
+				{ "path": "official/latest-shop", "style": { "navigationBarTitleText": "最近访问" } },
+				{ "path": "official/result", "style": { "navigationBarTitleText": "结果" } },
+				{ "path": "official/warn", "style": { "navigationBarTitleText": "开启微信提醒" } },
+				{ "path": "official/toLogin", "style": { "navigationBarTitleText": "登录方式" } }
+			]
+		},
+		{
+			"root": "pagesShare",
+			"pages": [
+				{ "path": "pay", "style": { "navigationBarTitleText": "付款" } }
+			]
+		},
+		{
+			"root": "pagesOrder",
+			"pages": [
+				{ "path": "detail", "style": { "navigationBarTitleText": "订单详情" } },
+				{ "path": "ship", "style": { "navigationBarTitleText": "发货" } },
+				{ "path": "shipInfo", "style": { "navigationBarTitleText": "发货" } },
+				{ "path": "select", "style": { "navigationBarTitleText": "重选花材" } }
+			]
+		},
+		{
+			"root": "pagesStore",
+			"pages": [
+				{ "path": "me/shopYeChange", "style": { "navigationBarTitleText": "余额变动" } },
+				{ "path": "me/withdraw", "style": { "navigationBarTitleText": "提现记录" } },
+				{ "path": "me/incomeExpenses", "style": { "navigationBarTitleText": "收支记录" } },
+				{"path": "me/income","style": {"navigationBarTitleText": "收入记录"}},
+				{"path": "me/expend","style": {"navigationBarTitleText": "支出记录"}},
+				{ "path": "me/recharge", "style": { "navigationBarTitleText": "充值" } },
+				{ "path": "me/rechargeList", "style": { "navigationBarTitleText": "充值记录" } },
+				{ "path": "me/cashSet", "style": { "navigationBarTitleText": "提现账号" } },
+				{ "path": "me/rechargeSuccess", "style": { "navigationBarTitleText": "充值成功" } }
+			]
+		},
+		{
+			"root": "admin/ghs",
+			"pages": [
+				{ "path": "shop", "style": {"navigationBarTitleText": "供货商"}},
+				{ "path": "pay", "style": {"navigationBarTitleText": "结账收银台"}},
+				{ "path": "teachPay", "style": {"navigationBarTitleText": "教程"}},
+				{ "path": "result", "style": {"navigationBarTitleText": "付款成功"}},
+				{ "path": "addGhs", "style": {"navigationBarTitleText": "添加"}},
+				{ "path": "debtChange", "style": {"navigationBarTitleText": "挂账变动明细"}},
+				{ "path": "balanceChange", "style": {"navigationBarTitleText": "余额变动"}},
+				{ "path": "rechargeChange", "style": {"navigationBarTitleText": "充值记录"}}
+			]
+		},
+		{
+			"root": "admin/coupon",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "优惠券" } },
+				{ "path": "couponList", "style": { "navigationBarTitleText": "红包" } },
+				{ "path": "selectCouponList", "style": { "navigationBarTitleText": "优惠券" } }
+			]
+		},
+		{
+			"root": "admin/book",
+			"pages": [
+				{"path": "index","style": {"navigationBarTitleText": "视频教程"}},
+				{"path": "detail","style": {"navigationBarTitleText": ""}}
+			]
+		},
+		{
+			"root": "admin/ad",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "广告列表" } },
+				{ "path": "add", "style": { "navigationBarTitleText": "添加广告" } },
+				{ "path": "sel-goods", "style": { "navigationBarTitleText": "商品选择" } }
+			]
+		},
+		{
+			"root": "admin/ljh",
+			"pages": [
+				{"path":"info","style": { "navigationBarTitleText": "零交会"}},
+				{"path":"confirm","style": { "navigationBarTitleText": "请填写信息"}},
+				{"path":"confirmPay","style": { "navigationBarTitleText": "待支付"}},
+				{"path":"payResult","style": { "navigationBarTitleText": "支付成功"}}
+			]
+		},
+		{
+			"root": "admin/staff",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "员工管理" } },
+				{ "path": "add", "style": { "navigationBarTitleText": "添加员工" } },
+				{ "path": "detail", "style": { "navigationBarTitleText": "员工详情" } },
+				{ "path": "admin","style": {"navigationBarTitleText": "个人资料"}},
+				{ "path": "sel-member", "style": { "navigationBarTitleText": "客户列表" } },
+				{ "path": "achieve", "style": { "navigationBarTitleText": "员工业绩" } },
+				{ "path": "miniAutoLogin", "style": { "navigationBarTitleText": "绑定账号" } },
+				{ "path": "dimission", "style": { "navigationBarTitleText": "离职申请" } }
+			]
+		},
+		{
+			"root": "admin/shop",
+			"pages": [
+				{"path": "list","style": {"navigationBarTitleText": "门店"}},
+				{"path": "downloadCode","style": {"navigationBarTitleText": "收款码"}},
+				{"path": "add","style": {"navigationBarTitleText": ""}},
+				{"path": "sk","style": {"navigationBarTitleText": "设置"}},
+				{"path": "print","style": {"navigationBarTitleText": "前台小票机"}},
+				{"path": "mtPrint","style": {"navigationBarTitleText": "美团小票机"}},
+				{"path": "makePrint","style": {"navigationBarTitleText": "操作台小票机"}},
+				{"path": "password","style": {"navigationBarTitleText": "修改密码"}},
+				{"path": "trumpet","style": {"navigationBarTitleText": "前台云音箱"}},
+				{"path": "makeTrumpet","style": {"navigationBarTitleText": "操作台云音箱"}},
+				{"path": "mtTrumpet","style": {"navigationBarTitleText": "美团云音箱"}},
+				{"path": "addressList","style": {"navigationBarTitleText": "请选择地址"}},
+				{"path": "addressAdd","style": {"navigationBarTitleText": "添加地址"}},
+				{"path": "addressUpdate","style": {"navigationBarTitleText": "修改地址"}},
+				{"path": "myShop","style": {"navigationBarTitleText": "我的门店"}}
+			]
+		},
+		{
+			"root": "admin/setting",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "设置" } },
+				{ "path": "wx-menu", "style": { "navigationBarTitleText": "公众号菜单设置" } },
+				{ "path": "coupon", "style": { "navigationBarTitleText": "新客优惠" } },
+				{ "path": "level", "style": { "navigationBarTitleText": "客户等级设置" } },
+				{ "path": "password", "style": { "navigationBarTitleText": "密码设置" } }
+			]
+		},
+		{
+			"root": "admin/goods",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "绿植花束" } },
+				{ "path": "lz", "style": { "navigationBarTitleText": "绿植" } },
+				{ "path": "category", "style": { "navigationBarTitleText": "分类" } },
+				{ "path": "kind", "style": { "navigationBarTitleText": "花束品类" } },
+				{ "path": "lzKind", "style": { "navigationBarTitleText": "绿植品类" } },
+				{ "path": "detail", "style": { "navigationBarTitleText": "商品详情" } },
+				{ "path": "add", "style": { "navigationBarTitleText": "新增商品" } },
+				{ "path": "selectItem", "style": { "navigationBarTitleText": "选择花材" } },
+				{ "path": "img-store", "style": { "navigationBarTitleText": "图库管理" } },
+				{ "path": "goods-name", "style": { "navigationBarTitleText": "填写商品信息" } },
+				{ "path": "freight", "style": { "navigationBarTitleText": "运费设置" } },
+				{ "path": "price-increase", "style": { "navigationBarTitleText": "涨价设置" } },
+				{ "path": "plant", "style": { "navigationBarTitleText": "盆栽绿植" } },
+				{ "path": "flower", "style": { "navigationBarTitleText": "鲜花商品" } },
+				{ "path": "flowerConfirm", "style": { "navigationBarTitleText": "确认" } },
+				{ "path": "flowerResult", "style": { "navigationBarTitleText": "结果" } },
+				{ "path": "plantConfirm", "style": { "navigationBarTitleText": "确认采购" } },
+				{ "path": "plantResult", "style": { "navigationBarTitleText": "结果" } },
+				{ "path": "cgNewPlant", "style": { "navigationBarTitleText": "新绿植采购" } },
+				{ "path": "selectKind", "style": { "navigationBarTitleText": "选择品类" } },
+				{ "path": "cgNewPlantResult", "style": { "navigationBarTitleText": "采购成功" } },
+				{ "path": "stockChange", "style": { "navigationBarTitleText": "库存变动记录" } },
+				{ "path": "plantCg", "style": { "navigationBarTitleText": "绿植采购记录" } },
+				{ "path": "plantCgDetail", "style": { "navigationBarTitleText": "明细" } },
+				{ "path": "pdList", "style": { "navigationBarTitleText": "绿植盘点记录" } },
+				{ "path": "pdGoods", "style": { "navigationBarTitleText": "选择商品" } },
+				{ "path": "pdGoodsConfirm", "style": { "navigationBarTitleText": "确认盘点" } },
+				{ "path": "pdGoodsDetail", "style": { "navigationBarTitleText": "详情" } },
+				{ "path": "categorySort", "style": { "navigationBarTitleText": "排序" } },
+				{ "path": "goodsSort", "style": { "navigationBarTitleText": "排序" } },
+				{ "path": "picTextAdd-Edit", "style": { "navigationBarTitleText": "创建简介" } },
+				{ "path": "result", "style": { "navigationBarTitleText": "添加成功" }}
+			]
+		},
+		{
+			"root": "admin/shopAdmin",
+			"pages": [
+				{ "path": "bind", "style": { "navigationBarTitleText": "管理员绑定" } }
+			]
+		},
+		{
+			"root": "admin/assets",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "收入明细" } }
+			]
+		},
+		{
+			"root": "admin/chat",
+			"pages": [
+				{ "path": "index", "style": { "navigationBarTitleText": "客服", "enablePullDownRefresh": true } },
+				{ "path": "list", "style": { "navigationBarTitleText": "聊天客户", "enablePullDownRefresh": true } },
+				{ "path": "chatPage", "style": { "navigationBarTitleText": "聊天" } }
+			]
+		},
+		{
+			"root": "admin/template",
+			"pages": [
+				{ "path": "index", "style": { "navigationBarTitleText": "选择模板" } }
+			]
+		},
+		{
+			"root": "admin/stat",
+			"pages": [
+				{"path": "profit","style": {"navigationBarTitleText": "利润表"}},
+				{"path": "productSale","style": {"navigationBarTitleText": "花材销量"}},
+				{"path": "kdIncome","style": {"navigationBarTitleText": "收入统计"}},
+				{"path": "incomeStat","style": {"navigationBarTitleText": "应收款"}},
+				{"path": "cgStat","style": {"navigationBarTitleText": "采购统计"}},
+				{"path": "cgItem","style": {"navigationBarTitleText": "采购花材"}},
+				{"path": "mayPayStat","style": {"navigationBarTitleText": "应付款"}},
+				{"path": "kind","style": {"navigationBarTitleText": "生产统计"}},
+				{"path": "kindLz","style": {"navigationBarTitleText": "绿植统计"}},
+				{"path": "makeStat","style": {"navigationBarTitleText": "员工生产统计"}},
+				{"path": "waste","style": {"navigationBarTitleText": "损耗总览"}}
+			]
+		},
+		{
+			"root": "admin/recharge",
+			"pages": [
+				{ "path": "renew", "style": { "navigationBarTitleText": "免费续期"}},
+				{ "path": "rechargeSuccess", "style": { "navigationBarTitleText": "免费续期"}},
+				{ "path": "discount", "style": { "navigationBarTitleText": "充值送钱"}},
+				{ "path": "rechargeCode", "style": { "navigationBarTitleText": "充值码"}}
+			]
+		},
+		{
+			"root": "admin/refund",
+			"pages": [
+				{ "path": "shPayRemind", "style": { "navigationBarTitleText": "提示"}},
+				{ "path": "shPayCp", "style": { "navigationBarTitleText": "成功"}},
+				{ "path": "offlineRemind", "style": { "navigationBarTitleText": "提示"}},
+				{ "path": "offlineCp", "style": { "navigationBarTitleText": "成功"}},
+				{ "path": "debtResult", "style": { "navigationBarTitleText": "结果"}},
+				{ "path": "onlineResult", "style": { "navigationBarTitleText": "结果"}},
+				{ "path": "balanceCp", "style": { "navigationBarTitleText": "结果"}}
+			]
+		},
+		{
+			"root": "admin/billing",
+			"pages": [
+				{ "path": "index", "style": { "navigationBarTitleText": "开单" } },
+				{ "path": "index2", "style": { "navigationBarTitleText": "开单" } },
+				{ "path": "hs", "style": { "navigationBarTitleText": "开单" } },
+				{ "path": "customerPlace", "style": { "navigationBarTitleText": "开单" } },
+				{ "path": "priceChange", "style": { "navigationBarTitleText": "改价", "enablePullDownRefresh": true } },
+				{ "path": "result", "style": { "navigationBarTitleText": "开单状态" } },
+				{ "path": "affirm", "style": { "navigationBarTitleText": "确认订单信息" } },
+				{ "path": "toPay", "style": { "navigationBarTitleText": "等待付款" } },
+				{ "path": "affirmGoods", "style": { "navigationBarTitleText": "确认订单信息" } },
+				{ "path": "affirmGhs", "style": { "navigationBarTitleText": "确认订单信息" } },
+				{ "path": "affirmGhsBook", "style": { "navigationBarTitleText": "确认订单信息" } },
+				{ "path": "affirmPxClass", "style": { "navigationBarTitleText": "确认订单信息" } },
+				{ "path": "customerAffirm", "style": { "navigationBarTitleText": "确认下单" } },
+				{ "path": "confirm", "style": { "navigationBarTitleText": "待确认" } }
+			]
+		},
+		{
+			"root": "admin/order",
+			"pages": [
+				{ "path": "detail", "style": { "navigationBarTitleText": "详情" , "enablePullDownRefresh": true} },
+				{ "path": "info", "style": { "navigationBarTitleText": "详情" } },
+				{ "path": "addOrder", "style": { "navigationBarTitleText": "开单" } },
+				{ "path": "addOrderConfirm", "style": { "navigationBarTitleText": "确认" } },
+				{ "path": "addOrderResult", "style": { "navigationBarTitleText": "结果" } },
+				{ "path": "workOrderResult", "style": { "navigationBarTitleText": "结果" } },
+				{ "path": "refund", "style": { "navigationBarTitleText": "退款" } },
+				{ "path": "refundList", "style": { "navigationBarTitleText": "售后记录" } },
+				{ "path": "refundDetail", "style": { "navigationBarTitleText": "售后详情" } },
+				{ "path": "ship", "style": { "navigationBarTitleText": "发货" } },
+				{ "path": "fill-form", "style": { "navigationBarTitleText": "填写收花人" } },
+				{ "path": "debtList", "style": { "navigationBarTitleText": "待结订单" } },
+				{ "path": "workOrder", "style": { "navigationBarTitleText": "开单" } },
+				{ "path": "modify", "style": { "navigationBarTitleText": "修改" } },
+				{ "path": "clearRemind","style": {"navigationBarTitleText": "如何查看还有多少待结订单"}},
+				{ "path": "itemOrder","style": {"navigationBarTitleText": "订单列表"}},
+				{ "path": "scanPay","style": {"navigationBarTitleText": "收款码流水"}}
+			]
+		},
+		{
+			"root": "admin/express",
+			"pages": [
+				{ "path": "create", "style": { "navigationBarTitleText": "呼叫跑腿" } },
+				{ "path": "success", "style": { "navigationBarTitleText": "配送成功" } }
+			]
+		},
+		{
+			"root": "admin/member",
+			"pages": [
+				{ "path": "detail", "style": { "navigationBarTitleText": "详情" } },
+				{ "path": "modify", "style": { "navigationBarTitleText": "修改地址" } },
+				{"path": "level","style": {"navigationBarTitleText": "会员等级"}},
+				{"path": "buyAmountChange","style": {"navigationBarTitleText": "消费变动记录","enablePullDownRefresh": true}},
+				{"path": "growthChange","style": {"navigationBarTitleText": "成长值变动记录","enablePullDownRefresh": true}},
+				{"path": "integralChange","style": {"navigationBarTitleText": "积分变动记录","enablePullDownRefresh": true}}
+			]
+		},
+		{
+			"root": "pagesStorehouse/shop/",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "门店管理", "enablePullDownRefresh": true } },
+				{ "path": "update", "style": { "navigationBarTitleText": "门店编辑" } }
+			]
+		},
+		{
+			"root": "pagesStorehouse/inventory/",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "盘点", "enablePullDownRefresh": true } },
+				{ "path": "details", "style": { "navigationBarTitleText": "盘点详情" } },
+				{ "path": "update", "style": { "navigationBarTitleText": "新增" } },
+				{ "path": "select", "style": { "navigationBarTitleText": "盘点花材" } }
+			]
+		},
+		{
+			"root": "pagesStorehouse/allot/",
+			"pages": [
+				{ "path": "exDetails", "style": { "navigationBarTitleText": "出库详情" } },
+				{ "path": "addExDetails", "style": { "navigationBarTitleText": "新增" } },
+				{ "path": "allotEx", "style": { "navigationBarTitleText": "调拨出库", "enablePullDownRefresh": true } },
+				{ "path": "exSelect", "style": { "navigationBarTitleText": "选择商品", "enablePullDownRefresh": true } },
+				{ "path": "putDetails", "style": { "navigationBarTitleText": "入库详情" } },
+				{ "path": "allotPut", "style": { "navigationBarTitleText": "调拨入库", "enablePullDownRefresh": true } }
+			]
+		},
+		{
+			"root": "pagesStorehouse/flower/",
+			"pages": [
+				{ "path": "category", "style": { "navigationBarTitleText": "花材管理", "enablePullDownRefresh": true } },
+				{ "path": "manage", "style": { "navigationBarTitleText": "花材", "enablePullDownRefresh": true } }
+			]
+		},
+		{
+			"root": "pagesStorehouse/stockWarn/",
+			"pages": [
+				{ "path": "manage", "style": { "navigationBarTitleText": "库存", "enablePullDownRefresh": true } },
+				{ "path": "detailed", "style": { "navigationBarTitleText": "明细", "enablePullDownRefresh": true } }
+			]
+		},
+		{
+			"root": "pagesPurchase",
+			"pages": [
+				{ "path": "result", "style": { "navigationBarTitleText": "结果" } },
+				{ "path": "selectGhs", "style": { "navigationBarTitleText": "选择供货商" } },
+				{ "path": "add", "style": { "navigationBarTitleText": "新增采购单", "enablePullDownRefresh": true } },
+				{ "path": "gathering", "style": { "navigationBarTitleText": "待结订单", "enablePullDownRefresh": true } },
+				{ "path": "particulars", "style": { "navigationBarTitleText": "", "enablePullDownRefresh": true } },
+				{ "path": "details", "style": { "navigationBarTitleText": "确认订单" } },
+				{ "path": "order", "style": { "navigationBarTitleText": "买花", "enablePullDownRefresh": true } },
+				{ "path": "pb", "style": { "navigationBarTitleText": "已删批发店", "enablePullDownRefresh": true } },
+				{ "path": "open", "style": { "navigationBarTitleText": "商城功能开关", "enablePullDownRefresh": true } },
+				{ "path": "shopping", "style": { "navigationBarTitleText": "采购", "enablePullDownRefresh": true } },
+				{ "path": "ghsProduct", "style": { "navigationBarTitleText": "采购花材", "enablePullDownRefresh": false } },
+				{ "path": "ghsProduct2", "style": { "navigationBarTitleText": "采购花材", "enablePullDownRefresh": false } },
+				{ "path": "setPsd", "style": { "navigationBarTitleText": "设置密码", "enablePullDownRefresh": true } },
+				{ "path": "wechatPay", "style": { "navigationBarTitleText": "待支付"} },
+				{ "path": "aliPay", "style": { "navigationBarTitleText": "待支付"} },
+				{ "path": "cosNext", "style": { "navigationBarTitleText": "下一步", "enablePullDownRefresh": true } },
+				{ "path": "gatherPay", "style": { "navigationBarTitleText": "付款", "enablePullDownRefresh": false } },
+				{ "path": "gatherAliPay", "style": { "navigationBarTitleText": "付款", "enablePullDownRefresh": false } },
+				{ "path": "gatherResult", "style": { "navigationBarTitleText": "结果", "enablePullDownRefresh": false } },
+				{ "path": "purDetails", "style": { "navigationBarTitleText": "采购详情", "enablePullDownRefresh": true } },
+				{ "path": "info", "style": { "navigationBarTitleText": "订单详情", "enablePullDownRefresh": true } },
+				{ "path": "xj", "style": { "navigationBarTitleText": "请选择颜色"} },
+				{ "path": "refund", "style": { "navigationBarTitleText": "申请退款"} },
+				{ "path": "refundResult", "style": { "navigationBarTitleText": "申请状态"} },
+				{ "path": "refundDetail", "style": { "navigationBarTitleText": "退款详情", "enablePullDownRefresh": true } },
+				{ "path": "level", "style": { "navigationBarTitleText": "会员等级", "enablePullDownRefresh": true } },
+				{ "path": "bookProduct", "style": { "navigationBarTitleText": "预订花材", "enablePullDownRefresh": false } },
+				{ "path": "bookProduct2", "style": { "navigationBarTitleText": "预订花材", "enablePullDownRefresh": false } },
+				{ "path": "bookExplain", "style": { "navigationBarTitleText": "预订说明", "enablePullDownRefresh": true } },
+				{ "path": "refundList","style": {"navigationBarTitleText": "售后记录", "enablePullDownRefresh": true } },
+				{ "path": "readMe","style": {"navigationBarTitleText": "购买须知", "enablePullDownRefresh": true } },
+				{ "path": "afterSale","style": {"navigationBarTitleText": "拍照示例", "enablePullDownRefresh": true } },
+				{ "path": "bookReadMe","style": {"navigationBarTitleText": "预订须知", "enablePullDownRefresh": true } },
+				{ "path": "addCg","style": {"navigationBarTitleText": "新增采购", "enablePullDownRefresh": false } },
+				{ "path": "addCgConfirm","style": {"navigationBarTitleText": "确认订单", "enablePullDownRefresh": false } },
+				{ "path": "addCgResult","style": {"navigationBarTitleText": "结果", "enablePullDownRefresh": false } },
+				{ "path": "confirmTake","style": {"navigationBarTitleText": "确认收货", "enablePullDownRefresh": false } },
+				{ "path": "contact","style": {"navigationBarTitleText": "联系我们", "enablePullDownRefresh": false } },
+				{ "path": "appPay","style": {"navigationBarTitleText": "支付", "enablePullDownRefresh": false } }
+			]
+		},
+		{
+			"root": "pagesArrears",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "客户欠款", "enablePullDownRefresh": true } },
+				{ "path": "details", "style": { "navigationBarTitleText": "欠款明细", "enablePullDownRefresh": true } }
+			]
+		},
+		{
+			"root": "pagesInvite",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "邀请开店", "enablePullDownRefresh": true } },
+				{ "path": "inviteShop", "style": { "navigationBarTitleText": "", "enablePullDownRefresh": true } },
+				{ "path": "inviteHdShop", "style": { "navigationBarTitleText": "", "enablePullDownRefresh": true } }
+			]
+		},
+		{
+			"root": "pagesStatistics",
+			"pages": [
+				{ "path": "business", "style": { "navigationBarTitleText": "营业概况", "enablePullDownRefresh": true } },
+				{ "path": "pagesPublicity", "style": { "navigationBarTitleText": "" } },
+				{ "path": "trainingClass", "style": { "navigationBarTitleText": "培训班", "enablePullDownRefresh": true } },
+				{ "path": "trainingClassEdit", "style": { "navigationBarTitleText": "培训班编辑" } }
+			]
+		},
+		{
+			"root": "admin/jc",
+			"pages": [
+				{"path": "index","style": {"navigationBarTitleText": "新手使用教程"}},
+				{"path": "video","style": {"navigationBarTitleText": "播放视频"}}
+			]
+		},
+		{
+			"root": "admin/clear",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "结账单" } },
+				{ "path": "info", "style": { "navigationBarTitleText": "详情" } },
+				{ "path": "alipay", "style": { "navigationBarTitleText": "付款" } }
+			]
+		},
+		{
+			"root": "admin/picText",
+			"pages": [
+				{"path": "picTextList", "style": {"navigationBarTitleText": "图文列表"}},
+				{"path": "picTextAdd", "style": {"navigationBarTitleText": "创建图文"}},
+				{"path": "preview", "style": {"navigationBarTitleText": "内容预览"}},
+				{"path": "demo", "style": {"navigationBarTitleText": "图文示例"}},
+				{"path": "svg-demo", "style": {"navigationBarTitleText": "SVG示例"}},
+				{"path": "viewerDemo", "style": {"navigationBarTitleText": "图文预览"}}
+			]
+		},
+		{
+			"root": "admin/delivery",
+			"pages": [
+				{ "path": "deliveryManage", "style": { "navigationBarTitleText": "跑腿设置" } },
+				{ "path": "shopDetail", "style": { "navigationBarTitleText": "门店" } },
+				{ "path": "allDelivery", "style": { "navigationBarTitleText": "配送平台报价" } }
+			]
+		},
+		{
+			"root": "admin/hb",
+			"pages": [
+				{ "path": "list", "style": { "navigationBarTitleText": "红包列表", "enablePullDownRefresh": true } },
+				{ "path": "send", "style": { "navigationBarTitleText": "发红包" } },
+				{ "path": "ruleList", "style": { "navigationBarTitleText": "红包规则列表" } },
+				{ "path": "sendHb", "style": { "navigationBarTitleText": "创建充值送红包" } },
+				{ "path": "result", "style": { "navigationBarTitleText": "发放成功" } }
+			]
+		}
+	],
+	"globalStyle": {
+		"navigationBarBackgroundColor": "#fff",
+		"navigationBarTitleText": "花掌柜",
+		"navigationBarTextStyle": "black",
+		"backgroundColor": "#f9fbfc"
+	},
+	"tabBar": {
+		"color": "#444444",
+		"selectedColor": "#09C567",
+		"borderStyle": "black",
+		"backgroundColor": "#ffffff",
+		"list": [
+			{
+				"pagePath": "admin/home/mall",
+				"iconPath": "static/images/common/shop-tab_no.png",
+				"selectedIconPath": "static/images/common/shop-tab.png",
+				"text": "店铺"
+			},
+			{
+				"pagePath": "admin/home/order",
+				"iconPath": "static/images/common/order-no.png",
+				"selectedIconPath": "static/images/common/order-is.png",
+				"text": "订单"
+			},
+			{
+				"pagePath": "admin/home/member",
+				"iconPath": "static/images/common/member-no.png",
+				"selectedIconPath": "static/images/common/member-is.png",
+				"text": "客户"
+			},
+			{
+				"pagePath": "admin/home/workbench",
+				"iconPath": "static/images/common/buy-no.png",
+				"selectedIconPath": "static/images/common/buy-is.png",
+				"text": "进货"
+			},
+			{
+				"pagePath": "admin/home/me",
+				"iconPath": "static/images/common/user-no.png",
+				"selectedIconPath": "static/images/common/user-is.png",
+				"text": "我的"
+			}
+		]
+	}
+}

+ 5 - 2
mallApp/src/mixins/cgProduct.js

@@ -490,12 +490,12 @@ export default {
 					}
 				}
 			}
-
+			this.$util.hitRemind();
+			
 			this.setSelectInfoByType({ type: this.pageType, info: list });
 
 			//记忆已经选择的花材
 			this.rememberProduct()
-
 		},
 		addCustomNumEvent(item,params1,type) {
 			const list = this.selectList;
@@ -550,6 +550,9 @@ export default {
 				}
 			}
 			this.setSelectInfoByType({type: this.pageType, info: list});
+			
+			this.$util.hitRemind()
+			
 			//记忆已经选择的花材
 			this.rememberProduct()
 		},

+ 0 - 5
mallApp/src/mixins/productContrapose.js

@@ -47,7 +47,6 @@ export default {
 					this.initDataContrapose({ type,shopId: this.shopId});
 				}
 			}
-
 		},
 		// async initDataContrapose(extendInfo) {
 		async initDataContrapose(extendInfo) {
@@ -73,10 +72,6 @@ export default {
 			uni.hideLoading();
 		},
 
-
-
-
-
 		/**
 			* 搜索对应花材
 			*/

+ 64 - 7
mallApp/src/pages/item/item.vue

@@ -17,10 +17,14 @@
 			<view class="buy-flower-container">
 				<button class="buy-mall-btn" @click="buyHs()">
 					<view class="btn-content">
-						<view class="arrow-icon"></view>
 						<text class="btn-text">买绿植花束</text>
 					</view>
 				</button>
+				<button @click="scanCode()" style="background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);border: none;">
+					<view class="btn-content">
+						<text class="btn-text">扫一扫</text>
+					</view>
+				</button>
 			</view>
 		</view>
 
@@ -87,11 +91,16 @@
     	<sel-popup :show="popupShow" :info="infoData" @close="hidePopup" />
 		<app-activily-coupon :show.sync="isNewCustom" :info="newCustomGift" :ghsId="ghsId" />
 		
-		<view v-if="cartItemShow == true" style="position: fixed;z-index: 190;top: 0;left: 0;width: 100vw;height: 100vh;background: rgba(0, 0, 0, 0.6);color: #fff;" @click="hideCartItem()">
+		<view v-if="cartItemShow == true" style="position: fixed;z-index: 190;top: 0;left: 0;width: 100vw;height: 145vh;background: rgba(0, 0, 0, 0.6);color: #fff;" @click="hideCartItem()">
 			<view style="position: fixed;bottom: 108upx;width:100vw;background-color:white;" @click.stop="">
 				<view class="commodity-view">
 					<view class="summary-bar">
 						<button class="admin-button-com blue middle" style="border:none;" @click.stop="delMemory()">清空购物车</button>
+						<button class="admin-button-com blue big" @click.stop="scanCode()" style="border:none;padding:22upx 34upx; display:flex; align-items:center;">
+							<view class="btn-content">
+								<text class="btn-text" style="font-size: 28upx;">扫一扫</text>
+							</view>
+						</button>
 					</view>
 					<view class="commodity-list">
 						<view class="commodity-item" v-for="(item, index) in selectList" :key="index">
@@ -500,6 +509,54 @@ export default {
 			} else {
 				this.tabIndex = e.index;
 			}
+		},
+		scanCode(){
+			uni.scanCode({
+				onlyFromCamera: false, // 可从相册识别
+				scanType: ['barCode'],
+				success: (res) => {
+					const itemId = res.result
+
+					let foundItem = null;
+					for (let i = 0; i < this.productInfo.length; i++) {
+						let classItem = this.productInfo[i];
+						if (classItem.child) {
+							for (let j = 0; j < classItem.child.length; j++) {
+								let productItem = classItem.child[j];
+								if (productItem.itemId == itemId) {
+									foundItem = productItem;
+									break;
+								}
+							}
+						}
+						if (foundItem) break;
+					}
+
+					if (foundItem) {
+						const ratio = Number(foundItem.ratio);
+						const selectItem = this.getSelectItemById(foundItem.id, foundItem.classId);
+						const bigCount = selectItem ? (selectItem.bigCount || 0) : 0;
+						const smallCount = selectItem ? (selectItem.smallCount || 0) : 0;
+
+						if(foundItem.stock<=0){
+							uni.showToast({title:'没有货了',icon:'none'})
+							return
+						}
+						if (Number(bigCount) * ratio + Number(smallCount) > Number(foundItem.bigNum) * ratio + Number(foundItem.smallNum)) {
+							this.$msg("库存只剩"+foundItem.bigNum);
+							return
+						}
+						
+						this.addEvent(foundItem);
+						this.cartItemShow = true
+					} else {
+						this.$msg("未找到对应商品");
+					}
+				},
+				fail: (err) => {
+					console.log(err)
+				}
+			})
 		}
 	}
 };
@@ -573,10 +630,10 @@ export default {
 		position: relative;
 		background: #e91e63;
 		border: none;
-		border-radius: 50upx;
+		border-radius: 45upx;
 		padding: 0;
 		height: 80upx;
-		min-width: 200upx;
+		min-width: 210upx;
 		box-shadow: 0 8upx 20upx rgba(233, 30, 99, 0.3);
 		overflow: hidden;
 
@@ -589,10 +646,9 @@ export default {
 		position: relative;
 		background: linear-gradient(135deg, #ff6b6b 0%, #ee5a24 100%);
 		border: none;
-		border-radius: 50upx;
 		padding: 0;
 		height: 80upx;
-		min-width: 260upx;
+		min-width: 180upx;
 		box-shadow: 0 8upx 20upx rgba(165, 94, 234, 0.3);
 		overflow: hidden;
 		&:active {
@@ -602,6 +658,7 @@ export default {
 
 	.btn-content {
 		display: flex;
+		min-width: 130upx;
 		align-items: center;
 		justify-content: center;
 		height: 100%;
@@ -827,7 +884,7 @@ export default {
 	flex-direction: column;
 	.commodity-list {
 		overflow:scroll;
-		height:50vh;
+		height:60vh;
 		padding: 20upx;
 		.commodity-item {
 			display: flex;

BIN
mallApp/src/static/hit.mp3


+ 62 - 0
mallApp/src/utils/util.js

@@ -274,6 +274,67 @@ export const unique = (arr) => {
 	return arr;
 };
 
+
+// 点击声效 - 缓存对象,避免重复创建
+let hitAudioContext = null
+let lastHitPlayTime = 0
+const HIT_MIN_INTERVAL = 100
+
+const initHitAudio = () => {
+	if (hitAudioContext) return
+	try {
+		if (uni.getSystemInfoSync().platform === 'windows') return
+		
+		hitAudioContext = uni.createInnerAudioContext()
+		hitAudioContext.autoplay = false
+		hitAudioContext.src = '/static/hit.mp3'
+		hitAudioContext.volume = 1
+	} catch (e) {
+		console.error('[hitRemind] 初始化失败:', e)
+		hitAudioContext = null
+	}
+}
+
+export const hitRemind = () => {
+	try {
+		// 防抖:100ms 内只播放一次
+		const now = Date.now()
+		if (now - lastHitPlayTime < HIT_MIN_INTERVAL) {
+			return
+		}
+		
+		// 初始化音频
+		if (!hitAudioContext) {
+			initHitAudio()
+		}
+		
+		if (!hitAudioContext) {
+			return
+		}
+		
+		// 更新时间戳
+		lastHitPlayTime = now
+		
+		// 停止之前的播放
+		try {
+			hitAudioContext.stop()
+		} catch (e) {
+			// 忽略停止失败
+		}
+		
+		// 设置音量并播放
+		hitAudioContext.volume = 1
+		try {
+			hitAudioContext.play()
+		} catch (playError) {
+			console.error('[hitRemind] 播放异常:', playError)
+			hitAudioContext = null
+		}
+	} catch (e) {
+		console.error('[hitRemind] 执行出错:', e)
+	}
+}
+
 //#ifdef APP-PLUS
 const CLDialog=uni.requireNativePlugin("CL-Dialog")
 //#endif
@@ -374,4 +435,5 @@ export default {
 	getCheckLogin,
 	unique,
 	confirmModal,
+	hitRemind,
 }

+ 1 - 1
开发http/ghsApp/src/config.js

@@ -2,4 +2,4 @@ export const ProjectName = 'ghs'
 export const APIHOST = 'http://api.shop.hzghd.com'
 export const IMGHOST = 'http://img.hzghd.com'
 export const CURRENT_ENV = 'dev'
-export const APP_VERSION = '1.2.81'
+export const APP_VERSION = '1.2.86'

+ 2 - 2
开发http/ghsApp/src/manifest.json

@@ -2,8 +2,8 @@
     "name" : "销花宝",
     "appid" : "__UNI__BD781B0",
     "description" : "鲜花批发销售管理系统",
-    "versionName" : "1.2.81",
-    "versionCode" : 1281,
+    "versionName" : "1.2.86",
+    "versionCode" : 1286,
     "transformPx" : true,
     /* 5+App特有相关 */
     "app-plus" : {

+ 1 - 1
开发http/hdApp/src/config.js

@@ -4,4 +4,4 @@ export const FORMALHOST = 'http://shop.huaml.com'
 export const IMGHOST = 'http://img.huaml.com'
 export const CURRENT_ENV = 'dev'
 export const WSSHOST = 'wss://chat.shop.huaml.com'
-export const APP_VERSION = '2.3.1'
+export const APP_VERSION = '2.3.2'

+ 2 - 2
开发http/hdApp/src/manifest.json

@@ -2,8 +2,8 @@
     "name" : "花掌柜",
     "appid" : "__UNI__4079DC1",
     "description" : "花店管家婆",
-    "versionName" : "2.3.1",
-    "versionCode" : 231,
+    "versionName" : "2.3.2",
+    "versionCode" : 233,
     "transformPx" : true,
     /* 5+App特有相关 */
     "app-plus" : {

+ 2 - 2
开发https/ghsApp/src/manifest.json

@@ -2,8 +2,8 @@
     "name" : "销花宝",
     "appid" : "__UNI__BD781B0",
     "description" : "鲜花批发销售管理系统",
-    "versionName" : "1.2.81",
-    "versionCode" : 1281,
+    "versionName" : "1.2.86",
+    "versionCode" : 1286,
     "transformPx" : true,
     /* 5+App特有相关 */
     "app-plus" : {

+ 1 - 1
开发https/hdApp/src/config.js

@@ -4,4 +4,4 @@ export const FORMALHOST = 'https://shop.huaml.com'
 export const IMGHOST = 'https://img.huaml.com'
 export const CURRENT_ENV = 'dev'
 export const WSSHOST = 'wss://chat.shop.huaml.com'
-export const APP_VERSION = '2.2.8'
+export const APP_VERSION = '2.3.3'

+ 2 - 2
开发https/hdApp/src/manifest.json

@@ -2,8 +2,8 @@
     "name" : "花掌柜",
     "appid" : "__UNI__4079DC1",
     "description" : "花店管家婆",
-    "versionName" : "2.3.1",
-    "versionCode" : 231,
+    "versionName" : "2.3.3",
+    "versionCode" : 233,
     "transformPx" : true,
     /* 5+App特有相关 */
     "app-plus" : {

+ 2 - 2
线上/ghsApp/src/manifest.json

@@ -2,8 +2,8 @@
     "name" : "销花宝",
     "appid" : "__UNI__BD781B0",
     "description" : "鲜花批发销售管理系统",
-    "versionName" : "1.2.81",
-    "versionCode" : 1281,
+    "versionName" : "1.2.86",
+    "versionCode" : 1286,
     "transformPx" : true,
     /* 5+App特有相关 */
     "app-plus" : {

+ 1 - 1
线上/hdApp/src/config.js

@@ -4,4 +4,4 @@ export const FORMALHOST = 'https://shop.huahb.cn'
 export const IMGHOST = 'https://img.huahb.cn'
 export const CURRENT_ENV = 'production'
 export const WSSHOST = 'wss://chat.shop.huahb.cn'
-export const APP_VERSION = '2.2.8'
+export const APP_VERSION = '2.3.3'

+ 2 - 2
线上/hdApp/src/manifest.json

@@ -2,8 +2,8 @@
     "name" : "花掌柜",
     "appid" : "__UNI__4079DC1",
     "description" : "花店管家婆",
-    "versionName" : "2.3.1",
-    "versionCode" : 231,
+    "versionName" : "2.3.3",
+    "versionCode" : 233,
     "transformPx" : true,
     /* 5+App特有相关 */
     "app-plus" : {