Explorar o código

Merge branch 'zhongqi-hb' of git.huaml.com:zhh/front-end into zhongqi-hb

shizhongqi hai 6 meses
pai
achega
b39b458482

+ 195 - 140
ghsApp/src/admin/billing/affirm.vue

@@ -166,6 +166,16 @@
                 </picker>
               </tui-list-cell>
 
+              <tui-list-cell class="line-cell" :arrow="false" v-if="form.hasPay == 0">
+                <view class="tui-title">待付款</view>
+                <view class="tui-input" style="color:#3385ff;">扫码付款、微信邀请付款 选待付款</view>
+              </tui-list-cell>
+
+              <tui-list-cell class="line-cell" :arrow="false" v-if="form.hasPay == 2">
+                <view class="tui-title">赊账</view>
+                <view class="tui-input" style="color:#3385ff;">客户要欠款挂账的 选赊账</view>
+              </tui-list-cell>
+
               <tui-list-cell class="line-cell" :hover="false" :arrow="false" v-show="displayPackCost == true">
                 <view class="tui-title">打包费</view>
                 <input type="digit" placeholder="请填写打包费" v-model="form.packCost" placeholder-class="tui-placeholder" />
@@ -324,10 +334,10 @@
                   <tui-list-cell class="line-cell" :hover="false" :arrow="false">
                     <view class="tui-title">运费</view>
                     <view v-if="form.reductionRule == 1 && isHcMapRule()">
-                      <input type="digit" placeholder="请填写运费" v-model="form.customSendCost" placeholder-class="tui-placeholder" style="border:1upx solid #eee;color:#3385FF;width:300upx;height:70upx;text-align:center;"/>
+                      <input type="digit" placeholder="请填写运费" v-model="form.customSendCost" placeholder-class="tui-placeholder" style="border:1upx solid #eee;color:#3385FF;width:320upx;height:70upx;text-align:center;"/>
                     </view>
                     <view v-else>
-                      <input type="digit" placeholder="请填写运费" v-model="form.sendCost" placeholder-class="tui-placeholder" style="border:1upx solid #eee;color:#3385FF;width:300upx;height:70upx;text-align:center;"/>
+                      <input type="digit" placeholder="请填写运费" v-model="form.sendCost" placeholder-class="tui-placeholder" style="border:1upx solid #eee;color:#3385FF;width:320upx;height:70upx;text-align:center;"/>
                     </view>
                   </tui-list-cell>
                   <tui-list-cell class="line-cell" :hover="false" :arrow="false">
@@ -363,7 +373,7 @@
 
               <tui-list-cell class="line-cell" :hover="false" :arrow="false">
                 <view class="tui-title">打印小票</view>
-                <button @click="form.needPrint = 1" class="admin-button-com big" :class="form.needPrint == 1 ? 'blue' : 'default'">打印</button>
+                <button @click="form.needPrint = 1" class="admin-button-com big" :class="form.needPrint == 1 ? 'blue' : 'default'" style="width:140upx;">打印</button>
                 <button @tap="form.needPrint = 2" class="admin-button-com big" :class="form.needPrint == 2 ? 'blue' : 'default'">不打印</button>
               </tui-list-cell>
 
@@ -371,122 +381,35 @@
                 <view class="tui-title">
                   <text>合计金额</text>
                 </view>
-                <text style="color: #3385ff; width: 140upx">¥{{ parseFloat(finalPrice) }}</text>
-                <button @tap="showDiscount()" class="admin-button-com middle default" style="margin-left: 0upx">点击打折</button>
+                <text style="color: #3385ff; width: 170upx">¥{{ parseFloat(finalPrice) }}</text>
+                <button @tap="showDiscount()" class="admin-button-com middle default" style="margin-left: 0upx;width:140upx;">打折</button>
                 <text v-if="discountValue > 0 && discountValue < 1">{{ Number(discountValue) * 10 }}折</text>
               </tui-list-cell>
 
               <tui-list-cell class="line-cell" :hover="false" :arrow="false">
                 <view v-if="form.hasPay == 2" class="tui-title">应收金额</view>
                 <view v-else class="tui-title">实收金额</view>
-                <input
-                  style="border: 1upx solid #eee; color: #3385ff; width: 300upx; height: 70upx;text-align: center;"
-                  type="digit"
-                  @focus="modifyPrice = ''"
-                  v-model="modifyPrice"
-                  placeholder-class="tui-placeholder"
-                />
-                <text v-if="modifyPrice > 0 && modifyPrice > finalPrice" style="font-size: 25upx; margin-left: 20upx; color: red"
-                  >人工资材费 ¥{{ parseFloat((modifyPrice - finalPrice).toFixed(2)) }}</text
-                >
-                <text v-if="modifyPrice > 0 && modifyPrice < finalPrice" style="font-size: 25upx; margin-left: 20upx; color: green"
-                  >优惠 ¥{{ parseFloat((finalPrice - modifyPrice).toFixed(2)) }}</text
-                >
+                <input style="border: 1upx solid #eee; color: #3385ff; width: 170upx; height: 70upx;text-align: center;" type="digit" @focus="modifyPrice = ''" v-model="modifyPrice" placeholder-class="tui-placeholder" />
+                <text v-if="modifyPrice > 0 && modifyPrice > finalPrice" style="font-size: 28upx; margin-left: 20upx; color: red" >人工资材费 ¥{{ parseFloat((modifyPrice - finalPrice).toFixed(2)) }}</text>
+                <text v-if="modifyPrice > 0 && modifyPrice < finalPrice" style="font-size: 28upx; margin-left: 20upx; color: green">优惠 ¥{{ parseFloat((finalPrice - modifyPrice).toFixed(2)) }}</text>
               </tui-list-cell>
 
               <tui-list-cell class="line-cell" :hover="false" :arrow="true">
-                <view class="tui-title">送货日期</view>
-                <view class="uni-input" v-if="form.sendTimeWant == ''" style="color: #cccccc; width: 400upx; font-size: 34upx" @click="bindDateChange"
-                  >默认当天</view
-                >
-                <view class="uni-input" @click="bindDateChange" v-else style="width: 400upx; font-size: 34upx">{{ form.sendTimeWant }}</view>
+                <view class="tui-title">账单日期</view>
+                <view class="uni-input" v-if="form.historyDate == ''" style="color: #cccccc; width: 400upx; font-size: 32upx" @click="bindHistoryDateChange" >默认当天</view >
+                <view class="uni-input" @click="bindHistoryDateChange" v-else style="width: 400upx; font-size: 32upx">{{ form.historyDate }}</view>
               </tui-list-cell>
 
               <tui-list-cell class="line-cell" :arrow="true">
                 <div class="tui-title">开单人</div>
-                <view class="uni-input" v-if="form.getStaffId == 0" style="color: #cccccc; width: 400upx; font-size: 34upx" @click="changeStaff()"
-                  >默认本人</view
-                >
-                <view class="uni-input" v-else @click="changeStaff()" style="width: 400upx; font-size: 34upx">{{
-                  form.getStaffName ? form.getStaffName : '请选择'
-                }}</view>
+                <view class="uni-input" v-if="form.getStaffId == 0" style="color: #cccccc; width: 400upx; font-size: 32upx" @click="changeStaff()" >默认本人</view >
+                <view class="uni-input" v-else @click="changeStaff()" style="width: 400upx; font-size: 32upx">{{ form.getStaffName ? form.getStaffName : '请选择' }}</view>
               </tui-list-cell>
 
-              <uni-popup ref="staffRef" background-color="#fff" type="center" :animation="false" class="class-popup-style">
-                <view style="max-height: 80vh; overflow: scroll">
-                  <view style="margin-left: 30upx; margin-top: 19upx; font-size: 27upx; font-weight: bold">请选择:</view>
-                  <view
-                    style="
-                      display: flex;
-                      padding: 20upx;
-                      height: auto;
-                      justify-content: flex-start;
-                      align-items: center;
-                      flex-wrap: wrap;
-                      max-height: 100vh;
-                      overflow: auto;
-                    "
-                  >
-                    <view v-for="(item, index) in staffList" :key="index" style="margin-bottom: 20upx; margin-left: 3upx">
-                      <button
-                        class="admin-button-com staff-btn"
-                        @click.stop="getCurrentStaff(item)"
-                        :class="{ selected: form.getStaffId === item.id }"
-                      >
-                        {{ item.name }}
-                      </button>
-                    </view>
-                  </view>
-                  <view style="text-align: center; padding: 10upx 0 10upx 0"
-                    ><button class="admin-button-com big blue" @click="cancelCurrentStaff()">取消</button></view
-                  >
-                </view>
-              </uni-popup>
-
-              <uni-popup ref="wlRef" background-color="#fff" type="center" :animation="false" class="class-popup-style">
-                <view style="max-height: 80vh; overflow: scroll">
-                  <view style="margin-left: 30upx; margin-top: 19upx; font-size: 27upx; font-weight: bold">请选择物流:</view>
-                  <view
-                    style="
-                      display: flex;
-                      padding: 20upx;
-                      height: auto;
-                      justify-content: flex-start;
-                      align-items: center;
-                      flex-wrap: wrap;
-                      max-height: 100vh;
-                      overflow: auto;
-                    "
-                  >
-                    <view v-for="(item, index) in wlList" :key="index" style="margin-bottom: 20upx; margin-left: 3upx">
-                      <button
-                        class="admin-button-com staff-btn"
-                        @click.stop="selectWl(item)"
-                        :class="{ selected: form.wlName === item.name }"
-                      >
-                        {{ item.name }}
-                      </button>
-                    </view>
-                  </view>
-                  <view style="text-align: center; padding: 10upx 0 10upx 0"
-                    >
-<button class="admin-button-com big blue" @click="addWlItem()">新增</button>
-<button class="admin-button-com big blue" @click="cancelWlSelect()">取消</button>
-</view
-                  >
-                </view>
-              </uni-popup>
-
               <tui-list-cell class="line-cell" :hover="false" :arrow="true">
-                <view class="tui-title">账单日期</view>
-                <view
-                  class="uni-input"
-                  v-if="form.historyDate == ''"
-                  style="color: #cccccc; width: 400upx; font-size: 34upx"
-                  @click="bindHistoryDateChange"
-                  >默认当天</view
-                >
-                <view class="uni-input" @click="bindHistoryDateChange" v-else style="width: 400upx; font-size: 34upx">{{ form.historyDate }}</view>
+                <view class="tui-title">送货日期</view>
+                <view class="uni-input" v-if="form.sendTimeWant == ''" style="color: #cccccc; width: 400upx; font-size: 32upx" @click="bindDateChange" >默认当天</view >
+                <view class="uni-input" @click="bindDateChange" v-else style="width: 400upx; font-size: 32upx">{{ form.sendTimeWant }}</view>
               </tui-list-cell>
 
               <tui-list-cell class="line-cell" :hover="false" :arrow="false">
@@ -503,14 +426,11 @@
           <text class="price-title">
             <text></text>
           </text>
-          <text class="price-number"
-            ><text class="large">¥{{ modifyPrice }}</text></text
-          >
+          <text class="price-number"><text class="large">¥{{ modifyPrice }}</text></text>
         </view>
         <text style="font-size: 30upx; right: 100upx">
           当前在
-          <text style="font-weight: bold; color: red; margin-left: 5upx; font-size: 32upx">{{ currentShop.shopName }}</text></text
-        >
+          <text style="font-weight: bold; color: red; margin-left: 5upx; font-size: 32upx">{{ currentShop.shopName }}</text></text>
         <button class="admin-button-com blue big" @click="confirmSubmit">提交</button>
       </view>
 
@@ -565,39 +485,78 @@
         </view>
       </uni-popup>
       <uni-popup ref="discountRef" background-color="#fff" type="center" :animation="false" class="class-popup-style">
-        <view style="display: flex; padding: 20upx; min-height: 25vh; justify-content: space-between; align-items: center; flex-wrap: wrap">
-          <text
-            v-for="(item, index) in discountList"
-            :key="index"
-            @click="setDiscount(item.value)"
-            style="
-              margin-left: 25upx;
-              border: 1upx solid #999999;
-              width: 100upx;
-              height: 100upx;
-              border-radius: 20upx;
-              justify-content: center;
-              align-items: center;
-              display: flex;
-            "
-          >
-            {{ item.name }}
-          </text>
+        <view class="discount-popup-container">
+          <!-- 标题 -->
+          <view class="discount-popup-title">选择打折</view>
+          
+          <!-- 快捷折扣按钮 -->
+          <view class="discount-quick-buttons">
+            <button
+              v-for="(item, index) in discountList"
+              :key="index"
+              @click="setDiscount(item.value)"
+              :class="['discount-quick-btn', { active: discountValue === item.value }]"
+            >
+              {{ item.name }}
+            </button>
+          </view>
+          
+          <!-- 分割线 -->
+          <view class="discount-divider"></view>
+          
+          <!-- 自定义输入 -->
+          <view class="discount-custom-section">
+            <view class="discount-custom-label">自定义折扣</view>
+            <view class="discount-custom-input-group">
+              <input v-model="customDiscount" type="digit" placeholder="输入折扣(输0.85表示85折)" class="discount-custom-input" />
+              <button class="admin-button-com middle blue" @click="setCustomDiscount" > 应用 </button>
+            </view>
+          </view>
+          
+          <!-- 操作按钮 -->
+          <view class="discount-action-buttons">
+            <button class="admin-button-com middle default" @click="cancelDiscount" > 取消 </button>
+          </view>
+        </view>
+      </uni-popup>
+
+      <uni-popup ref="staffRef" background-color="#fff" type="center" :animation="false" class="class-popup-style">
+        <view style="max-height: 80vh; overflow: scroll">
+          <view style="margin-left: 30upx; margin-top: 19upx; font-size: 27upx; font-weight: bold">请选择:</view>
+          <view style=" display: flex; padding: 20upx; height: auto; justify-content: flex-start; align-items: center; flex-wrap: wrap; max-height: 100vh; overflow: auto; " >
+            <view v-for="(item, index) in staffList" :key="index" style="margin-bottom: 20upx; margin-left: 3upx">
+              <button class="admin-button-com staff-btn" @click.stop="getCurrentStaff(item)" :class="{ selected: form.getStaffId === item.id }" >
+                {{ item.name }}
+              </button>
+            </view>
+          </view>
+          <view style="text-align: center; padding: 10upx 0 10upx 0">
+            <button class="admin-button-com big blue" style="width:180upx;" @click="cancelCurrentStaff()">取消</button>
+          </view>
+        </view>
+      </uni-popup>
+
+      <uni-popup ref="wlRef" background-color="#fff" type="center" :animation="false" class="class-popup-style">
+        <view style="max-height: 80vh; overflow: scroll">
+          <view style="margin-left: 30upx; margin-top: 19upx; font-size: 27upx; font-weight: bold">请选择物流:</view>
+          <view style=" display: flex; padding: 20upx; height: auto; justify-content: flex-start; align-items: center; flex-wrap: wrap; max-height: 100vh; overflow: auto; " >
+            <view v-for="(item, index) in wlList" :key="index" style="margin-bottom: 20upx; margin-left: 3upx">
+              <button class="admin-button-com staff-btn" @click.stop="selectWl(item)" :class="{ selected: form.wlName === item.name }" >
+                {{ item.name }}
+              </button>
+            </view>
+          </view>
+          <view style="text-align: center; padding: 10upx 0 10upx 0">
+            <button class="admin-button-com big blue" style="width:180upx;" @click="addWlItem()">新增</button>
+            <button class="admin-button-com big blue" style="width:180upx;" @click="cancelWlSelect()">取消</button>
+          </view>
         </view>
       </uni-popup>
 
       <!-- 蒙板 -->
       <view v-if="showPicker" class="date-picker-mask" @click="showPicker = false"></view>
 
-      <mx-date-picker
-        :show="showPicker"
-        format="yyyy-mm-dd"
-        type="date"
-        :value="defaultPickerDate"
-        :show-tips="true"
-        @confirm="confirmPicker"
-        @cancel="showPicker = false"
-      />
+      <mx-date-picker :show="showPicker" format="yyyy-mm-dd" type="date" :value="defaultPickerDate" :show-tips="true" @confirm="confirmPicker" @cancel="showPicker = false" />
 
       <!-- 取件时间选择器 -->
       <TimePicker ref="timePicker" :bottomOffset="80" @confirm="handleTimeConfirm" />
@@ -658,9 +617,10 @@ export default {
         { name: '7折', value: 0.7 },
         { name: '8折', value: 0.8 },
         { name: '9折', value: 0.9 },
-        { name: '不打', value: 1 }
+        { name: '不打', value: 1 }
       ],
       discountValue: 0,
+      customDiscount: '',
       staffList: [],
       wlList: [],
       payWayList: [
@@ -957,6 +917,19 @@ export default {
       let price = Number(this.finalPrice) * Number(num);
       price = parseFloat(price.toFixed(2));
       this.modifyPrice = price;
+      this.customDiscount = '';
+      this.$refs.discountRef.close();
+    },
+    setCustomDiscount() {
+      const value = parseFloat(this.customDiscount);
+      if (isNaN(value) || value < 0 || value > 1) {
+        this.$msg('请输入0到1之间的有效折扣值');
+        return;
+      }
+      this.setDiscount(value);
+    },
+    cancelDiscount() {
+      this.customDiscount = '';
       this.$refs.discountRef.close();
     },
     beginScan() {
@@ -1589,10 +1562,6 @@ export default {
   margin-top: 10upx;
 }
 
-.delivery-quotes-scroll {
-  /* 滚动已移除 */
-}
-
 .delivery-quotes-grid {
   display: flex;
   flex-wrap: wrap;
@@ -1723,6 +1692,92 @@ export default {
        border: 1upx solid #3385ff !important;
     }
 }
+
+.discount-quick-btn {
+    width: 120upx;
+    height: 120upx;
+    border-radius: 12upx;
+    border: 2upx solid #ddd;
+    background-color: #f9f9f9;
+    font-size: 32upx;
+    font-weight: 500;
+    color: #333;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    transition: all 0.2s ease;
+    padding: 0;
+    line-height: 1;
+    white-space: nowrap;
+    
+    &.active {
+        border-color: #3385ff;
+        background-color: #3385ff;
+        color: #fff;
+    }
+}
+
+.discount-popup-container {
+    width: 600upx;
+    padding: 30upx;
+    box-sizing: border-box;
+}
+
+.discount-popup-title {
+    font-size: 32upx;
+    font-weight: bold;
+    margin-bottom: 30upx;
+    text-align: center;
+    color: #333;
+}
+
+.discount-quick-buttons {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: center;
+    gap: 15upx;
+    margin-bottom: 30upx;
+}
+
+.discount-divider {
+    height: 1upx;
+    background-color: #f0f0f0;
+    margin: 20upx 0;
+}
+
+.discount-custom-section {
+    margin-bottom: 30upx;
+}
+
+.discount-custom-label {
+    font-size: 28upx;
+    font-weight: 500;
+    margin-bottom: 15upx;
+    color: #333;
+}
+
+.discount-custom-input-group {
+    display: flex;
+    gap: 10upx;
+    align-items: center;
+}
+
+.discount-custom-input {
+    flex: 1;
+    border: 1upx solid #ddd;
+    border-radius: 8upx;
+    padding: 12upx;
+    font-size: 28upx;
+    box-sizing: border-box;
+    min-height: 70upx;
+    line-height: 45upx;
+}
+
+.discount-action-buttons {
+    display: flex;
+    gap: 15upx;
+    justify-content: center;
+}
 .strike-through {
     text-decoration: line-through;
 }

+ 1 - 1
ghsApp/src/admin/book/index.vue

@@ -37,7 +37,7 @@ export default {
 	},
 	onShareAppMessage(res) {
 		return {
-			title: '销花宝教学视频(城市)',
+			title: '销花宝教学视频',
 			desc: "图文视频教学,带您快速上手",
 			imageUrl: `${this.$constant.imgUrl}/logo5.png`,
 			path: "admin/book/index",

+ 7 - 5
ghsApp/src/admin/custom/selectCustom.vue

@@ -29,11 +29,13 @@
                   余额<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:20upx;color:green;font-weight:bold;">没有下过单</text>
-                <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 7" style="font-size:24upx;margin-left:20upx;color:green;font-weight:bold;">超1周未下单</text>
-                <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 30" style="font-size:24upx;margin-left:20upx;color:green;font-weight:bold;">超1个月未下单</text>
-                <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 180" style="font-size:24upx;margin-left:20upx;color:green;font-weight:bold;">超半年未下单</text>
-                <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 365" style="font-size:24upx;margin-left:20upx;color:green;font-weight:bold;">超1年未下单</text>
+                <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 10000" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">没有下过单</text>
+                <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 7" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">超1周未下单</text>
+                <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 30" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">超1个月未下单</text>
+                <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 180" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">超半年未下单</text>
+                <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 365" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">超1年未下单</text>
+
+                <text v-if="Number(item.risePercent)>0" style="color:#3385FF;font-weight:normal;margin-left:15upx;">{{ item.risePercent }}%</text>
 
               </div>
             </div>

+ 1 - 1
ghsApp/src/admin/custom/set.vue

@@ -49,7 +49,7 @@
 					</tui-list-cell>
 					<tui-list-cell class="line-cell" :hover="false" v-if="form.home == 1">
 						<view class="tui-title">已有客户生效</view>
-						<button class="admin-button-com middle blue" @click="submitHomeDelivery">需要生效</button>
+						<button class="admin-button-com middle blue" @click="submitHomeDelivery">全部生效</button>
 					</tui-list-cell>
 				</view>
 				<tui-list-cell class="line-cell" :hover="false">

+ 6 - 10
ghsApp/src/admin/home/components/OrderItem.vue

@@ -89,12 +89,8 @@
         <view class="order-info_box remark-box" v-if="!$util.isEmpty(item.remark)">
           <view class="remark-text">{{ item.remark }}</view>
         </view>
-        <view
-          v-if="item.sameTimeIdsNum && item.sameTimeIdsNum > 1"
-          class="merge-tips"
-          @click.stop="pageTo({ url: '/admin/order/itemOrder?ids=' + item.sameTimeIds })"
-        >
-          本客户共有{{ item.sameTimeIdsNum }}个订单,可合并发货
+        <view v-if="item.sameTimeIdsNum && item.sameTimeIdsNum > 1 && moreOrderRemind == true" class="merge-tips" @click.stop="pageTo({ url: '/admin/order/itemOrder?ids=' + item.sameTimeIds })" >
+          客户共有{{ item.sameTimeIdsNum }}个订单,可合并发货
         </view>
       </view>
       <view class="list-bottom">
@@ -253,9 +249,9 @@ export default {
     item: {
       required: true
     },
-    isScanEnv: {
+    moreOrderRemind:{
       type: Boolean,
-      default: false
+      default: true
     }
   },
   data() {
@@ -608,8 +604,8 @@ export default {
   margin-top: 20upx;
   font-size: 34upx;
   background-color: #3780a5ad;
-  padding-top:10upx;
-  padding-bottom:10upx;
+  padding-top:14upx;
+  padding-bottom:14upx;
 }
 
 .text-center {

+ 11 - 9
ghsApp/src/admin/home/member.vue

@@ -40,20 +40,22 @@
                 </span>
 
                 <block v-if="item.passStatus == 1">
-                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 10000" style="font-size:24upx;margin-left:20upx;color:green;font-weight:bold;">没有下过单</text>
-                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 7" style="font-size:24upx;margin-left:20upx;color:green;font-weight:bold;">超1周未下单</text>
-                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 30" style="font-size:24upx;margin-left:20upx;color:green;font-weight:bold;">超1个月未下单</text>
-                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 180" style="font-size:24upx;margin-left:20upx;color:green;font-weight:bold;">超半年未下单</text>
-                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 365" style="font-size:24upx;margin-left:20upx;color:green;font-weight:bold;">超1年未下单</text>
+                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 10000" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">没有下过单</text>
+                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 7" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">超1周未下单</text>
+                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 30" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">超1个月未下单</text>
+                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 180" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">超半年未下单</text>
+                  <text v-if="item.overTimeUnExpend && item.overTimeUnExpend == 365" style="font-size:24upx;margin-left:15upx;color:green;font-weight:bold;">超1年未下单</text>
                 </block>
                 <block v-else>
-                  <text style="font-size:28upx;margin-left:20upx;color:#3385FF;font-weight:bold;">待审核</text>
+                  <text style="font-size:28upx;margin-left:15upx;color:#3385FF;font-weight:bold;">待审核</text>
                 </block>
 
-                <text v-if="Number(item.black)==2" style="color:red;font-weight:bold;margin-left:20upx;">黑名单</text>
-                <text v-if="Number(item.delStatus)==1" style="color:red;font-weight:bold;margin-left:20upx;">已删除</text>
+                <text v-if="Number(item.risePercent)>0" style="color:#3385FF;font-weight:normal;margin-left:15upx;">{{ item.risePercent }}%</text>
 
-                <text v-if="item.distName!=''" style="color:#e0c8c8;font-weight:normal;margin-left:20upx;">{{ item.distName }}</text>
+                <text v-if="Number(item.black)==2" style="color:red;font-weight:bold;margin-left:15upx;">黑名单</text>
+                <text v-if="Number(item.delStatus)==1" style="color:red;font-weight:bold;margin-left:15upx;">已删除</text>
+
+                <text v-if="item.distName!=''" style="color:#e0c8c8;font-weight:normal;margin-left:15upx;">{{ item.distName }}</text>
 
               </div>
             </div>

+ 1 - 2
ghsApp/src/admin/order/itemOrder.vue

@@ -7,9 +7,8 @@
             <OrderItem :item="item.orderInfo" @printOrder="printOrder"></OrderItem>
           </div>
           <div v-else>
-            <OrderItem :ref="`orderRef${item.id}`" :item="item" @printOrder="printOrder" @directFh="directFh" @fillNoFh="fillNoFh"></OrderItem>
+            <OrderItem :ref="`orderRef${item.id}`" :item="item" @printOrder="printOrder" @directFh="directFh" @fillNoFh="fillNoFh" :moreOrderRemind="false"></OrderItem>
           </div>
-
         </div>
       </block>
       <block v-else>

+ 8 - 66
ghsApp/src/admin/shop/add.vue

@@ -104,40 +104,6 @@
 					</view>
 				</tui-list-cell>
 
-				<!-- <tui-list-cell class="line-cell" :hover="false">
-					<view class="tui-title">显示库存</view>
-					<view>
-						<switch style="transform:scale(0.7,0.7)" :checked="form.showStock == 0 ? false : true" @change="showStockChange" /> {{form.showStock==1 ? '是' : '否'}}
-					</view>
-				</tui-list-cell> 
-
-				<tui-list-cell class="line-cell" :hover="false">
-					<view class="tui-title">默认享受价格</view>
-					<view>
-						<switch style="transform:scale(0.7,0.7)" :checked="form.isHd == 1 ? false : true" @change="isHdChange" /> {{form.isHd == 1 ? '批发价' : '零售价'}}
-					</view>
-				</tui-list-cell>
-
-				<tui-list-cell class="line-cell" :hover="false">
-					<view class="tui-title">默认允许欠款</view>
-					<view>
-						<switch style="transform:scale(0.7,0.7)" :checked="form.allowDebt == 0 ? false : true" @change="allowDebtChange" /> {{form.allowDebt==0 ? '不能' : '允许'}}
-					</view>
-				</tui-list-cell> -->
-
-
-				<tui-list-cell class="line-cell" :hover="false" v-if="form.allowDebt == 1">
-					<view class="tui-title ">默认欠款额度</view>
-					<input type="number" v-model="form.allowDebtAmount" @focus="form.allowDebtAmount=''" placeholder-class="phcolor" class="tui-input" name="allowDebtAmount" placeholder="请填写金额" />
-				</tui-list-cell>
-
-				<!-- <tui-list-cell class="line-cell" :hover="false">
-					<view class="tui-title">默认新客要审</view>
-					<view>
-						<switch style="transform:scale(0.7,0.7)" :checked="form.needCheck == 0 ? false : true" @change="needCheckChange" /> {{form.needCheck==0 ? '不要' : '需要'}}
-					</view>
-				</tui-list-cell> -->
-
 				<tui-list-cell class="line-cell" :hover="false">
 					<view class="tui-title">车销身份</view>
 					<view>
@@ -152,20 +118,6 @@
 					</view>
 				</tui-list-cell>
 
-				<tui-list-cell class="line-cell" :hover="false">
-					<view class="tui-title">花材分级</view>
-					<view>
-						<switch style="transform:scale(0.7,0.7)" :checked="form.itemToClass == 0 ? false : true" @change="itemToClassChange" /> {{form.itemToClass==0 ? '关闭' : '开启'}}
-					</view>
-				</tui-list-cell>
-
-				<!-- <tui-list-cell class="line-cell" :hover="false">
-					<view class="tui-title">显示销量</view>
-					<view>
-						<switch style="transform:scale(0.7,0.7)" :checked="form.showSold == 0 ? false : true" @change="showSoldChange" /> {{form.showSold==1 ? '是' : '否'}}
-					</view>
-				</tui-list-cell> -->
-
 				<tui-list-cell class="line-cell" :hover="false">
 					<view class="tui-title">自主售后申请</view>
 					<view>
@@ -185,15 +137,16 @@
 					</view>
 				</tui-list-cell>
 
+				<view style="border:1upx solid #CCCCCC;margin:0 8upx 0 8upx;">
+				<view style="background-color: white;font-size:28upx;padding-left:26upx;color:#3385FF;padding-top:10upx;">客户自己下单,并且下面二个要同时满足,才有优惠</view>
 				<tui-list-cell class="line-cell" :hover="false">
 					<view class="tui-title " style="color:#3385FF;">整单满扎数</view>
-					<input v-model="form.meetNum" style="color:#3385FF;" @focus="form.meetNum=''" placeholder-class="phcolor" class="tui-input" name="meetNum" placeholder="多少扎" type="digit" />
+					<input v-model="form.meetNum" style="color:#3385FF;" @focus="form.meetNum=''" placeholder-class="phcolor" class="tui-input" name="meetNum" placeholder="填写数量" type="digit" />
 				</tui-list-cell>
 				<tui-list-cell class="line-cell" :hover="false">
 					<view class="tui-title " style="color:#3385FF;">整单满金额</view>
-					<input v-model="form.meetAmount" style="color:#3385FF;" @focus="form.meetAmount=''" placeholder-class="phcolor" class="tui-input" name="meetAmount" placeholder="多少钱" type="digit" />
+					<input v-model="form.meetAmount" style="color:#3385FF;" @focus="form.meetAmount=''" placeholder-class="phcolor" class="tui-input" name="meetAmount" placeholder="填写金额" type="digit" />
 				</tui-list-cell>
-
 				<tui-list-cell class="line-cell" :hover="false">
 					<view class="tui-title" style="color:#3385FF;">优惠方式</view>
 					<radio-group class="tui-input" @change="cutStyleChange" style="color:#3385FF;">
@@ -210,10 +163,11 @@
 				</tui-list-cell>
 
 				<tui-list-cell class="line-cell" :hover="false">
-					<view class="tui-title " style="color:#3385FF;">优惠条件</view>
+					<view class="tui-title " style="color:#3385FF;">优惠{{ form.cutStyle == 0?'金额':'折扣' }}</view>
 					<input v-model="form.cutAmount" style="color:#3385FF;" @focus="form.cutAmount=''" v-if="form.cutStyle == 0" placeholder-class="phcolor" class="tui-input" name="cutAmount" placeholder="请填写金额" type="digit" />
 					<input v-model="form.cutAmount" style="color:#3385FF;" @focus="form.cutAmount=''" v-else placeholder-class="phcolor" class="tui-input" name="cutAmount" placeholder="请填写折扣,95折填0.95" type="digit" />
 				</tui-list-cell>
+				</view>
 
 				<tui-list-cell class="line-cell" :hover="false">
 					<view class="tui-title ">消费不足</view>
@@ -274,25 +228,19 @@ export default {
 				telephone:'',
 				telephone2:'',
 				packCost:0,
-				lackExpend:9,
+				lackExpend:0,
 				meetNum:0,
 				meetAmount:0,
 				cutAmount:0,
 				cutStyle:0,
 				img: [],
-				allowDebt:0,
 				needCheck:0,
-				allowDebtAmount:5000,
 				presell:0,
 				default:0,
 				carSale:0,
-				showStock:1,
-				showSold:0,
 				afterSale:1,
 				saleHour:12,
-				cgUnitType:0,
-				isHd:1,
-				itemToClass:0
+				cgUnitType:0
 			},
 			showRegion: false,
 			region: {
@@ -358,9 +306,6 @@ export default {
 					})
 			}
 		},
-		itemToClassChange(e){
-			this.form.itemToClass = e.detail.value ? 1 : 0
-		},
 		presellChange(e){
 			this.form.presell = e.detail.value ? 1 : 0
 		},
@@ -376,9 +321,6 @@ export default {
 		defaultChange(e){
 			this.form.default = e.detail.value ? 1 : 0
 		},
-		allowDebtChange(e){
-			this.form.allowDebt = e.detail.value ? 1 : 0
-		},
 		openChange(e) {
 			this.visible = e.detail.value ? true : false
 			this.form.open = e.detail.value ? 1 : 0

+ 2 - 2
ghsApp/src/admin/shop/sk.vue

@@ -24,11 +24,11 @@
             <radio-group class="tui-input" @change="thirdSendChange">
               <label class="list" for="thirdSendOk">
                 <radio id="thirdSendOk" value="0" :checked="thirdSend == 0" style="transform:scale(0.7,0.7)" />
-                <span class="checkbox-text">可跑腿</span>
+                <span class="checkbox-text">可跑腿</span>
               </label>
               <label class="list" for="thirdSendNo">
                 <radio id="thirdSendNo" value="1" :checked="thirdSend == 1" style="transform:scale(0.7,0.7)" />
-                <span class="checkbox-text">禁跑腿</span>
+                <span class="checkbox-text">禁跑腿</span>
               </label>
             </radio-group>
           </tui-list-cell>

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

@@ -48,6 +48,10 @@ export const modifyShortName = data => {
 	return https.get('/custom/modify-short-name', data)
 }
 
+export const changeRiseRule = data => {
+	return https.get('/custom/change-rise-rule', data)
+}
+
 export const modifyHomeParams = data => {
 	return https.get('/custom/modify-home-amount', data)
 }

+ 1 - 1
ghsApp/src/pages.json

@@ -382,7 +382,7 @@
 				{ "path": "result", "style": { "navigationBarTitleText": "结果" } },
 				{ "path": "add", "style": { "navigationBarTitleText": "新增采购", "enablePullDownRefresh": true } },
 				{ "path": "details", "style": { "navigationBarTitleText": "确认订单" } },
-				{ "path": "components/pageSuccess", "style": { "navigationBarBackgroundColor": "#ffffff", "navigationBarTextStyle": "black","app-plus": {"softinputMode": "adjustResize"} } },
+				{ "path": "components/pageSuccess", "style": { "navigationBarBackgroundColor": "#ffffff", "navigationBarTextStyle": "black"} },
 				{ "path": "order", "style": { "navigationBarTitleText": "采购订单", "enablePullDownRefresh": true } },
 				{ "path": "wcOrder", "style": { "navigationBarTitleText": "外采", "enablePullDownRefresh": true } },
        			{ "path": "supplier", "style": { "navigationBarTitleText": "供货商", "enablePullDownRefresh": true } },

+ 56 - 23
ghsApp/src/pagesClient/member/detail.vue

@@ -13,17 +13,19 @@
                   <view>{{userInfo.originName}}</view>
                   <view style="font-size:26upx;">
                     ID {{userInfo.sn}}
-                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 10000" style="margin-left:18upx;color:green;font-weight:bold;">没有下过单</text>
-                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 7" style="margin-left:18upx;color:green;font-weight:bold;">超1周未下单</text>
-                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 30" style="margin-left:18upx;color:green;font-weight:bold;">超1个月未下单</text>
-                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 180" style="margin-left:18upx;color:green;font-weight:bold;">超半年未下单</text>
-                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 365" style="margin-left:18upx;color:green;font-weight:bold;">超1年未下单</text>
+                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 10000" style="margin-left:15upx;color:green;">没有下过单</text>
+                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 7" style="margin-left:15upx;color:green;">超1周未下单</text>
+                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 30" style="margin-left:15upx;color:green;">超1个月未下单</text>
+                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 180" style="margin-left:15upx;color:green;">超半年未下单</text>
+                    <text v-if="userInfo.overTimeUnExpend && userInfo.overTimeUnExpend == 365" style="margin-left:15upx;color:green;">超1年未下单</text>
 
-                    <text v-if="Number(userInfo.black)==2" style="color:red;font-weight:bold;margin-left:18upx;">黑名单</text>
-                    <text v-if="Number(userInfo.delStatus)==1" style="color:red;font-weight:bold;margin-left:18upx;">已删除</text>
+                    <text v-if="Number(userInfo.black)==2" style="color:red;font-weight:bold;margin-left:15upx;">黑名单</text>
+                    <text v-if="Number(userInfo.delStatus)==1" style="color:red;font-weight:bold;margin-left:15upx;">已删除</text>
 
-                    <text v-if="userInfo.distName!=''" style="margin-left:18upx;color:#ceb8b8;" @click="openDistSelect">{{ userInfo.distName }}</text>
-                    <text v-else style="margin-left:18upx;color:#ceb8b8;" @click="openDistSelect">请设片区</text>
+                    <text v-if="Number(userInfo.risePercent)>0" style="margin-left:15upx;color:#3385ff;">{{ userInfo.risePercent }}%</text>
+
+                    <text v-if="userInfo.distName!=''" style="margin-left:15upx;color:#ceb8b8;" @click="openDistSelect">{{ userInfo.distName }}</text>
+                    <text v-else style="margin-left:15upx;color:#ceb8b8;" @click="openDistSelect">请设片区</text>
                   </view>
                 </view>
             </view>
@@ -133,7 +135,7 @@
             </tui-list-cell>
 
             <tui-list-cell class="line-cell" :hover="false">
-              <div class="tui-title">线上自助挂账</div>
+              <div class="tui-title">商城自助挂账</div>
               <div class="switch_bx">
                 <text v-if="form.debt == 0">禁止</text>
                 <text v-else>允许</text>
@@ -142,7 +144,7 @@
             </tui-list-cell>
 
 						<tui-list-cell class="line-cell" :hover="false">
-              <div class="tui-title">授信额度</div>
+              <div class="tui-title">挂账额度</div>
               <input v-model="debtLimit" @click="debtLimit=''" placeholder-class="phcolor" class="tui-input" confirm-type="go" placeholder="请填写" type="digit" style="width:47%;border:1upx solid #ddd;margin-right:12upx;height:70upx;text-align:center;" />
               <button class="admin-button-com blue middle" @tap="amendMoney">确定</button>
 						</tui-list-cell>
@@ -167,19 +169,29 @@
             <tui-list-cell class="line-cell" :hover="false">
               <div class="tui-title">享受价格</div>
               <button class="admin-button-com middle" :class="[form.level == 0 ? 'blue' : 'default']" @click="changeLevelBtn(0)">零售价</button>
-              <button class="admin-button-com middle" :class="[form.level == 1 ? 'blue' : 'default']" @click="changeLevelBtn(1)" style="margin-left:15upx;margin-right:15upx;">批发价</button>
+              <button class="admin-button-com middle" :class="[form.level == 1 ? 'blue' : 'default']" @click="changeLevelBtn(1)" style="margin-left:18upx;margin-right:18upx;">批发价</button>
               <button class="admin-button-com middle" :class="[form.level == 2 ? 'blue' : 'default']" @click="changeLevelBtn(2)">大客价</button>
             </tui-list-cell>
 
-            <tui-list-cell class="line-cell" :hover="false">
-              <div class="tui-title">审核状态</div>
-              <div class="switch_bx">
-                <text v-if="form.passStatus == 0">待审</text>
-                <text v-else>通过</text>
-                <switch :checked="form.passStatus == 0 ? false : true" @change="passStatusChangeFn" style="transform: scale(0.8,0.8)" />
-              </div>
+            <tui-list-cell class="line-cell" :hover="false" v-if="form.home == 1">
+              <view class="tui-title">涨价比例</view>
+              <view style="display:flex;align-items:center;">
+                <input v-model="userInfo.risePercent" @click="userInfo.risePercent=''" placeholder-class="phcolor" class="tui-input" confirm-type="go" placeholder="不涨填0" type="number" style="width:248upx;border:1upx solid #ddd;margin-right:10upx;height:70upx;text-align:center;" />
+                <text style="margin-right:30upx;">%</text>
+              </view>
+              <button class="admin-button-com blue middle" @tap="changeRise">确定</button>
             </tui-list-cell>
-            <view style="border:1upx solid #CCCCCC;">
+
+            <tui-list-cell class="line-cell" :hover="false" v-if="form.home == 1">
+              <view class="tui-title">最高涨价</view>
+              <view style="display:flex;align-items:center;">
+                <input v-model="userInfo.riseRange" @click="userInfo.riseRange=''" placeholder-class="phcolor" class="tui-input" confirm-type="go" placeholder="不限制填0" type="number" style="width:248upx;border:1upx solid #ddd;margin-right:10upx;height:70upx;text-align:center;" />
+                <text style="margin-right:30upx;">元</text>
+              </view>
+              <button class="admin-button-com blue middle" @tap="changeRise">确定</button>
+            </tui-list-cell>
+
+            <view style="border:2upx solid #CCCCCC;">
               <tui-list-cell class="line-cell" :hover="false">
                 <div class="tui-title">送货上门</div>
                 <div class="switch_bx">
@@ -191,14 +203,24 @@
 
               <tui-list-cell class="line-cell" :hover="false" v-if="form.home == 1">
                 <div class="tui-title">最低消费金额</div>
-                <input v-model="userInfo.homeAmount" @click="userInfo.homeAmount=''" placeholder-class="phcolor" class="tui-input" confirm-type="go" placeholder="不限制填0" type="digit" style="width:260upx;border:1upx solid #ddd;margin-right:30upx;height:70upx;text-align:center;" />
+                <input v-model="userInfo.homeAmount" @click="userInfo.homeAmount=''" placeholder-class="phcolor" class="tui-input" confirm-type="go" placeholder="不限制填0" type="digit" style="width:280upx;border:1upx solid #ddd;margin-right:30upx;height:70upx;text-align:center;" />
               </tui-list-cell>
               <tui-list-cell class="line-cell" :hover="false" v-if="form.home == 1">
                 <div class="tui-title">最低消费扎数</div>
-                <input v-model="userInfo.homeNum" @click="userInfo.homeNum=''" placeholder-class="phcolor" class="tui-input" confirm-type="go" placeholder="不限制填0" type="number" style="width:260upx;border:1upx solid #ddd;margin-right:30upx;height:70upx;text-align:center;" />
+                <input v-model="userInfo.homeNum" @click="userInfo.homeNum=''" placeholder-class="phcolor" class="tui-input" confirm-type="go" placeholder="不限制填0" type="number" style="width:280upx;border:1upx solid #ddd;margin-right:30upx;height:70upx;text-align:center;" />
                 <button class="admin-button-com blue middle" @tap="changeHomeParams">确定</button>
               </tui-list-cell>
             </view>
+
+            <tui-list-cell class="line-cell" :hover="false">
+              <div class="tui-title">审核状态</div>
+              <div class="switch_bx">
+                <text v-if="form.passStatus == 0">待审</text>
+                <text v-else>通过</text>
+                <switch :checked="form.passStatus == 0 ? false : true" @change="passStatusChangeFn" style="transform: scale(0.8,0.8)" />
+              </div>
+            </tui-list-cell>
+
             <tui-list-cell class="line-cell" :hover="false">
               <div class="tui-title">查看库存</div>
               <div class="switch_bx">
@@ -342,7 +364,7 @@ import ModalModule from "@/components/plugin/modal"
 import { getUserDet,debt} from "@/api/member";
 import { IMGHOST } from '@/config'
 import { mapGetters } from "vuex"
-import { changeShowStock,changePassStatus,toChangeHome,changeWlName,modifyShortName,modifyHomeParams,changeLevel,changeDebtLimitPay,createSeatSnFn,modifySeatSnFn,changeDelStatus } from "@/api/custom"
+import { changeShowStock,changePassStatus,toChangeHome,changeWlName,modifyShortName,modifyHomeParams,changeRiseRule,changeLevel,changeDebtLimitPay,createSeatSnFn,modifySeatSnFn,changeDelStatus } from "@/api/custom"
 import { updateDebtLimit,updateCustomBlack,changeDiscount,changeName,rechargeFn,getGatheringCode} from "@/api/custom";
 import { getAllDist,changeDist } from "@/api/dist"
 export default {
@@ -366,6 +388,8 @@ export default {
         home:1,
         homeAmount:0,
         homeNum:0,
+        risePercent:0,
+        riseRange:0,
         wlId:0,
         level:1,
         staffName:'',
@@ -561,6 +585,15 @@ export default {
         })
       })
     },
+    changeRise(){
+      let risePercent = this.userInfo.risePercent
+      let riseRange = this.userInfo.riseRange
+      changeRiseRule({id:this.option.id,risePercent:risePercent,riseRange:riseRange}).then(res=>{
+        if(res.code == 1){
+          this.$msg('修改成功')
+        }
+      })
+    },
     changeHomeParams(){
       if(this.$util.isEmpty(this.userInfo.homeAmount)){
         this.$msg('请填写最低消费金额')

+ 11 - 9
ghsApp/src/pagesOrder/modify.vue

@@ -3,12 +3,12 @@
 		<form @submit="formSubmit">
 			<view class="module-com input-line-wrap">
 
-				<view style="background-color: white;font-size:36upx;font-weight:bold;padding:20upx 0 10upx 30upx;">修改本单地址:</view>
+				<view style="background-color: white;font-size:36upx;font-weight:bold;padding:20upx 0 10upx 30upx;">修改本单客户地址:</view>
 
 				<tui-list-cell class="line-cell" :hover="false" v-if="hasMap == 1">
 					<view class="tui-title">地址类型</view>
 					<button :class="[couldNavigation==1?'blue':'default']" class="admin-button-com middle" @click.stop="setStyle(1)" style="width:180upx;">支持导航</button>
-					<button :class="[couldNavigation==0?'blue':'default']" class="admin-button-com middle" style="width:180upx;margin-left:70upx;" @click.stop="setStyle(0)">不用导航</button>
+					<button :class="[couldNavigation==0?'blue':'default']" class="admin-button-com middle" style="width:180upx;margin-left:60upx;" @click.stop="setStyle(0)">不用导航</button>
 				</tui-list-cell>
 
 				<tui-list-cell class="line-cell" :hover="false" :arrow="true" @click="openAddres">
@@ -33,12 +33,11 @@
 				<input v-model="form.floor" placeholder-class="phcolor" class="tui-input" name="floor" placeholder="楼号门牌号,建议填写,方便查找"/>
 			</tui-list-cell>
 
-			<view class="checkbox-wrap">
-				<label class="checkbox-label">
-					<checkbox v-model="syncDefaultAddress" :true-value="1" :false-value="0" color="#007AFF" style="margin-right: 10upx;"></checkbox>
-					<text>同步设为客户的默认地址</text>
-				</label>
-			</view>
+		<tui-list-cell class="line-cell" :hover="false">
+			<view class="tui-title">地址类型</view>
+			<button :class="[syncDefaultAddress==1?'blue':'default']" class="admin-button-com middle" @click.stop="setDefaultAddress(1)" style="width:180upx;">设为默认</button>
+			<button :class="[syncDefaultAddress==0?'blue':'default']" class="admin-button-com middle" style="width:180upx;margin-left:60upx;" @click.stop="setDefaultAddress(0)">临时使用</button>
+		</tui-list-cell>
 
 			
 		</view>
@@ -87,7 +86,7 @@ export default {
 		showRegion: false,
 		hasMap: 0,
 		couldNavigation:1,
-		syncDefaultAddress: 0
+		syncDefaultAddress: 1
 		}
 	},
 	onLoad() {
@@ -97,6 +96,9 @@ export default {
 			this.couldNavigation = flag
 			this.form.address = ''
 		},
+		setDefaultAddress(flag){
+			this.syncDefaultAddress = flag
+		},
 		onHere(){
 			this.form.province = '云南省'
 			this.form.city = '昆明市'

+ 47 - 48
hdApp/src/admin/billing/components/hb-select.vue

@@ -3,7 +3,7 @@
 		<!-- Trigger Row -->
         <view class="cell-content" @click="openPopup" v-if="hasAvailableHb">
             <view class="right-content">
-                <text v-if="selectedHb" class="selected-text">-¥{{ selectedHb.amount }}</text>
+                <text v-if="selectedHb" class="selected-text">-¥{{ selectedHb.amount?parseFloat(selectedHb.amount):0 }}</text>
                 <view v-else class="available-tag">
                     <text>有红包可用</text>
                 </view>
@@ -22,16 +22,15 @@
 					<view class="hb-list">
 						<view class="hb-card" v-for="item in availableHbList" :key="item.id" @click="selectHb(item)">
 							<view class="card-left">
-								<view class="amount"><text class="symbol">¥</text>{{ item.amount }}</view>
+								<view class="amount"><text class="symbol">¥</text>{{ item.amount?parseFloat(item.amount):0 }}</view>
 								<view class="type">{{ item.name }}</view>
 							</view>
 							<view class="card-middle">
 								<view class="name">{{ item.name }}</view>
-								<view class="condition">
-									{{ Number(item.minConsume) > 0 ? `满${item.minConsume}可用` : '无门槛' }}
-								</view>
-								<view class="date" v-if="item.endTime == 4102416000">永久可用</view>
-								<view class="date" v-else>{{ formatTime(item.beginTime) }}-{{ formatTime(item.endTime) }}到期</view>
+								<view class="condition" v-if="Number(item.minConsume) > 0"> 满{{item.minConsume?parseFloat(item.minConsume):0}}可用 </view>
+								<view class="condition" v-else> 无门槛 </view>
+								<view class="date" v-if="item.endTime == 4102416000">永久有效</view>
+								<view class="date" v-else>{{ formatTime(item.endTime) }} 到期</view>
 							</view>
 							<view class="card-right">
 								<view class="radio-circle" :class="{ checked: currentSelectedId == item.id }">
@@ -43,7 +42,7 @@
 						<!-- Option to not use red packet -->
 						<view class="hb-card" @click="selectHb(null)">
 							<view class="card-left" style="border:none;">
-								<text style="font-size: 28rpx; color: #333; font-weight: bold;">不使用红包</text>
+								<text style="font-size: 28upx; color: #333; font-weight: bold;">不使用红包</text>
 							</view>
 							<view class="card-middle"></view>
 							<view class="card-right">
@@ -159,11 +158,11 @@ export default {
 	display: flex;
 	justify-content: space-between;
 	align-items: center;
-	width: 100%;
+	width: 420upx;
 }
 .tui-title {
     width: auto !important; /* Override tui-list-cell default if needed */
-    font-size: 32rpx;
+    font-size: 32upx;
     color: #333;
 }
 .right-content {
@@ -173,70 +172,70 @@ export default {
 .available-tag {
 	background-color: #F82547;
 	color: #fff;
-	font-size: 24rpx;
-	padding: 6rpx 20rpx;
-	border-radius: 30rpx;
+	font-size: 30upx;
+	padding: 10upx 20upx;
+	border-radius: 30upx;
 }
 .selected-text {
 	color: #ff2842;
-	font-size: 32rpx;
+	font-size: 32upx;
 	font-weight: bold;
 }
 
 /* Popup Styles */
 .hb-popup-content {
 	background-color: #f5f5f5;
-	border-radius: 20rpx 20rpx 0 0;
+	border-radius: 20upx 20upx 0 0;
 	padding-bottom: env(safe-area-inset-bottom);
 	display: flex;
 	flex-direction: column;
     height: 70vh; /* Fixed height for popup */
 }
 .popup-header {
-	height: 100rpx;
+	height: 100upx;
 	display: flex;
 	justify-content: center;
 	align-items: center;
 	position: relative;
 	background-color: #fff;
-	font-size: 34rpx;
+	font-size: 34upx;
 	font-weight: bold;
-	border-radius: 20rpx 20rpx 0 0;
+	border-radius: 20upx 20upx 0 0;
 }
 .close-btn {
 	position: absolute;
-	right: 30rpx;
-	font-size: 48rpx;
+	right: 30upx;
+	font-size: 48upx;
 	color: #999;
-	padding: 10rpx;
+	padding: 10upx;
     line-height: 1;
 }
 .popup-scroll {
 	flex: 1;
     height: 0; /* Important for flex child scroll */
-	padding: 20rpx;
+	padding: 20upx;
 	box-sizing: border-box;
 }
 .hb-list {
-    padding: 20rpx;
+    padding: 20upx;
 }
 .hb-card {
 	background-color: #fff6f0; /* Light orange bg */
-	border-radius: 12rpx;
-	margin-bottom: 20rpx;
+	border-radius: 12upx;
+	margin-bottom: 20upx;
 	display: flex;
 	align-items: center;
-	padding: 30rpx 20rpx;
+	padding: 30upx 20upx;
     position: relative;
     border: 1px solid transparent;
 }
 /* Selected border effect if needed, but image shows radio check */
 
 .card-left {
-	width: 160rpx;
+	width: 160upx;
 	text-align: center;
 	border-right: 1px dashed #eecbc0;
-	margin-right: 20rpx;
+	margin-right: 20upx;
 	display: flex;
 	flex-direction: column;
 	justify-content: center;
@@ -244,47 +243,47 @@ export default {
 }
 .amount {
 	color: #ff2842;
-	font-size: 56rpx;
+	font-size: 50upx;
 	font-weight: bold;
 }
 .symbol {
-	font-size: 28rpx;
-    margin-right: 4rpx;
+	font-size: 28upx;
+    margin-right: 4upx;
 }
 .type {
-	font-size: 24rpx;
+	font-size: 24upx;
 	color: #666;
-	margin-top: 4rpx;
+	margin-top: 4upx;
 }
 .card-middle {
 	flex: 1;
 }
 .name {
-	font-size: 30rpx;
+	font-size: 30upx;
 	font-weight: bold;
 	color: #333;
-	margin-bottom: 12rpx;
+	margin-bottom: 12upx;
 }
 .condition {
-	font-size: 24rpx;
+	font-size: 24upx;
 	color: #666;
-	margin-bottom: 8rpx;
+	margin-bottom: 8upx;
 }
 .date {
-	font-size: 22rpx;
+	font-size: 22upx;
 	color: #999;
 }
 .card-right {
-	width: 80rpx;
+	width: 80upx;
 	display: flex;
 	justify-content: center;
 	align-items: center;
 }
 .radio-circle {
-    width: 40rpx;
-    height: 40rpx;
+    width: 40upx;
+    height: 40upx;
     border-radius: 50%;
-    border: 2rpx solid #ccc;
+    border: 2upx solid #ccc;
     display: flex;
     justify-content: center;
     align-items: center;
@@ -297,19 +296,19 @@ export default {
 }
 .icon-check {
     color: #fff;
-    font-size: 24rpx;
+    font-size: 24upx;
 }
 
 .popup-footer {
-	padding: 20rpx 30rpx;
+	padding: 20upx 30upx;
 	background-color: #fff;
 }
 .confirm-btn {
 	background-color: #ff6600;
 	color: #fff;
-	border-radius: 40rpx;
-	font-size: 32rpx;
-	height: 80rpx;
-	line-height: 80rpx;
+	border-radius: 40upx;
+	font-size: 32upx;
+	height: 80upx;
+	line-height: 80upx;
 }
 </style>

+ 5 - 40
hdApp/src/admin/hb/list.vue

@@ -33,14 +33,16 @@
           <view class="card-header">
             <view class="user-info">
               <text class="name">{{ item.customName }}</text>
-              <text class="amount">¥ {{ item.amount }}</text>
+              <text class="amount">¥ {{ item.amount?parseFloat(item.amount):0 }}</text>
             </view>
-            <view class="status" :class="item.statusClass">{{ item.statusText }}</view>
+            <view class="status" :class="item.statusClass">{{ item.status==0?'待使用':item.status==1?'已使用':item.status==-1?'已失效':'未知'}}</view>
           </view>
           <view class="card-body">
             <view class="row">开始时间:{{ formatDateTime(item.beginTime) }}</view>
             <view class="row">到期时间:<text v-if="item.endTime == 4102416000">永久有效</text><text v-else>{{ formatDateTime(item.endTime) }}</text></view>
             <view class="row">有效时长:<text v-if="item.duration == 0">永久</text><text v-else>{{ item.duration }}天</text></view>
+            <view class="row" v-if="Number(item.minConsume)==0">最低消费:无门槛</view>
+            <view class="row" v-else>最低消费:{{ item.minConsume?parseFloat(item.minConsume):0 }}元</view>
             <view class="row">获得方式:{{ formatGetType(item.getType) }}</view>
             <view class="row">获得时间:{{ item.createdAt.substr(0,16) }}</view>
           </view>
@@ -82,44 +84,7 @@ export default {
       searchText: '',
       showSearch: false,
       searchList: [],
-      customId: 0,
-      // list: [],
-      // Mock data source
-      mockData: [
-        {
-          id: 1,
-          customName: '小明',
-          amount: 30,
-          statusText: '待使用',
-          startTime: '12-22 11:50',
-          endTime: '12-29 11:50',
-          duration: 7,
-          source: '新人领取',
-          createTime: '12-22 11:30'
-        },
-        {
-          id: 2,
-          customName: '山村小石头',
-          amount: 30,
-          statusText: '已使用',
-          startTime: '12-22 11:50',
-          endTime: '12-29 11:50',
-          duration: 7,
-          source: '充值赠送',
-          createTime: '12-22 11:30'
-        },
-        {
-          id: 3,
-          customName: '李四',
-          amount: 50,
-          statusText: '已失效',
-          startTime: '11-22 11:50',
-          endTime: '11-29 11:50',
-          duration: 7,
-          source: '活动领取',
-          createTime: '11-22 11:30'
-        }
-      ]
+      customId: 0
     }
   },
   onShow() {

+ 17 - 27
hdApp/src/admin/hb/send.vue

@@ -6,23 +6,23 @@
     </view>
     <view class="form-item">
       <view class="label">红包个数</view>
-      <input class="input" type="number" v-model="form.count" placeholder="请填写数量" />
+      <input class="input" type="number" @focus="form.count=''" v-model="form.count" placeholder="请填写数量" />
     </view>
     <view class="form-item">
       <view class="label">红包金额</view>
-      <input class="input" type="digit" v-model="form.amount" placeholder="请输入金额" />
+      <input class="input" type="digit" @focus="form.amount=''" v-model="form.amount" placeholder="请输入金额" />
     </view>
     <view class="form-item">
-      <view class="label">有效时长</view>
-      <input class="input" type="number" v-model="form.days" placeholder="请输入天数,0表示永久有效" />
+      <view class="label">最低消费</view>
+      <input class="input" type="digit" @focus="form.minConsume=''" v-model="form.minConsume" placeholder="请填写" />
     </view>
     <view class="form-item">
-      <view class="label">最低消费</view>
-      <input class="input" type="digit" v-model="form.minConsume" placeholder="请填写" />
+      <view class="label">有效时长</view>
+      <input class="input" type="number" @focus="form.days=''" v-model="form.days" placeholder="请输入天数,0表示永久有效" />
     </view>
     <view class="form-item">
       <view class="label">备注信息</view>
-      <input class="input" type="text" v-model="form.remark" placeholder="请填写" />
+      <input class="input" type="text" v-model="form.remark" placeholder="选填" />
     </view>
     <view class="form-item">
       <view class="label">生效时间</view>
@@ -74,30 +74,20 @@ export default {
         this.$msg('请输入红包个数');
         return;
       }
-      if (!this.form.days && isNaN(this.form.days)) {
-        this.$msg('请输入有效时长');
-        return;
-      }
       if (!this.form.minConsume && isNaN(this.form.minConsume)) {
         this.$msg('请输入最低消费');
         return;
       }
-      createHb({
-        userId: this.userId,
-        customId: this.customId,
-        ...this.form,
-      }).then(res => {
-        if (res.code == 1) {
-          this.$msg('发放成功');
-          setTimeout(() => {
-            //uni.navigateBack();
-            this.$util.pageTo({url: '/admin/hb/result?id='+res.data.id,type:2})
-          }, 500);
-        } else {
-          console.log(res);
-          this.$msg(res.msg);
-        }
-      });
+      this.$util.confirmModal({content:'确认发放?'},() => {
+        createHb({ userId: this.userId, customId: this.customId, ...this.form, }).then(res => {
+          if (res.code == 1) {
+            this.$msg('发放成功')
+            setTimeout(() => {
+              this.$util.pageTo({url: '/admin/hb/result?id='+res.data.id,type:2})
+            }, 500)
+          }
+        })
+      })
     }
   }
 };

+ 28 - 75
hdApp/src/admin/home/workbench.vue

@@ -24,13 +24,6 @@
           </view>
 
           <view class="bubble-grid">
-            <!-- 今日收入 - 主气泡 -->
-            <view class="bubble bubble-primary" @click.stop="pageTo({url:'/admin/stat/kdIncome'})">
-              <view class="bubble-inner">
-                <view class="bubble-label">今日收入</view>
-                <view class="bubble-value">{{ $util.numberFormat(data.todayData.income) }}</view>
-              </view>
-            </view>
 
             <!-- 访客 -->
             <view class="bubble bubble-secondary" @click.stop="pageTo({url:'/admin/custom/visit'})">
@@ -60,22 +53,12 @@
                 <view class="bubble-value">{{ $util.numberFormat(data.yesterdayIncome) || 0 }}</view>
               </view>
             </view>
-          </view>
-        </view>
-      </template>
-      <template v-else>
-        <view class="today-overview-card">
-          <view class="today-header">
-            <view class="today-title">今日概况</view>
-            <zui-svg-icon icon="home-message" color="#FFFFFF" :width="32" :height="29" @click.native="pageTo({url:'/admin/chat/list'})" />
-            <view class="red-mind" v-if="unReadMsgNum>0">{{ unReadMsgNum>9?'9+':unReadMsgNum }}</view>
-          </view>
 
-          <view class="today-stats" @click="pageTo({url:'/admin/custom/visit'})">
-            <view class="stat-item">
-              <view class="stat-content">
-                <view class="stat-label">访客</view>
-                <view class="stat-value">{{ $util.numberFormat(data.todayData.visit) || 0 }}</view>
+            <!-- 今日收入 - 主气泡 -->
+            <view class="bubble bubble-primary" @click.stop="pageTo({url:'/admin/stat/kdIncome'})">
+              <view class="bubble-inner">
+                <view class="bubble-label">今日收入</view>
+                <view class="bubble-value">{{ $util.numberFormat(data.todayData.income) }}</view>
               </view>
             </view>
 
@@ -386,45 +369,24 @@
                   <view class="text-group_7 flex-col justify-between" @click="enterShop(ghsInfo)">
                     <text class="text_8">{{ghsInfo.name}}</text>
                     <text class="text_9">
+
                       <block v-if="ghsInfo.cutStyle && ghsInfo.cutStyle == 1">
-                        <block v-if="ghsInfo.meetNum == 1 || ghsInfo.meetAmount == 1">
-                          <block v-if="ghsInfo.meetNum && ghsInfo.meetNum>0 && ghsInfo.cutAmount>0">
-                            <text style="color:red;font-weight:bold;">
-                              全场{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
-                            </text>
-                          </block>
-                          <block v-else>
-                            <text v-if="ghsInfo.meetAmount && ghsInfo.meetAmount>0 && ghsInfo.cutAmount>0" style="color:red;font-weight:bold;">
-                              全场{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
-                            </text>
-                          </block>
-                        </block>
-                        <block v-else>
-                          <block v-if="ghsInfo.meetNum && ghsInfo.meetNum>0 && ghsInfo.cutAmount>0">
-                            <text style="color:red;font-weight:bold;">
-                              满{{ghsInfo.meetNum?ghsInfo.meetNum:0}}扎{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
-                            </text>
-                          </block>
-                          <block v-else>
-                            <text v-if="ghsInfo.meetAmount && ghsInfo.meetAmount>0 && ghsInfo.cutAmount>0" style="color:red;font-weight:bold;">
-                              满{{ghsInfo.meetAmount?ghsInfo.meetAmount:0}}元{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
-                            </text>
-                          </block>
+                        <block v-if="ghsInfo.meetNum>0 || ghsInfo.meetAmount>0">
+                          <text style="color:red;font-weight:bold;" v-if="ghsInfo.cutAmount>0">
+                            满<text v-if="ghsInfo.meetNum>0">{{ghsInfo.meetNum?ghsInfo.meetNum:0}}扎</text>
+                            <text v-if="ghsInfo.meetAmount>0"><text v-if="ghsInfo.meetNum>0">和</text>{{ghsInfo.meetAmount?ghsInfo.meetAmount:0}}元</text>{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
+                          </text>
                         </block>
-
                       </block>
                       <block v-else>
-                        <block v-if="ghsInfo.meetNum && ghsInfo.meetNum>0 && ghsInfo.cutAmount>0">
-                          <text style="color:red;font-weight:bold;">
-                            满{{ghsInfo.meetNum?ghsInfo.meetNum:0}}扎优惠{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount):0}}元
-                          </text>
-                        </block>
-                        <block v-else>
-                          <text v-if="ghsInfo.meetAmount && ghsInfo.meetAmount>0 && ghsInfo.cutAmount>0" style="color:red;font-weight:bold;">
-                            满{{ghsInfo.meetAmount?ghsInfo.meetAmount:0}}元优惠{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount):0}}元
+                        <block v-if="ghsInfo.meetNum>0 || ghsInfo.meetAmount>0">
+                          <text style="color:red;font-weight:bold;" v-if="ghsInfo.cutAmount>0">
+                            满<text v-if="ghsInfo.meetNum>0">{{ghsInfo.meetNum?ghsInfo.meetNum:0}}扎</text>
+                            <text v-if="ghsInfo.meetAmount>0"><text v-if="ghsInfo.meetNum>0">和</text>{{ghsInfo.meetAmount?ghsInfo.meetAmount:0}}元</text>优惠{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount):0}}元
                           </text>
                         </block>
                       </block>
+
                     </text>
                   </view>
                 </view>
@@ -1158,6 +1120,7 @@ export default {
   margin: 0 0 -20upx 0;
   overflow: visible;
   border-radius: 0;
+  padding-bottom: 40upx;
   
   .bubble-header {
     display: flex;
@@ -1166,7 +1129,7 @@ export default {
     padding: 20upx 24upx 24upx;
     
     .bubble-title {
-      font-size: 28upx;
+      font-size: 36upx;
       font-weight: 700;
       color: #ffffff;
       letter-spacing: 0.5upx;
@@ -1174,33 +1137,27 @@ export default {
     
     .message-btn {
       position: relative;
-      width: 44upx;
-      height: 44upx;
+      width: 56upx;
+      height: 56upx;
       display: flex;
       align-items: center;
       justify-content: center;
       background: rgba(255, 255, 255, 0.2);
       border-radius: 50%;
-      transition: all 0.3s ease;
-      
-      &:active {
-        background: rgba(255, 255, 255, 0.35);
-        transform: scale(0.95);
-      }
       
       .msg-icon {
-        font-size: 24upx;
+        font-size: 32upx;
         line-height: 1;
       }
       
       .red-mind {
         position: absolute;
-        top: -6upx;
-        right: -6upx;
-        width: 32upx;
-        height: 32upx;
-        line-height: 28upx;
-        font-size: 20upx;
+        top: -8upx;
+        right: -8upx;
+        width: 40upx;
+        height: 40upx;
+        line-height: 36upx;
+        font-size: 24upx;
         font-weight: 700;
         text-align: center;
         color: white;
@@ -1232,11 +1189,7 @@ export default {
       transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
       box-shadow: 0 8upx 20upx rgba(0, 0, 0, 0.15);
       
-      &:active {
-        transform: scale(0.92);
-        box-shadow: 0 4upx 12upx rgba(0, 0, 0, 0.2);
-      }
-      
+     
       .bubble-inner {
         width: 100%;
         height: 100%;

+ 6 - 6
hdApp/src/admin/member/detail.vue

@@ -125,7 +125,7 @@
     <div class="module-com tabs-wrap">
       <div class="tabs-list" v-for="(item, index) in tabsData" :key="index" @click="pageTo(item)">
         <div class="tabs-icon">
-          <i class="iconfont" :class="item.icon"></i>
+          <span>{{ item.icon }}</span>
         </div>
         <div class="tabs-name">{{ item.name }}</div>
       </div>
@@ -505,14 +505,14 @@ export default {
       tabsData: [
         {
           name: "升降级",
-          icon: "iconshezhi",
+          icon: "⚙️",
           funtion: () => {
             this.beginModifyMember()
           }
         },
         {
           name: "减余额",
-          icon: "iconjian",
+          icon: "",
           funtion: () => {
             this.deductAmount = ''
             this.deductRemark = ''
@@ -521,14 +521,14 @@ export default {
         },
                  {
            name: "充值",
-           icon: "iconzeng",
+           icon: "",
            funtion: () => {
- 			      this.openRechargePopup()
+			      this.openRechargePopup()
            }
          },
         {
           name: "开单",
-          icon: "iconbianji",
+          icon: "✏️",
           funtion: () => {
 			      this.addOrder()
           }

+ 2 - 2
hdApp/src/admin/order/detail.vue

@@ -494,7 +494,7 @@ export default {
   },
   computed: {
     canBackHb() {
-      // 只有订单全部退款(actPrice=0)才能操作退回红包
+      // 订单全部退款(actPrice=0)才能操作退回红包
       const hasActPrice = this.orderInfo && this.orderInfo.actPrice !== undefined && this.orderInfo.actPrice !== null && this.orderInfo.actPrice !== ''
       if (!hasActPrice) return false
       const actPrice = parseFloat(this.orderInfo.actPrice)
@@ -854,7 +854,7 @@ export default {
       }
 
       if (!this.canBackHb) {
-        this.$msg('只有订单全部退款才能退回红包')
+        this.$msg('订单全部退款才能退回红包')
         return
       }
 

+ 2 - 2
hdApp/src/admin/shop/sk.vue

@@ -36,11 +36,11 @@
             <radio-group class="tui-input" @change="thirdSendChange">
               <label class="list" for="thirdSendOk">
                 <radio id="thirdSendOk" value="0" :checked="thirdSend == 0" style="transform:scale(0.7,0.7)" />
-                <span class="checkbox-text">可跑腿</span>
+                <span class="checkbox-text">可跑腿</span>
               </label>
               <label class="list" for="thirdSendNo">
                 <radio id="thirdSendNo" value="1" :checked="thirdSend == 1" style="transform:scale(0.7,0.7)" />
-                <span class="checkbox-text">禁跑腿</span>
+                <span class="checkbox-text">禁跑腿</span>
               </label>
             </radio-group>
           </tui-list-cell>

+ 13 - 36
hdApp/src/pagesPurchase/order.vue

@@ -20,46 +20,23 @@
                   <text class="text_8">{{ghsInfo.name}}</text>
                   <text class="text_9">
 
-<block v-if="ghsInfo.cutStyle && ghsInfo.cutStyle == 1">
-
-  <block v-if="ghsInfo.meetNum == 1 || ghsInfo.meetAmount == 1">
-                    <block v-if="ghsInfo.meetNum && ghsInfo.meetNum>0 && ghsInfo.cutAmount>0">
-                      <text style="color:red;font-weight:bold;">
-                        全场{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
-                      </text>
-                    </block>
-                    <block v-else>
-                      <text v-if="ghsInfo.meetAmount && ghsInfo.meetAmount>0 && ghsInfo.cutAmount>0" style="color:red;font-weight:bold;">
-                        全场{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
-                      </text>
-                    </block>
-  </block>
-  <block v-else>
-                    <block v-if="ghsInfo.meetNum && ghsInfo.meetNum>0 && ghsInfo.cutAmount>0">
-                      <text style="color:red;font-weight:bold;">
-                        满{{ghsInfo.meetNum?ghsInfo.meetNum:0}}扎{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
-                      </text>
+                    <block v-if="ghsInfo.cutStyle && ghsInfo.cutStyle == 1">
+                      <block v-if="ghsInfo.meetNum>0 || ghsInfo.meetAmount>0">
+                        <text style="color:red;font-weight:bold;" v-if="ghsInfo.cutAmount>0">
+                          满<text v-if="ghsInfo.meetNum>0">{{ghsInfo.meetNum?ghsInfo.meetNum:0}}扎</text>
+                          <text v-if="ghsInfo.meetAmount>0"><text v-if="ghsInfo.meetNum>0">和</text>{{ghsInfo.meetAmount?ghsInfo.meetAmount:0}}元</text>{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
+                        </text>
+                      </block>
                     </block>
                     <block v-else>
-                      <text v-if="ghsInfo.meetAmount && ghsInfo.meetAmount>0 && ghsInfo.cutAmount>0" style="color:red;font-weight:bold;">
-                        满{{ghsInfo.meetAmount?ghsInfo.meetAmount:0}}元{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount*100).toString().replace(/0/g,''):0}}折
-                      </text>
+                      <block v-if="ghsInfo.meetNum>0 || ghsInfo.meetAmount>0">
+                        <text style="color:red;font-weight:bold;" v-if="ghsInfo.cutAmount>0">
+                          满<text v-if="ghsInfo.meetNum>0">{{ghsInfo.meetNum?ghsInfo.meetNum:0}}扎</text>
+                          <text v-if="ghsInfo.meetAmount>0"><text v-if="ghsInfo.meetNum>0">和</text>{{ghsInfo.meetAmount?ghsInfo.meetAmount:0}}元</text>优惠{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount):0}}元
+                        </text>
+                      </block>
                     </block>
-  </block>
 
-</block>
-<block v-else>
-                    <block v-if="ghsInfo.meetNum && ghsInfo.meetNum>0 && ghsInfo.cutAmount>0">
-                      <text style="color:red;font-weight:bold;">
-                        满{{ghsInfo.meetNum?ghsInfo.meetNum:0}}扎优惠{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount):0}}元
-                      </text>
-                    </block>
-                    <block v-else>
-                      <text v-if="ghsInfo.meetAmount && ghsInfo.meetAmount>0 && ghsInfo.cutAmount>0" style="color:red;font-weight:bold;">
-                        满{{ghsInfo.meetAmount?ghsInfo.meetAmount:0}}元优惠{{ghsInfo.cutAmount?parseFloat(ghsInfo.cutAmount):0}}元
-                      </text>
-                    </block>
-</block>
                   </text>
                 </view>
               </view>

+ 41 - 31
hdPad/src/pages/home/components/hb-select.vue

@@ -3,7 +3,7 @@
 		<!-- Trigger Row -->
         <view class="cell-content" @click="openPopup" v-if="hasAvailableHb">
             <view class="right-content">
-                <text v-if="selectedHb" class="selected-text">-¥{{ selectedHb.amount }}</text>
+                <text v-if="selectedHb" class="selected-text">-¥{{ selectedHb.amount?parseFloat(selectedHb.amount):0 }}</text>
                 <view v-else class="available-tag">
                     <text>有红包可用</text>
                 </view>
@@ -15,23 +15,21 @@
 			<view class="hb-popup-content">
 				<view class="popup-header">
 					<text>红包</text>
-					<text class="close-btn" @click="closePopup">×</text>
 				</view>
 
 				<scroll-view scroll-y class="popup-scroll">
 					<view class="hb-list">
 						<view class="hb-card" v-for="item in availableHbList" :key="item.id" @click="selectHb(item)">
 							<view class="card-left">
-								<view class="amount"><text class="symbol">¥</text>{{ item.amount }}</view>
+								<view class="amount"><text class="symbol">¥</text>{{ item.amount?parseFloat(item.amount):0 }}</view>
 								<view class="type">{{ item.name }}</view>
 							</view>
 							<view class="card-middle">
 								<view class="name">{{ item.name }}</view>
-								<view class="condition">
-									{{ Number(item.minConsume) > 0 ? `满${item.minConsume}可用` : '无门槛' }}
-								</view>
-								<view class="date" v-if="item.endTime == 4102416000">永久可用</view>
-								<view class="date" v-else>{{ formatTime(item.beginTime) }}-{{ formatTime(item.endTime) }}到期</view>
+								<view class="condition" v-if="Number(item.minConsume) > 0"> 满{{ item.minConsume?parseFloat(item.minConsume):0 }}可用 </view>
+								<view class="condition" v-else> 无门槛 </view>
+								<view class="date" v-if="item.endTime == 4102416000">永久有效</view>
+								<view class="date" v-else>{{ formatTime(item.endTime) }} 到期</view>
 							</view>
 							<view class="card-right">
 								<view class="radio-circle" :class="{ checked: currentSelectedId == item.id }">
@@ -55,9 +53,10 @@
 					</view>
 				</scroll-view>
 
-				<view class="popup-footer">
-					<button class="confirm-btn" @click="confirmSelection">确定</button>
-				</view>
+			<view class="popup-footer">
+				<button class="cancel-btn" @click="cancelSelection">取消</button>
+				<button class="confirm-btn" @click="confirmSelection">确定</button>
+			</view>
 			</view>
 		</uni-popup>
 	</view>
@@ -113,6 +112,7 @@ export default {
 	},
 	methods: {
 		openPopup() {
+			this.$util.hitVoice()
 			this.currentSelectedId = this.value; // Reset to current value when opening
 			this.$refs.popup.open();
 		},
@@ -120,12 +120,17 @@ export default {
 			this.$refs.popup.close();
 		},
 		selectHb(item) {
+			this.$util.hitVoice()
 			this.currentSelectedId = item ? item.id : null;
 		},
 		confirmSelection() {
-			this.$emit('input', this.currentSelectedId); // Update v-model
-            const selectedItem = this.hbData.find(item => item.id == this.currentSelectedId);
-			this.$emit('change', selectedItem || null);
+			this.$util.hitVoice()
+			this.$emit('input', this.currentSelectedId)
+			const selectedItem = this.hbData.find(item => item.id == this.currentSelectedId)
+			this.$emit('change', selectedItem || null)
+			this.closePopup()
+		},
+		cancelSelection() {
 			this.closePopup();
 		},
 		formatTime(timestamp) {
@@ -159,7 +164,7 @@ export default {
 	display: flex;
 	justify-content: flex-end;
 	align-items: center;
-	width: 100%;
+	width: 300upx;
 	height: 30upx;
 }
 .tui-title {
@@ -174,14 +179,14 @@ export default {
 .available-tag {
 	background-color: #F82547;
 	color: #fff;
-	font-size: 10upx;
+	font-size: 12upx;
 	padding: 2upx 10upx;
 	border-radius: 20upx;
 	line-height: 1.6;
 }
 .selected-text {
 	color: #ff2842;
-	font-size: 11upx;
+	font-size: 12upx;
 	font-weight: 600;
 }
 
@@ -192,12 +197,12 @@ export default {
 	display: flex;
 	flex-direction: column;
 	width: 78vw;
-	max-width: 440upx;
-	max-height: 70vh;
+	max-width: 340upx;
+	height: 99vh;
 	overflow: hidden;
 }
 .popup-header {
-	height: 70upx;
+	height: 40upx;
 	display: flex;
 	justify-content: center;
 	align-items: center;
@@ -207,13 +212,6 @@ export default {
 	font-weight: 600;
 	border-radius: 12upx 12upx 0 0;
 }
-.close-btn {
-	position: absolute;
-	right: 1upx;
-	font-size: 28upx;
-	color: #999;
-	padding: 4upx;
-}
 .popup-scroll {
 	flex: 1;
     height: 0; /* Important for flex child scroll */
@@ -221,7 +219,7 @@ export default {
 	box-sizing: border-box;
 }
 .hb-list {
-    padding: 6upx;
+    padding:0 6upx;
 }
 .hb-card {
 	background-color: #fff6f0; /* Light orange bg */
@@ -306,13 +304,25 @@ export default {
 .popup-footer {
 	padding: 10upx 14upx;
 	background-color: #fff;
+	display: flex;
+}
+.cancel-btn {
+	flex: 1;
+	background-color: #e0e0e0;
+	color: #666;
+	border-radius: 20upx;
+	font-size: 22upx;
+	height: 35upx;
+	line-height: 35upx;
+	margin-right: 10upx;
 }
 .confirm-btn {
-	background-color: #ff6600;
+	flex: 1;
+	background-color: #09C567;
 	color: #fff;
 	border-radius: 20upx;
 	font-size: 22upx;
-	height: 60upx;
-	line-height: 60upx;
+	height: 35upx;
+	line-height: 35upx;
 }
 </style>

+ 2 - 12
hdPad/src/pages/home/components/settlePop.vue

@@ -170,15 +170,6 @@
                 </view>
             </view>
 
-            <!--
-            <view class="select-item_box" v-if="$util.isEmpty(groupInfo)">
-                <view class="title">如需保存此组合,请输入名称:</view>
-                <view class="inpup_box">
-                    <view><input type="text" v-model="form.groupName" name="groupName" /></view>     
-                </view>
-            </view>
-            -->
-
         </view>
         <view class="line"></view>
 
@@ -208,9 +199,9 @@
                 <text><text :class="{selected:checkType == 2}">{{form.labourCost}}</text></text>
             </view>
             <view class="input-list" v-if="hasAvailableHb">
-                <text>红包</text>
+                <text style="white-space: nowrap;">红包</text>
                 <!-- 注意:不要用 <text> 包裹组件(小程序端 text 只能嵌套 text),否则 hb-select 不会渲染 -->
-                <view>
+                <view style="flex: 1; display: flex; align-items: center;z-index:900;">
                     <hb-select
                         :hbData="hbData"
                         :totalPrice="preDiscountPrice"
@@ -817,7 +808,6 @@ export default {
             }
         },
         changeHasPay(val){
-            this.$util.hitVoice()
             this.form.hasPay = val
             if(val == 3){
                 //this.changeCheck(3)

+ 46 - 47
mallApp/src/components/hb/hb-select.vue

@@ -3,7 +3,7 @@
 		<!-- Trigger Row -->
         <view class="cell-content" @click="openPopup" v-if="hasAvailableHb">
             <view class="right-content">
-                <text v-if="selectedHb" class="selected-text">-¥{{ selectedHb.amount }}</text>
+                <text v-if="selectedHb" class="selected-text">-¥{{ selectedHb.amount?parseFloat(selectedHb.amount):0 }}</text>
                 <view v-else class="available-tag">
                     <text>有红包可用</text>
                 </view>
@@ -22,15 +22,14 @@
 					<view class="hb-list">
 						<view class="hb-card" v-for="item in availableHbList" :key="item.id" @click="selectHb(item)">
 							<view class="card-left">
-								<view class="amount"><text class="symbol">¥</text>{{ item.amount }}</view>
+								<view class="amount"><text class="symbol">¥</text>{{ item.amount?parseFloat(item.amount):0 }}</view>
 								<view class="type">{{ item.name }}</view>
 							</view>
 							<view class="card-middle">
 								<view class="name">{{ item.name }}</view>
-								<view class="condition">
-									{{ Number(item.minConsume) > 0 ? `满${item.minConsume}可用` : '无门槛' }}
-								</view>
-								<view class="date" v-if="item.endTime == 4102416000">永久可用</view>
+								<view class="condition" v-if="Number(item.minConsume) > 0"> 满{{ item.minConsume?parseFloat(item.minConsume):0 }}可用 </view>
+								<view class="condition" v-else>无门槛</view>
+								<view class="date" v-if="item.endTime == 4102416000">永久有效</view>
 								<view class="date" v-else>{{ formatTime(item.endTime) }} 到期</view>
 							</view>
 							<view class="card-right">
@@ -43,7 +42,7 @@
 						<!-- Option to not use red packet -->
 						<view class="hb-card" @click="selectHb(null)">
 							<view class="card-left" style="border:none;">
-								<text style="font-size: 28rpx; color: #333; font-weight: bold;">不使用红包</text>
+								<text style="font-size: 28upx; color: #333; font-weight: bold;">不使用红包</text>
 							</view>
 							<view class="card-middle"></view>
 							<view class="card-right">
@@ -159,11 +158,11 @@ export default {
 	display: flex;
 	justify-content: space-between;
 	align-items: center;
-	width: 100%;
+	width: 400upx;
 }
 .tui-title {
     width: auto !important; /* Override tui-list-cell default if needed */
-    font-size: 32rpx;
+    font-size: 32upx;
     color: #333;
 }
 .right-content {
@@ -173,70 +172,70 @@ export default {
 .available-tag {
 	background-color: #F82547;
 	color: #fff;
-	font-size: 24rpx;
-	padding: 6rpx 20rpx;
-	border-radius: 30rpx;
+	font-size: 30upx;
+	padding: 10upx 20upx;
+	border-radius: 30upx;
 }
 .selected-text {
 	color: #ff2842;
-	font-size: 32rpx;
+	font-size: 32upx;
 	font-weight: bold;
 }
 
 /* Popup Styles */
 .hb-popup-content {
 	background-color: #f5f5f5;
-	border-radius: 20rpx 20rpx 0 0;
+	border-radius: 20upx 20upx 0 0;
 	padding-bottom: env(safe-area-inset-bottom);
 	display: flex;
 	flex-direction: column;
     height: 70vh; /* Fixed height for popup */
 }
 .popup-header {
-	height: 100rpx;
+	height: 100upx;
 	display: flex;
 	justify-content: center;
 	align-items: center;
 	position: relative;
 	background-color: #fff;
-	font-size: 34rpx;
+	font-size: 34upx;
 	font-weight: bold;
-	border-radius: 20rpx 20rpx 0 0;
+	border-radius: 20upx 20upx 0 0;
 }
 .close-btn {
 	position: absolute;
-	right: 30rpx;
-	font-size: 48rpx;
+	right: 30upx;
+	font-size: 48upx;
 	color: #999;
-	padding: 10rpx;
+	padding: 10upx;
     line-height: 1;
 }
 .popup-scroll {
 	flex: 1;
     height: 0; /* Important for flex child scroll */
-	padding: 20rpx;
+	padding: 20upx;
 	box-sizing: border-box;
 }
 .hb-list {
-    padding: 20rpx;
+    padding: 20upx;
 }
 .hb-card {
 	background-color: #fff6f0; /* Light orange bg */
-	border-radius: 12rpx;
-	margin-bottom: 20rpx;
+	border-radius: 12upx;
+	margin-bottom: 20upx;
 	display: flex;
 	align-items: center;
-	padding: 30rpx 20rpx;
+	padding: 30upx 20upx;
     position: relative;
     border: 1px solid transparent;
 }
 /* Selected border effect if needed, but image shows radio check */
 
 .card-left {
-	width: 160rpx;
+	width: 160upx;
 	text-align: center;
 	border-right: 1px dashed #eecbc0;
-	margin-right: 20rpx;
+	margin-right: 20upx;
 	display: flex;
 	flex-direction: column;
 	justify-content: center;
@@ -244,47 +243,47 @@ export default {
 }
 .amount {
 	color: #ff2842;
-	font-size: 56rpx;
+	font-size: 50upx;
 	font-weight: bold;
 }
 .symbol {
-	font-size: 28rpx;
-    margin-right: 4rpx;
+	font-size: 28upx;
+    margin-right: 4upx;
 }
 .type {
-	font-size: 24rpx;
+	font-size: 24upx;
 	color: #666;
-	margin-top: 4rpx;
+	margin-top: 4upx;
 }
 .card-middle {
 	flex: 1;
 }
 .name {
-	font-size: 30rpx;
+	font-size: 30upx;
 	font-weight: bold;
 	color: #333;
-	margin-bottom: 12rpx;
+	margin-bottom: 12upx;
 }
 .condition {
-	font-size: 24rpx;
+	font-size: 24upx;
 	color: #666;
-	margin-bottom: 8rpx;
+	margin-bottom: 8upx;
 }
 .date {
-	font-size: 22rpx;
+	font-size: 22upx;
 	color: #999;
 }
 .card-right {
-	width: 80rpx;
+	width: 80upx;
 	display: flex;
 	justify-content: center;
 	align-items: center;
 }
 .radio-circle {
-    width: 40rpx;
-    height: 40rpx;
+    width: 40upx;
+    height: 40upx;
     border-radius: 50%;
-    border: 2rpx solid #ccc;
+    border: 2upx solid #ccc;
     display: flex;
     justify-content: center;
     align-items: center;
@@ -297,19 +296,19 @@ export default {
 }
 .icon-check {
     color: #fff;
-    font-size: 24rpx;
+    font-size: 24upx;
 }
 
 .popup-footer {
-	padding: 20rpx 30rpx;
+	padding: 20upx 30upx;
 	background-color: #fff;
 }
 .confirm-btn {
 	background-color: #ff6600;
 	color: #fff;
-	border-radius: 40rpx;
-	font-size: 32rpx;
-	height: 80rpx;
-	line-height: 80rpx;
+	border-radius: 40upx;
+	font-size: 32upx;
+	height: 80upx;
+	line-height: 80upx;
 }
 </style>

+ 2 - 2
mallApp/src/pages/hb/list.vue

@@ -18,10 +18,10 @@
 						<view class="list-det-left">
 							<view class="price-wrap">
 								<span>¥</span>
-								<span class="price">{{ item.amount }}</span>
+								<span class="price">{{ item.amount?parseFloat(item.amount):0 }}</span>
 							</view>
 							<view v-if="item.minConsume == 0" class="full-reduc app-size-28">无门槛</view>
-							<view v-else class="full-reduc app-size-28">满{{ item.minConsume }}可用</view>
+							<view v-else class="full-reduc app-size-28">满{{ item.minConsume?parseFloat(item.minConsume):0 }}可用</view>
 						</view>
 						<view class="list-det-right">
 							<view class="coupon-message">

+ 1 - 5
mallApp/src/pages/home/recent.vue

@@ -45,7 +45,7 @@
               <view v-if="unReadMsgNum > 0" class="message-badge">{{ unReadMsgNum > 9 ? '9+' : unReadMsgNum }}</view>
             </view>
             <view class="function-item" @click="pageTo({ url: '/pages/hb/list' })">
-              <text class="function-text">红包</text>
+              <text class="function-text">我的红包</text>
             </view>
           </view>
 
@@ -612,10 +612,6 @@ page {
       transition: all 0.2s ease;
       box-shadow: 0 2upx 8upx rgba(0, 0, 0, 0.1);
 
-      /* &:active {
-        background: rgba(255, 255, 255, 0.25);
-      } */
-
       .function-text {
         color: #ffffff;
         font-size: 28upx;