Browse Source

Merge branch 'master' into dev

shish 7 months ago
parent
commit
1889b2d8ac

+ 1 - 1
ghsApp/src/admin/billing/affirm.vue

@@ -62,7 +62,7 @@
             </view>
             <view class="summary-bar" v-if="hasFinance==1">
               <view class="operate-view"></view>
-              <view class="describe-view" style="color:#3385ff;font-weight:bold;">
+              <view class="describe-view" style="color:#3385ff;font-weight:bold;font-size:30upx;">
                   <text v-if="showFinance==1" @click="getMyFinance">成本 ¥{{ allCount.avCost }},利润 ¥{{ parseFloat((Number(allPrice)-Number(allCount.avCost)).toFixed(2)) }}</text>
                   <text v-else @click="getMyFinance">查看财务</text>
               </view>

+ 2 - 2
ghsApp/src/manifest.json

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

+ 2 - 2
hdApp/src/admin/billing/affirm.vue

@@ -1249,7 +1249,7 @@ console.log(params)
 
 .time-button {
 	width: calc(25% - 6upx);
-	height: 60upx;
+	height: 80upx;
 	display: flex;
 	align-items: center;
 	justify-content: center;
@@ -1283,7 +1283,7 @@ console.log(params)
 	
 	.footer-button {
 		flex: 1;
-		height: 70upx;
+		height: 93upx;
 		display: flex;
 		align-items: center;
 		justify-content: center;

+ 223 - 218
hdApp/src/admin/billing/affirmGhs.vue

@@ -58,198 +58,159 @@
 				<view class="module-com input-line-wrap">
 
 
-<block v-if="ghsInfo.pfLevel && ghsInfo.pfLevel == 1">
-
-	<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-if="ghsInfo.shopId == 14636">
-		<button class="admin-button-com middle" :class="[form.transType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(2)">冷链物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(3)">航空物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(0)">德邦物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(1)">顺丰物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(4)">同城配送</button>
-		<button class="admin-button-com middle" :class="[form.transType == 5 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;font-size:23upx;"  @click="changeTransType(5)">到店自取</button>
-	</tui-list-cell>
-
-	<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-else-if="ghsInfo.shopId == 3">
-		<button class="admin-button-com middle" :class="[form.transType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(2)">冷链物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(3)">航空物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(0)">德邦物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(1)">顺丰物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(4)">同城配送</button>
-		<button class="admin-button-com middle" :class="[form.transType == 5 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;font-size:23upx;"  @click="changeTransType(5)">到店自取</button>
-	</tui-list-cell>
-
-	<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-else-if="ghsInfo.shopId == 29136">
-		<button class="admin-button-com middle" :class="[form.transType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(0)">德邦物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(1)">顺丰物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(2)">冷链物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(3)">航空物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(4)">同城配送</button>
-		<button class="admin-button-com middle" :class="[form.transType == 5 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;font-size:23upx;"  @click="changeTransType(5)">到店自取</button>
-	</tui-list-cell>
-
-	<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-else>
-		<button class="admin-button-com middle" :class="[form.transType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(4)">同城配送</button>
-		<button class="admin-button-com middle" :class="[form.transType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(0)">德邦物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(1)">顺丰物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(2)">冷链物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(3)">航空物流</button>
-		<button class="admin-button-com middle" :class="[form.transType == 5 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;font-size:23upx;"  @click="changeTransType(5)">到店自取</button>
-	</tui-list-cell>
-
-	<tui-list-cell class="line-cell" :hover="false" :arrow="false">
-	<view>
-		<block v-if="ghsInfo.shopId == 21319">
-			<view>
-				<text style="width:100%;font-weight:bold;color:#3385FF;">所有打包费/运费,客服会一一同大家对接收取。客服微信 hzz252252</text>
-			</view>
-		</block>
-		<block v-else>
-			<view v-if="form.transType == 0 || form.transType == 1">
-				<text style="color:red;width:100%;font-weight:bold;">送货上门</text>
-			</view>
-			<view v-if="form.transType == 2 || form.transType == 3">
-				<text style="color:red;width:100%;font-weight:bold;">提货自理</text>
-			</view>
-			<view v-if="form.transType != 5">
-				<text style="color:#3385FF;width:100%;font-weight:bold;">早班或晚班,指定发物流公司请备注。</text>
-			</view>
-			<view v-if="form.transType != 5">
-				<text v-if="ghsInfo.shopId == 13398" style="color:red;width:100%;font-weight:bold;">本店昆明直发包邮到店,购买数量需要15扎以上,低于15扎请联系当地店长!</text>
-				<text v-else-if="ghsInfo.shopId == 29136" style="color:red;width:100%;font-weight:bold;">运费、打包费请联系客服</text>
-				<text v-else style="color:#3385FF;width:100%;font-weight:bold;">运费预收,根据实际产生物流费用,多退少补。有退款会原路退回。</text>
-			</view>
+					<block v-if="ghsInfo.pfLevel && ghsInfo.pfLevel == 1">
+
+						<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-if="ghsInfo.shopId == 14636">
+							<button class="admin-button-com middle" :class="[form.transType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(2)">冷链物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(3)">航空物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(0)">德邦物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(1)">顺丰物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(4)">同城配送</button>
+							<button class="admin-button-com middle" :class="[form.transType == 5 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;font-size:23upx;"  @click="changeTransType(5)">到店自取</button>
+						</tui-list-cell>
+
+						<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-else-if="ghsInfo.shopId == 3">
+							<button class="admin-button-com middle" :class="[form.transType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(2)">冷链物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(3)">航空物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(0)">德邦物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(1)">顺丰物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(4)">同城配送</button>
+							<button class="admin-button-com middle" :class="[form.transType == 5 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;font-size:23upx;"  @click="changeTransType(5)">到店自取</button>
+						</tui-list-cell>
+
+						<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-else-if="ghsInfo.shopId == 29136">
+							<button class="admin-button-com middle" :class="[form.transType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(0)">德邦物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(1)">顺丰物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(2)">冷链物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(3)">航空物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(4)">同城配送</button>
+							<button class="admin-button-com middle" :class="[form.transType == 5 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;font-size:23upx;"  @click="changeTransType(5)">到店自取</button>
+						</tui-list-cell>
+
+						<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-else>
+							<button class="admin-button-com middle" :class="[form.transType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(4)">同城配送</button>
+							<button class="admin-button-com middle" :class="[form.transType == 0 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(0)">德邦物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;"  @click="changeTransType(1)">顺丰物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(2)">冷链物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;margin-right:11upx;font-size:23upx;" @click="changeTransType(3)">航空物流</button>
+							<button class="admin-button-com middle" :class="[form.transType == 5 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:32upx;font-size:23upx;"  @click="changeTransType(5)">到店自取</button>
+						</tui-list-cell>
+
+						<tui-list-cell class="line-cell" :hover="false" :arrow="false">
+						<view>
+							<block v-if="ghsInfo.shopId == 21319">
+								<view>
+									<text style="width:100%;font-weight:bold;color:#3385FF;">所有打包费/运费,客服会一一同大家对接收取。客服微信 hzz252252</text>
+								</view>
+							</block>
+							<block v-else>
+								<view v-if="form.transType == 0 || form.transType == 1">
+									<text style="color:red;width:100%;font-weight:bold;">送货上门</text>
+								</view>
+								<view v-if="form.transType == 2 || form.transType == 3">
+									<text style="color:red;width:100%;font-weight:bold;">提货自理</text>
+								</view>
+								<view v-if="form.transType != 5">
+									<text style="color:#3385FF;width:100%;font-weight:bold;">早班或晚班,指定发物流公司请备注。</text>
+								</view>
+								<view v-if="form.transType != 5">
+									<text v-if="ghsInfo.shopId == 13398" style="color:red;width:100%;font-weight:bold;">本店昆明直发包邮到店,购买数量需要15扎以上,低于15扎请联系当地店长!</text>
+									<text v-else-if="ghsInfo.shopId == 29136" style="color:red;width:100%;font-weight:bold;">运费、打包费请联系客服</text>
+									<text v-else style="color:#3385FF;width:100%;font-weight:bold;">运费预收,根据实际产生物流费用,多退少补。有退款会原路退回。</text>
+								</view>
 
-		</block>
-	</view>
-	</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>
-		<button class="admin-button-com middle" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;"  @click="changeSendType(1)">自取</button>
-		<template v-if="ghsInfo.shopId != 14248">
-            <view v-if="ghsInfo.openIntraCity==1" style="position:relative;display:inline-block;">
-                <button class="admin-button-com middle" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(2)">跑腿</button>
-            </view>
-            <button v-else class="admin-button-com middle" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(2)">跑腿</button>
-        </template>
-		<button class="admin-button-com middle" :class="[form.sendType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(4)" v-if="ghsInfo.shopId != 14248">快递</button>
-		<button class="admin-button-com middle" :class="[form.sendType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(3)" v-if="ghsInfo.shopId != 14248">物流</button>
-	</tui-list-cell>
-
-	<tui-list-cell class="line-cell" :hover="false" :arrow="false">
-
-		<view v-if="form.sendType == 0">
-			<block v-if="ghsInfo.shopId == 40312">
-				<view style="color:red;width:100%;font-weight:bold;">市区如需配送请拍运费,(左下角运费服务专栏)县城寄货运费可到付</view>
-			</block>
-			<block v-else-if="ghsInfo.shopId == 4608">
-				<view style="color:red;width:100%;font-weight:bold;">满500元,10公里内免费配送</view>
-				<view style="color:red;width:100%;font-weight:bold;">满1000元,20公里内免费配送</view>
-				<view style="color:#3385FF;width:100%;font-weight:bold;">请自行查询距离是否符合要求,符合要求再下单哦!</view>
-			</block>
-			<block v-else>
-				<view><text style="color:#3385FF;">首次下单,请联系客服确认您是否在配送范围</text></view>
-				<text style="color: #3385FF;width:100%;" v-if="ghsInfo.shopId && (ghsInfo.shopId == 520 || ghsInfo.shopId == 1489)">
-					在本店配送范围的,下单满200元免费送货上门
-				</text>
-				<text style="color: #3385FF;width:100%;" v-else>在本店配送范围的,免费送货上门</text>
-
-				<view><text style="color: #3385FF;width:100%;" v-if="ghsInfo.shopId && ghsInfo.shopId == 14248">每天早上8:00(7:00截单)和下午1:00(12:30截单)发车,请提前下单,截单后的订单默认下一趟配送;市区满100元起送,远的地区需满200元起(顺路1扎花也可以送)</text></view>
-				<view><text style="color: #3385FF;width:100%;" v-if="ghsInfo.shopId && ghsInfo.shopId == 14248">其余时间不免费配送,请在规定时间内下单!配送根据线路安排,不支持催单哦,急单可以帮叫车单独送,车费到付</text></view>
-				<view><text style="color: #09733e;width:100%;font-weight:bold;" v-if="ghsInfo.shopId && ghsInfo.shopId == 14248">理赔规则:鲜花是鲜活类产品,一旦送出后无质量问题不退不换;收到货请仔细检查数量和质量,有问题请在6小时内联系客服,超过6小时不再理赔;所有花材10%为正常损耗不售后,超出的部分可以售后,感谢支持。</text></view>
-				<view><text style="color: #09733e;width:100%;font-weight:bold;" v-if="ghsInfo.shopId && ghsInfo.shopId == 14248">基地玫瑰:基地玫瑰有夹支、畸形花头 属于正常,一律不售后。</text></view>
-
-				<view><text style="color:red;font-weight:bold">免费配送仅送货到楼下,不支持送货上楼</text></view>
-				<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 520 || ghsInfo.shopId == 1489)"><text style="color:red;font-weight:bold">免费配送每天23:30发车,其它时间请用跑腿或自取</text></view>
-				<view><text style="color:red;font-weight:bold">不在配送范围的,请勿选送货上门,否则运费自理</text></view>
-				<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 11094 || ghsInfo.shopId == 11318)"><text style="color:red;font-weight:bold">所有彩玫瑰1扎损耗3支内不售后</text></view>
-				<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 21486)"><text style="color:#3385FF;">收到货品后,3个小时之内可以申请售后,要求有图片!鲜花是生鲜产品,3个小时后不提供售后</text></view>
-				<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 21486)"><text style="color:black;font-weight:bold;">寻菊花,玫瑰等单品,常年用量大且稳定的客户合作!有意向的联系客服</text></view>
-				<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 23281)"><text style="color:#3385FF;font-weight:bold">0:00-7:30下单当日配送,7:30-23:59下单次日配送</text></view>
-			</block>
+							</block>
+						</view>
+						</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>
+							<button class="admin-button-com middle" :class="[form.sendType == 1 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;"  @click="changeSendType(1)">自取</button>
+							<template v-if="ghsInfo.shopId != 14248">
+								<view v-if="ghsInfo.openIntraCity==1" style="position:relative;display:inline-block;">
+									<button class="admin-button-com middle" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(2)">跑腿</button>
+								</view>
+								<button v-else class="admin-button-com middle" :class="[form.sendType == 2 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(2)">跑腿</button>
+							</template>
+							<button class="admin-button-com middle" :class="[form.sendType == 4 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(4)" v-if="ghsInfo.shopId != 14248">快递</button>
+							<button class="admin-button-com middle" :class="[form.sendType == 3 ? 'blue' : 'default']" style="width:115upx;height:100upx;line-height:60upx;" @click="changeSendType(3)" v-if="ghsInfo.shopId != 14248">物流</button>
+						</tui-list-cell>
+
+						<tui-list-cell class="line-cell" :hover="false" :arrow="false">
+
+							<view v-if="form.sendType == 0">
+								<block v-if="ghsInfo.shopId == 40312">
+									<view style="color:red;width:100%;font-weight:bold;">市区如需配送请拍运费,(左下角运费服务专栏)县城寄货运费可到付</view>
+								</block>
+								<block v-else-if="ghsInfo.shopId == 4608">
+									<view style="color:red;width:100%;font-weight:bold;">满500元,10公里内免费配送</view>
+									<view style="color:red;width:100%;font-weight:bold;">满1000元,20公里内免费配送</view>
+									<view style="color:#3385FF;width:100%;font-weight:bold;">请自行查询距离是否符合要求,符合要求再下单哦!</view>
+								</block>
+								<block v-else>
+									<view><text style="color:#3385FF;">首次下单,请联系客服确认您是否在配送范围</text></view>
+									<text style="color: #3385FF;width:100%;" v-if="ghsInfo.shopId && (ghsInfo.shopId == 520 || ghsInfo.shopId == 1489)">
+										在本店配送范围的,下单满200元免费送货上门
+									</text>
+									<text style="color: #3385FF;width:100%;" v-else>在本店配送范围的,免费送货上门</text>
+
+									<view><text style="color: #3385FF;width:100%;" v-if="ghsInfo.shopId && ghsInfo.shopId == 14248">每天早上8:00(7:00截单)和下午1:00(12:30截单)发车,请提前下单,截单后的订单默认下一趟配送;市区满100元起送,远的地区需满200元起(顺路1扎花也可以送)</text></view>
+									<view><text style="color: #3385FF;width:100%;" v-if="ghsInfo.shopId && ghsInfo.shopId == 14248">其余时间不免费配送,请在规定时间内下单!配送根据线路安排,不支持催单哦,急单可以帮叫车单独送,车费到付</text></view>
+									<view><text style="color: #09733e;width:100%;font-weight:bold;" v-if="ghsInfo.shopId && ghsInfo.shopId == 14248">理赔规则:鲜花是鲜活类产品,一旦送出后无质量问题不退不换;收到货请仔细检查数量和质量,有问题请在6小时内联系客服,超过6小时不再理赔;所有花材10%为正常损耗不售后,超出的部分可以售后,感谢支持。</text></view>
+									<view><text style="color: #09733e;width:100%;font-weight:bold;" v-if="ghsInfo.shopId && ghsInfo.shopId == 14248">基地玫瑰:基地玫瑰有夹支、畸形花头 属于正常,一律不售后。</text></view>
+
+									<view><text style="color:red;font-weight:bold">免费配送仅送货到楼下,不支持送货上楼</text></view>
+									<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 520 || ghsInfo.shopId == 1489)"><text style="color:red;font-weight:bold">免费配送每天23:30发车,其它时间请用跑腿或自取</text></view>
+									<view><text style="color:red;font-weight:bold">不在配送范围的,请勿选送货上门,否则运费自理</text></view>
+									<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 11094 || ghsInfo.shopId == 11318)"><text style="color:red;font-weight:bold">所有彩玫瑰1扎损耗3支内不售后</text></view>
+									<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 21486)"><text style="color:#3385FF;">收到货品后,3个小时之内可以申请售后,要求有图片!鲜花是生鲜产品,3个小时后不提供售后</text></view>
+									<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 21486)"><text style="color:black;font-weight:bold;">寻菊花,玫瑰等单品,常年用量大且稳定的客户合作!有意向的联系客服</text></view>
+									<view v-if="ghsInfo.shopId && (ghsInfo.shopId == 23281)"><text style="color:#3385FF;font-weight:bold">0:00-7:30下单当日配送,7:30-23:59下单次日配送</text></view>
+								</block>
 
-		</view>
-		<view v-if="form.sendType == 1">
-			<text style="color: #3385FF;width:100%;">到店自取,没有配送费</text>
-		</view>
-		<view v-if="form.sendType == 2">
-			<text v-if="ghsInfo.openIntraCity == 0" style="color: #3385FF;width:100%;font-size:34upx;font-weight:bold;">运费自理或到付(请联系客服)</text>
-			<text v-if="ghsInfo.openIntraCity == 2" style="color: red;width:100%;font-size:34upx;font-weight:bold;">跑腿配送暂不可用,请选其它方式</text>
-			<text v-if="ghsInfo.openIntraCity == 1" style="color: #3385FF;width:100%;">各平台跑腿费</text>
-			<!-- 跑腿平台报价列表 -->
-			<view v-if="ghsInfo.openIntraCity == 1 && deliveryQuotes.length > 0" class="delivery-quotes-container">
-				<view class="delivery-quotes-grid">
-					<view 
-						v-for="(item, index) in deliveryQuotes" 
-						:key="index"
-						class="delivery-quote-item"
-						:class="{ 
-							'active': selectedDeliveryIndex === index, 
-							'disabled': !item.isAble,
-							'fixed-width': deliveryQuotes.length <= 2
-						}"
-						@click="selectDelivery(item, index)"
-					>
-						<view class="platform-name">{{ item.displayName || item.name }}</view>
-						<view class="platform-price">{{ item.priceText }}元</view>
-						<view v-if="item.type" class="platform-type">{{ item.type }}</view>
-					</view>
-				</view>
-			</view>
-			<view v-else-if="ghsInfo.openIntraCity == 1 && deliveryQuotesLoading" style="text-align: center; padding: 20upx 0; color: #999;">
-				正在获取报价...
-			</view>
-		</view>
-		<view v-if="form.sendType == 3">
-			<text style="color: #3385FF;width:100%;">运费到付</text>
-		</view>
-		<view v-if="form.sendType == 4">
-			<text style="color: #3385FF;width:100%;">运费到付</text>
-		</view>
-	</tui-list-cell>
+							</view>
+							<view v-if="form.sendType == 1">
+								<text style="color: #3385FF;width:100%;">到店自取,没有配送费</text>
+							</view>
+							<view v-if="form.sendType == 2">
+								<text v-if="ghsInfo.openIntraCity == 0" style="color: #3385FF;width:100%;font-size:34upx;font-weight:bold;">运费自理或到付(请联系客服)</text>
+								<text v-if="ghsInfo.openIntraCity == 2" style="color: red;width:100%;font-size:34upx;font-weight:bold;">跑腿配送暂不可用,请选其它方式</text>
+							</view>
+							<view v-if="form.sendType == 3">
+								<text style="color: #3385FF;width:100%;">运费到付</text>
+							</view>
+							<view v-if="form.sendType == 4">
+								<text style="color: #3385FF;width:100%;">运费到付</text>
+							</view>
+						</tui-list-cell>
+
+							<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-if="needAddPackCost == true">
+								<view>
+									<text style="color: red;width:100%;">
+									当天订单不满{{lackExpend}}元,加纸箱包装费{{ form.packCost }}元
+									</text>
+								</view>
+							</tui-list-cell>
+
+						<block v-if="$util.isEmpty(wlList)">
+							<tui-list-cell class="line-cell" :hover="false" v-if="form.sendType == 3">
+								<view class="tui-title">配送物流</view>
+								<input type="text" placeholder="请填选物流" v-model="form.wlName" @focus="form.wlName=''" placeholder-class="tui-placeholder"/>
+							</tui-list-cell>
+							</block>
+							<block v-else>
+							<tui-list-cell class="line-cell" :arrow="true" v-if="form.sendType == 3">
+								<div class="tui-title">配送物流</div>
+								<picker mode="selector" :value="form.wlId" :range="wlList" range-key="name" @change="changeWlFn" class="tui-input" >
+									<div v-if="form.wlId">{{ wlSelData.name }}</div>
+									<div class="tui-placeholder" v-else>请选择</div>
+								</picker>
+							</tui-list-cell>
+						</block>
+					</block>
 
-	<tui-list-cell class="line-cell" :hover="false" :arrow="false" v-if="needAddPackCost == true">
-		<view>
-			<text style="color: red;width:100%;">
-			当天订单不满{{lackExpend}}元,加纸箱包装费{{ form.packCost }}元
-			</text>
-		</view>
-	</tui-list-cell>
-
-	<block v-if="$util.isEmpty(wlList)">
-		<tui-list-cell class="line-cell" :hover="false" v-if="form.sendType == 3">
-			<view class="tui-title">配送物流</view>
-			<input type="text" placeholder="请填选物流" v-model="form.wlName" @focus="form.wlName=''" placeholder-class="tui-placeholder"/>
-		</tui-list-cell>
-		</block>
-		<block v-else>
-		<tui-list-cell class="line-cell" :arrow="true" v-if="form.sendType == 3">
-			<div class="tui-title">配送物流</div>
-			<picker mode="selector" :value="form.wlId" :range="wlList" range-key="name" @change="changeWlFn" class="tui-input" >
-				<div v-if="form.wlId">{{ wlSelData.name }}</div>
-				<div class="tui-placeholder" v-else>请选择</div>
-			</picker>
-		</tui-list-cell>
-	</block>
-</block>
-
-			<tui-list-cell class="line-cell" :hover="false" v-if="displaySendCost == true && Number(showDistance)>0">
-				<view class="tui-title">距离</view>
-				<text v-if="showDistance > 100" style="color: #3385FF">{{ (showDistance/1000).toFixed(1) }}公里</text>
-				<text v-else style="color: #3385FF">{{ showDistance }} 米</text>
-			</tui-list-cell>
-			<tui-list-cell class="line-cell" :hover="false" v-if="displaySendCost == true">
-				<view class="tui-title">跑腿费</view>
-				<view>
-					<text :class="isFreeDelivery ? 'delivery-price-free' : 'delivery-price-normal'">¥ {{ form.sendCost }}</text>
-					<text v-if="isFreeDelivery" class="free-delivery-tag">【免跑腿费】</text>
-					<text v-if="showDeliveryPolicy" class="delivery-policy-link" @click="showDeliveryPolicyModal">
-						<text class="iconfont iconchangjianwentixiangguanwenti2 policy-icon"></text>包配送政策
-					</text>
-				</view>
-			</tui-list-cell>
 					<tui-list-cell class="line-cell" :hover="false" :arrow="true" v-if="displayAddress == true" @click="modifyAddress">
 						<view class="tui-title">收花地址</view>
 						<view v-if="!$util.isEmpty(shopInfo.address)">
@@ -261,6 +222,50 @@
 						</view>
 					</tui-list-cell>
 
+					<tui-list-cell class="line-cell" :hover="false" :arrow="false">
+						<view v-if="form.sendType == 2">
+							<!-- 跑腿平台报价列表 -->
+							<view v-if="ghsInfo.openIntraCity == 1 && deliveryQuotes.length > 0" class="delivery-quotes-container">
+								<view class="delivery-quotes-grid">
+									<view 
+										v-for="(item, index) in deliveryQuotes" 
+										:key="index"
+										class="delivery-quote-item"
+										:class="{ 
+											'active': selectedDeliveryIndex === index, 
+											'disabled': !item.isAble,
+											'fixed-width': deliveryQuotes.length <= 2
+										}"
+										@click="selectDelivery(item, index)"
+									>
+										<view class="platform-name">{{ item.displayName || item.name }}</view>
+										<view class="platform-price">{{ item.priceText }}元</view>
+										<view v-if="item.type" class="platform-type">{{ item.type }}</view>
+									</view>
+								</view>
+							</view>
+							<view v-else style="text-align: center; padding: 20upx 0;">
+								<text v-if="validAddress">正在获取运费...</text><text v-else style="color:red;font-weight:bold;font-size:32upx;">上面地址缺失或有问题,请修改</text>
+							</view>
+						</view>
+					</tui-list-cell>
+
+					<tui-list-cell class="line-cell" :hover="false" v-if="displaySendCost == true && Number(showDistance)>0">
+						<view class="tui-title">距离</view>
+						<text v-if="showDistance > 100" style="color: #3385FF">{{ (showDistance/1000).toFixed(1) }}公里</text>
+						<text v-else style="color: #3385FF">{{ showDistance }} 米</text>
+					</tui-list-cell>
+					<tui-list-cell class="line-cell" :hover="false" v-if="displaySendCost == true">
+						<view class="tui-title">跑腿费</view>
+						<view>
+							<text :class="isFreeDelivery ? 'delivery-price-free' : 'delivery-price-normal'">¥ {{ form.sendCost }}</text>
+							<text v-if="isFreeDelivery" class="free-delivery-tag">【免跑腿费】</text>
+							<text v-if="showDeliveryPolicy" class="delivery-policy-link" @click="showDeliveryPolicyModal">
+								免费配送要求
+							</text>
+						</view>
+					</tui-list-cell>
+
 					<tui-list-cell class="line-cell" :hover="false" v-if="needAddPackCost == true">
 					<view class="tui-title">包装费</view>
 					<text style="color: #3385FF">¥{{ form.packCost }}</text>
@@ -409,7 +414,8 @@ export default {
 				lat:'',
 				long:'',
 				fullAddress:'',
-				showAddress:''
+				showAddress:'',
+				address:''
 			},
 			wlList:[],
 			wlSelData: {id:0,name:''},
@@ -419,9 +425,9 @@ export default {
 			showDistance:0,
 			deliveryQuotes: [], // 跑腿平台报价列表
 			selectedDeliveryIndex: -1, // 选中的报价索引
-			deliveryQuotesLoading: false, // 报价加载状态
 			selectedDeliveryData: null, // 选中的报价数据
-			deliveryPolicyList: [] // 包配送政策列表
+			deliveryPolicyList: [], // 包配送政策列表
+			validAddress:false
 		};
 	},
 	onLoad() {
@@ -484,7 +490,11 @@ export default {
 			if(this.displaySendCost == false){
 				return false
 			}
-			
+			//地址有问题时,不展示免费跑腿情况
+			if(this.validAddress == false){
+				return false
+			}
+
 			// 条件1: 比较距离与免费公里数
 			// showDistance单位是米,hcFreeKm单位是千米
 			const distanceInMeters = Number(this.showDistance) || 0
@@ -529,10 +539,10 @@ export default {
 			if (!this.ghsInfo) return false
 			
 			// 检查 hcFreeKm
-			const hasFreeKm = this.ghsInfo.hcFreeKm && Number(this.ghsInfo.hcFreeKm) > 0
+			const hasFreeKm = this.ghsInfo.hcFreeKm ?Number(this.ghsInfo.hcFreeKm):0
 			
 			// 检查 hcMap
-			let hasMap = false
+			let hasPolicy = false
 			let mapData = this.ghsInfo.hcMap
 			if(mapData && typeof mapData == 'string'){
 				try {
@@ -542,10 +552,12 @@ export default {
 				}
 			}
 			if(mapData && Array.isArray(mapData) && mapData.length > 0){
-				hasMap = true
+				hasPolicy = true
 			}
-			
-			return hasFreeKm || hasMap
+			if(hasFreeKm>0){
+				hasPolicy = true
+			}
+			return hasPolicy
 		},
 		/**
 		 * 计算总金额
@@ -694,9 +706,11 @@ export default {
 			if(num == 2){
 				//计算运费
 				//this.calcFreight() //废弃
-				
+
 				if(this.displaySendCost && this.ghsInfo.openIntraCity == 1){
-					this.getDeliveryQuotes()//各跑腿平台报价
+					if(!this.$util.isEmpty(this.shopInfo.lat) && !this.$util.isEmpty(this.shopInfo.long) && !this.$util.isEmpty(this.shopInfo.address)){
+						this.getDeliveryQuotes()//各跑腿平台报价
+					}
 				}
 			} else {
 				// 切换到其他配送方式时清空报价数据
@@ -708,7 +722,6 @@ export default {
 		},
 		// 获取跑腿平台报价
 		getDeliveryQuotes() {
-			this.deliveryQuotesLoading = true
 			this.deliveryQuotes = []
 			this.selectedDeliveryIndex = -1
 			this.selectedDeliveryData = null
@@ -721,7 +734,6 @@ export default {
 				weight: 1, // 固定重量1kg,请后期根据实际需求修改。测试过后,所有平台都能在5kg的重量下,不会产生额外费用。
         		remark: '',
 			}).then(res => {
-				this.deliveryQuotesLoading = false
 				if (res.code === 1 && res.data && res.data.deliveryList) {
 					// 处理报价数据
 					this.deliveryQuotes = res.data.deliveryList
@@ -753,18 +765,10 @@ export default {
 						this.selectDelivery(this.deliveryQuotes[firstAvailableIndex], firstAvailableIndex)
 					}
 				} else {
-					uni.showToast({
-						title: '暂无可用的配送平台',
-						icon: 'none'
-					})
+					uni.showToast({ title: '暂无跑腿可用', icon: 'none' })
 				}
 			}).catch(err => {
-				this.deliveryQuotesLoading = false
-				console.error('获取跑腿报价失败:', err)
-				uni.showToast({
-					title: '获取报价失败',
-					icon: 'none'
-				})
+				uni.showToast({ title: '没有获取到跑腿费用', icon: 'none' })
 			})
 		},
 		// 选择跑腿平台
@@ -875,11 +879,12 @@ export default {
 
 		},
 		getCurrentShop(){
-			let that = this
 			currentShop().then(res=>{
-				let that = this
 				if(res.code == 1){
-					that.shopInfo = res.data
+					this.shopInfo = res.data
+					if(!this.$util.isEmpty(this.shopInfo.lat) && !this.$util.isEmpty(this.shopInfo.long) && !this.$util.isEmpty(this.shopInfo.address)){
+						this.validAddress = true
+					}
 				}
 			})
 		},
@@ -1525,13 +1530,13 @@ export default {
 
 .free-delivery-tag {
 	color: #3385FF;
-	margin-left: 10upx;
+	margin-left: 5upx;
 }
 
 .delivery-policy-link {
 	color: rgb(201, 52, 52);
 	font-size: 28upx;
-	margin-left: 26upx;
+	margin-left: 5upx;
 	text-decoration: underline;
 }
 
@@ -1574,7 +1579,7 @@ export default {
 	margin-left: 40upx;
 }
 .policy-btn {
-	width: 100%;
+	width: 50%;
 	height: 80upx;
 	line-height: 80upx;
 	text-align: center;

+ 334 - 58
hdApp/src/admin/goods/result.vue

@@ -53,18 +53,18 @@
 						<tui-list-cell class="line-cell" :hover="false" :arrow="true">
 							<view class="tui-title" v-if="form.sendType == 1">取花日期</view>
 							<view class="tui-title" v-else>配送日期</view>
-							<picker mode="date" :value="form.reachDate" @change="selTimeFn" class="tui-input">
-								<view v-if="form.reachDate">{{ form.reachDate }}</view>
-								<view v-else>今天</view>
-							</picker>
+							<view class="uni-input" v-if="form.reachDate==''" @click="bindReachDateChange">
+								<view style="width:410upx;font-size:32upx;color:#CCCCCC;">今天</view>
+							</view>
+							<view class="uni-input" @click="bindReachDateChange">
+								<view style="width:410upx;font-size:32upx;">{{form.reachDate}}</view>
+							</view>
 						</tui-list-cell>
 
-						<tui-list-cell class="line-cell" :hover="false" :arrow="false">
+						<tui-list-cell class="line-cell" :hover="false" :arrow="true">
 							<view class="tui-title" v-if="form.sendType == 1">取花时间</view>
 							<view class="tui-title" v-else>配送时间</view>
-							<picker mode="multiSelector" :value="form.reachPeriod" :range="timeOptions" @change="bindTimeChange">
-								<view class="uni-input" style="width:450upx;">{{form.reachPeriod}}<text style="margin-left:10upx;">前</text></view>
-							</picker>
+							<view class="uni-input" style="width:450upx;font-size:32upx;" @click="openTimePopup">{{form.reachPeriod}}</view>
 						</tui-list-cell>
 
 						<tui-list-cell class="line-cell" :hover="false">
@@ -89,56 +89,131 @@
 							<button @click="form.needPrint = 1" class="admin-button-com middle" :class="form.needPrint == 1 ? 'blue' : 'default'" style="margin-left:30upx;">打印</button>
 						</tui-list-cell>
 
-					</view>
-				</form>
-				<view class="button-group">
-					<button class="admin-button-com big default" @click="goBack" style="width:200upx;">取消</button>
-					<button class="admin-button-com big blue" @click="confirmOrder" style="width:200upx;margin-left:50upx;">确认</button>
 				</view>
+			</form>
+			<view class="button-group">
+				<button class="admin-button-com big default" @click="goBack" style="width:200upx;">取消</button>
+				<button class="admin-button-com big blue" @click="confirmOrder" style="width:200upx;margin-left:50upx;">确认</button>
 			</view>
 		</view>
 		</view>
 	</view>
+
+	<!-- 配送时间选择弹框 -->
+	<uni-popup ref="timePopup" type="bottom" background-color="#fff">
+		<view class="time-picker-popup">
+			<view class="popup-header">
+				<text class="popup-title">选择配送时间</text>
+				<text class="popup-close" @click="closeTimePopup">×</text>
+			</view>
+			
+			<view class="time-sections">
+				<!-- 小时选择 -->
+				<view class="time-section">
+					<view class="section-title">小时</view>
+					<view class="hours-wrapper">
+						<scroll-view 
+							scroll-y="true" 
+							class="hours-scroll"
+							enhanced="true"
+							show-scrollbar="true"
+						>
+							<view class="hours-buttons">
+								<button 
+									v-for="(hour, index) in timeOptions[0]" 
+									:key="index"
+									class="time-button" 
+									:class="{ active: selectedHour == hour }"
+									@click="selectedHour = hour"
+								>{{ hour }}</button>
+							</view>
+						</scroll-view>
+					</view>
+				</view>
+				
+				<!-- 分钟选择 -->
+				<view class="time-section">
+					<view class="section-title">分钟</view>
+					<view class="minutes-wrapper">
+						<scroll-view 
+							scroll-y="true" 
+							class="minutes-scroll"
+							enhanced="true"
+							show-scrollbar="true"
+						>
+							<view class="minutes-buttons">
+								<button 
+									v-for="(minute, index) in timeOptions[1]" 
+									:key="index"
+									class="time-button" 
+									:class="{ active: selectedMinute == minute }"
+									@click="selectedMinute = minute"
+								>{{ minute }}</button>
+							</view>
+						</scroll-view>
+					</view>
+				</view>
+			</view>
+			
+			<!-- 操作按钮 -->
+			<view class="popup-footer">
+				<button class="footer-button default" @click="closeTimePopup">取消</button>
+				<button class="footer-button blue" @click="confirmTime">确认</button>
+			</view>
+		</view>
+	</uni-popup>
+
+	<!-- 配送日期选择器蒙板 -->
+	<view v-if="reachDatePickerShow" class="date-picker-mask" @click="reachDatePickerShow = false"></view>
+
+	<mx-date-picker :show="reachDatePickerShow" format="yyyy-mm-dd" type="date" :value="reachDatePickerValue" :show-tips="true" @confirm="confirmReachDatePicker" @cancel="reachDatePickerShow = false" />
+	</view>
 </template>
 <script>
 import TuiListCell from "@/components/plugin/list-cell";
 import { createOrder } from "@/api/order";
 import { mapGetters } from "vuex";
+import MxDatePicker from '@/components/mx-datepicker/mx-datepicker.vue';
 
 export default {
 	name: "result",
 	components: {
-		TuiListCell
-	},
-	data() {
-		return {
-			form: {
-				hasPay: 4,
-				payWay: 0,
-				num: 1,
-				sendType: 0,
-				reachDate: '',
-				reachPeriod: "12:00",
-				remark: '',
-				needWork:1,
-        		needPrint:2
-			},
-			goodsPrice: '',
-			payWayindex: 0,
-			payWayList: [
-				{name: "线下微信", id: 0},
-				{name: "线下支付宝", id: 1},
-				{name: "现金", id: 4},
-				{name: "银行卡", id: 5}
-			],
-			timeOptions: [
-				['00', '01', '02','03','04','05','06','07','08','09','10','11','12','13', '14','15','16','17','18','19','20','21','22','23'],
-				['00', '05', '10','15','20','25','30','35','40','45','50','55']
-			],
-			goodsName:'',
-			goodsId:0
-		};
+		TuiListCell,
+		MxDatePicker
 	},
+		data() {
+			return {
+				form: {
+					hasPay: 4,
+					payWay: 0,
+					num: 1,
+					sendType: 0,
+					reachDate: '',
+					reachPeriod: "12:00",
+					remark: '',
+					needWork:1,
+					needPrint:2
+				},
+				goodsPrice: '',
+				payWayindex: 0,
+				payWayList: [
+					{name: "线下微信", id: 0},
+					{name: "线下支付宝", id: 1},
+					{name: "现金", id: 4},
+					{name: "银行卡", id: 5}
+				],
+				timeOptions: [
+					['00', '01', '02','03','04','05','06','07','08','09','10','11','12','13', '14','15','16','17','18','19','20','21','22','23'],
+					['00', '05', '10','15','20','25','30','35','40','45','50','55']
+				],
+				goodsName:'',
+				goodsId:0,
+				selectedHour: '12', // 选中的小时
+				selectedMinute: '00', // 选中的分钟
+				reachDatePickerShow: false,
+				reachDatePickerValue: ''
+			};
+		},
 	computed: {
 		...mapGetters(["getLoginInfo", "getMyShopInfo"]),
 		orderTotalPrice() {
@@ -172,7 +247,8 @@ export default {
 				this.$msg('请设置快捷开单的客户')
 				return false
 			}
-      		let params = {...this.form,modifyPrice: this.orderTotalPrice,version:3,orderType:1,product:json,customId:customId};
+			//dealPrice=1 表示花束卖的价跟原价不一致,也要强制提交
+      		let params = {...this.form,modifyPrice: this.orderTotalPrice,version:3,orderType:1,product:json,customId:customId,dealPrice:1};
 
 			this.$util.confirmModal({content:'确认提交'},() => {        
 				uni.showLoading({mask:true})
@@ -197,12 +273,36 @@ export default {
 		selTimeFn(e) {
 			this.form.reachDate = e.detail.value;
 		},
+		bindReachDateChange(){
+			this.reachDatePickerShow = true
+			this.reachDatePickerValue = this.form.reachDate
+		},
+		confirmReachDatePicker(e) {
+			this.form.reachDate = e.value
+			this.reachDatePickerShow = false
+		},
 		bindTimeChange(event) {
 			let val = event.detail.value;
 			let before = Number(val[0]);
 			let after = Number(val[1]);
 			let timeOptions = this.timeOptions;
 			this.form.reachPeriod = timeOptions[0][before]+':'+timeOptions[1][after];
+		},
+		openTimePopup() {
+			// 初始化为当前选中的时间
+			const [hour, minute] = this.form.reachPeriod.split(':')
+			this.selectedHour = hour
+			this.selectedMinute = minute
+			this.$refs.timePopup.open()
+		},
+		// 关闭时间选择弹框
+		closeTimePopup() {
+			this.$refs.timePopup.close()
+		},
+		// 确认时间选择
+		confirmTime() {
+			this.form.reachPeriod = `${this.selectedHour}:${this.selectedMinute}`
+			this.closeTimePopup()
 		}
 	}
 };
@@ -248,31 +348,207 @@ export default {
 				.tui-title {
 					width: 210upx;
 					color: $fontColor2;
-					&.required::before {
-						content: '*';
-						color: #ff0000;
-						margin-right: 4upx;
-					}
 				}
 				.tui-input {
 					width: calc(100% - 210upx);
 					font-size: 28upx;
 				}
-				.tui-placeholder {
-					color: #ccc;
-				}
 				.phcolor {
 					color: #ccc;
 				}
 			}
+			.button-group {
+				display: flex;
+				justify-content: center;
+				align-items: center;
+				margin-top: 40upx;
+				padding: 0 30upx;
+			}
+		}
+	}
+}
+
+/* 时间选择弹窗样式 */
+.time-picker-popup {
+	width: 100%;
+	background: #fff;
+	border-radius: 20upx 20upx 0 0;
+	display: flex;
+	flex-direction: column;
+	max-height: 94vh;
+	padding: 0 0 120upx 0;
+}
+
+.popup-header {
+	display: flex;
+	justify-content: space-between;
+	align-items: center;
+	margin-bottom: 0;
+	padding: 30upx 20upx 20upx 20upx;
+	border-bottom: 2upx solid #f0f2f6;
+	flex-shrink: 0;
+}
+
+.popup-title {
+	font-size: 36upx;
+	color: #333;
+	font-weight: bold;
+}
+
+.popup-close {
+	font-size: 48upx;
+	color: #999;
+	line-height: 1;
+	cursor: pointer;
+}
+
+.time-sections {
+	display: flex;
+	flex-direction: column;
+	gap: 20upx;
+	margin-bottom: 0;
+	flex: 1;
+	padding: 20upx 20upx 0 20upx;
+	overflow: hidden;
+}
+
+.time-section {
+	flex: 1;
+	display: flex;
+	flex-direction: column;
+	min-height: 200upx;
+	
+	.section-title {
+		font-size: 28upx;
+		color: #333;
+		font-weight: 600;
+		margin-bottom: 12upx;
+		text-align: left;
+	}
+}
+
+.hours-wrapper {
+	width: 100%;
+	flex: 1;
+	background: #f8f9fa;
+	border: 2upx solid #e9ecef;
+	border-radius: 8upx;
+	position: relative;
+	overflow: hidden;
+	display: flex;
+	flex-direction: column;
+	min-height: 150upx;
+}
+
+.minutes-wrapper {
+	width: 100%;
+	flex: 1;
+	background: #f8f9fa;
+	border: 2upx solid #e9ecef;
+	border-radius: 8upx;
+	position: relative;
+	overflow: hidden;
+	display: flex;
+	flex-direction: column;
+	min-height: 150upx;
+}
+
+.hours-scroll,
+.minutes-scroll {
+	width: 100%;
+	height: 100%;
+	padding: 8upx;
+	box-sizing: border-box;
+}
+
+.hours-buttons,
+.minutes-buttons {
+	display: flex;
+	flex-wrap: wrap;
+	gap: 8upx;
+	justify-content: flex-start;
+}
+
+.time-button {
+	width: calc(25% - 6upx);
+	height: 80upx;
+	display: flex;
+	align-items: center;
+	justify-content: center;
+	background: #ffffff;
+	border: 2upx solid #e9ecef;
+	border-radius: 6upx;
+	font-size: 26upx;
+	color: #666;
+	box-sizing: border-box;
+	transition: all 0.2s;
+	flex-shrink: 0;
+	
+	&.active {
+		background: #3385FF;
+		border-color: #3385FF;
+		color: #fff;
+		font-weight: 500;
+	}
+	
+	&:active {
+		background: #e8f5ff;
+	}
+}
+
+.popup-footer {
+	display: flex;
+	gap: 12upx;
+	padding: 15upx 20upx 20upx 20upx;
+	border-top: 2upx solid #f0f2f6;
+	flex-shrink: 0;
+	
+	.footer-button {
+		flex: 1;
+		height: 93upx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		border: none;
+		border-radius: 8upx;
+		font-size: 28upx;
+		font-weight: 500;
+		transition: all 0.2s;
+		
+		&.default {
+			background: #f5f5f5;
+			color: #666;
 		}
-		.button-group {
-			display: flex;
-			justify-content: center;
-			align-items: center;
-			margin-top: 40upx;
-			padding: 0 30upx;
+		
+		&.blue {
+			background: #3385FF;
+			color: #fff;
 		}
+		
+		&:active {
+			opacity: 0.8;
+		}
+	}
+}
+
+/* 日期选择器蒙板 */
+.date-picker-mask {
+	position: fixed;
+	top: 0;
+	left: 0;
+	right: 0;
+	bottom: 0;
+	background-color: rgba(0, 0, 0, 0.5);
+	z-index: 98;
+	animation: fadeIn 0.3s ease-in-out;
+}
+
+@keyframes fadeIn {
+	from {
+		opacity: 0;
+	}
+	to {
+		opacity: 1;
 	}
 }
 </style>

+ 1 - 1
hdApp/src/admin/home/order.vue

@@ -389,7 +389,7 @@ export default {
     },
     sendOrderFn(item){
       let that = this
-      that.$util.confirmModal({content:'自配送?'},() => {
+      that.$util.confirmModal({content:'确认自配送?'},() => {
         sendOrder({id:item.id}).then(res=>{
           if(res.code == 1){
             that.$msg('操作成功')

+ 1 - 1
hdApp/src/admin/home/workbench.vue

@@ -569,7 +569,7 @@ import { changeDelStatus,hasMoreGhs } from "@/api/ghs";
 import {currentShop, uploadShopAvatar} from "@/api/shop";
 import { clearLogin,hasNotice } from "@/api/admin";
 import { unReadMsgCount } from "@/api/chat";
-import { APIHOST } from "@/config";
+import { APIHOST,CURRENT_ENV } from "@/config";
 export default {
   name: "workbench",
   mixins: [autoUpdateMixins],

+ 303 - 11
hdApp/src/admin/order/components/app-delivery-modify.vue

@@ -14,18 +14,18 @@
           <tui-list-cell class="line-cell" :hover="false" :arrow="true">
             <view class="tui-title" v-if="form.sendType == 1">取花日期</view>
             <view class="tui-title" v-else>配送日期</view>
-            <picker mode="date" :value="form.reachDate" @change="selTimeFn" class="tui-input">
-              <view v-if="form.reachDate">{{ form.reachDate }}</view>
-              <view v-else>今天</view>
-            </picker>
+            <view class="uni-input" v-if="form.reachDate==''" @click="bindReachDateChange">
+              <view style="width:410upx;font-size:32upx;color:#CCCCCC;">今天</view>
+            </view>
+            <view class="uni-input" @click="bindReachDateChange">
+              <view style="width:410upx;font-size:32upx;">{{form.reachDate}}</view>
+            </view>
           </tui-list-cell>
 
-          <tui-list-cell class="line-cell" :hover="false" :arrow="false">
+          <tui-list-cell class="line-cell" :hover="false" :arrow="true">
             <view class="tui-title" v-if="form.sendType == 1">取花时间</view>
             <view class="tui-title" v-else>配送时间</view>
-            <picker mode="multiSelector" :value="form.reachPeriod" :range="timeOptions" @change="bindTimeChange">
-              <view class="uni-input" style="width:450upx;">{{form.reachPeriod}}<text style="margin-left:10upx;">前</text></view>
-            </picker>
+            <view class="uni-input" style="width:450upx;font-size:32upx;" @click="openTimePopup">{{form.reachPeriod}}</view>
           </tui-list-cell>
       </template>
 
@@ -101,7 +101,76 @@
     <!-- 省市联动 -->
     <simple-address ref="simpleAddress" :region="regionTree" :pickerValueDefault="cityPickerValueDefault" @onConfirm="getCityConfirm" ></simple-address>
     <!-- 选择地区 -->
-		<app-area-sel :show.sync="showRegion" :city="form.city" @change="changeAreaFn" />
+	<app-area-sel :show.sync="showRegion" :city="form.city" @change="changeAreaFn" />
+
+    <!-- 配送日期选择器蒙板 -->
+    <view v-if="reachDatePickerShow" class="date-picker-mask" @click="reachDatePickerShow = false"></view>
+
+    <mx-date-picker :show="reachDatePickerShow" format="yyyy-mm-dd" type="date" :value="reachDatePickerValue" :show-tips="true" @confirm="confirmReachDatePicker" @cancel="reachDatePickerShow = false" />
+
+    <!-- 配送时间选择弹框 -->
+    <uni-popup ref="timePopup" type="bottom" background-color="#fff">
+      <view class="time-picker-popup">
+        <view class="popup-header">
+          <text class="popup-title">选择配送时间</text>
+          <text class="popup-close" @click="closeTimePopup">×</text>
+        </view>
+        
+        <view class="time-sections">
+          <!-- 小时选择 -->
+          <view class="time-section">
+            <view class="section-title">小时</view>
+            <view class="hours-wrapper">
+              <scroll-view 
+                scroll-y="true" 
+                class="hours-scroll"
+                enhanced="true"
+                show-scrollbar="true"
+              >
+                <view class="hours-buttons">
+                  <button 
+                    v-for="(hour, index) in timeOptions[0]" 
+                    :key="index"
+                    class="time-button" 
+                    :class="{ active: selectedHour == hour }"
+                    @click="selectedHour = hour"
+                  >{{ hour }}</button>
+                </view>
+              </scroll-view>
+            </view>
+          </view>
+          
+          <!-- 分钟选择 -->
+          <view class="time-section">
+            <view class="section-title">分钟</view>
+            <view class="minutes-wrapper">
+              <scroll-view 
+                scroll-y="true" 
+                class="minutes-scroll"
+                enhanced="true"
+                show-scrollbar="true"
+              >
+                <view class="minutes-buttons">
+                  <button 
+                    v-for="(minute, index) in timeOptions[1]" 
+                    :key="index"
+                    class="time-button" 
+                    :class="{ active: selectedMinute == minute }"
+                    @click="selectedMinute = minute"
+                  >{{ minute }}</button>
+                </view>
+              </scroll-view>
+            </view>
+          </view>
+        </view>
+        
+        <!-- 操作按钮 -->
+        <view class="popup-footer">
+          <button class="footer-button default" @click="closeTimePopup">取消</button>
+          <button class="footer-button blue" @click="confirmTime">确认</button>
+        </view>
+      </view>
+    </uni-popup>
   </view>
 </template>
 
@@ -111,6 +180,7 @@ import AppDatePicker from "@/components/app-date-picker";
 import SimpleAddress from "@/components/plugin/simple-address";
 import AppAreaSel from "@/components/app-area-sel";
 import AppBindInfo from "@/components/app-bind-info";
+import MxDatePicker from '@/components/mx-datepicker/mx-datepicker.vue';
 import {getShop} from "@/api/common"
 import {getRegion} from "@/api/shop"
 export default {
@@ -120,7 +190,8 @@ export default {
     TuiListCell,
     AppDatePicker,
     SimpleAddress,
-    AppBindInfo
+    AppBindInfo,
+    MxDatePicker
   },
 	props: {
 		info: {
@@ -163,7 +234,11 @@ export default {
       timeOptions: [
         ['00', '01', '02','03','04','05','06','07','08','09','10','11','12','13', '14','15','16','17','18','19','20','21','22','23'],
         ['00', '05', '10','15','20','25','30','35','40','45','50','55']
-      ]
+      ],
+      selectedHour: '12', // 选中的小时
+      selectedMinute: '00', // 选中的分钟
+      reachDatePickerShow: false,
+      reachDatePickerValue: ''
     };
   },
   mounted() {
@@ -264,6 +339,30 @@ export default {
 			const cityIndex = districtStr.indexOf('市');
 			this.form.dist = cityIndex !== -1 ? districtStr.substring(cityIndex + 1) : districtStr;
 		},
+    bindReachDateChange(){
+			this.reachDatePickerShow = true
+			this.reachDatePickerValue = this.form.reachDate
+		},
+		confirmReachDatePicker(e) {
+			this.form.reachDate = e.value
+			this.reachDatePickerShow = false
+		},
+    openTimePopup() {
+      // 初始化为当前选中的时间
+      const [hour, minute] = this.form.reachPeriod.split(':')
+      this.selectedHour = hour
+      this.selectedMinute = minute
+      this.$refs.timePopup.open()
+    },
+    // 关闭时间选择弹框
+    closeTimePopup() {
+      this.$refs.timePopup.close()
+    },
+    // 确认时间选择
+    confirmTime() {
+      this.form.reachPeriod = `${this.selectedHour}:${this.selectedMinute}`
+      this.closeTimePopup()
+    }
   }
 };
 </script>
@@ -330,5 +429,198 @@ export default {
       color: $fontColor2;
     }
   }
+
+  /* 时间选择弹窗样式 */
+  .time-picker-popup {
+    width: 100%;
+    background: #fff;
+    border-radius: 20upx 20upx 0 0;
+    display: flex;
+    flex-direction: column;
+    max-height: 94vh;
+    padding: 0 0 120upx 0;
+  }
+
+  .popup-header {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-bottom: 0;
+    padding: 30upx 20upx 20upx 20upx;
+    border-bottom: 2upx solid #f0f2f6;
+    flex-shrink: 0;
+  }
+
+  .popup-title {
+    font-size: 36upx;
+    color: #333;
+    font-weight: bold;
+  }
+
+  .popup-close {
+    font-size: 48upx;
+    color: #999;
+    line-height: 1;
+    cursor: pointer;
+  }
+
+  .time-sections {
+    display: flex;
+    flex-direction: column;
+    gap: 20upx;
+    margin-bottom: 0;
+    flex: 1;
+    padding: 20upx 20upx 0 20upx;
+    overflow: hidden;
+  }
+
+  .time-section {
+    flex: 1;
+    display: flex;
+    flex-direction: column;
+    min-height: 200upx;
+    
+    .section-title {
+      font-size: 28upx;
+      color: #333;
+      font-weight: 600;
+      margin-bottom: 12upx;
+      text-align: left;
+    }
+  }
+
+  .hours-wrapper {
+    width: 100%;
+    flex: 1;
+    background: #f8f9fa;
+    border: 2upx solid #e9ecef;
+    border-radius: 8upx;
+    position: relative;
+    overflow: hidden;
+    display: flex;
+    flex-direction: column;
+    min-height: 150upx;
+  }
+
+  .minutes-wrapper {
+    width: 100%;
+    flex: 1;
+    background: #f8f9fa;
+    border: 2upx solid #e9ecef;
+    border-radius: 8upx;
+    position: relative;
+    overflow: hidden;
+    display: flex;
+    flex-direction: column;
+    min-height: 150upx;
+  }
+
+  .hours-scroll,
+  .minutes-scroll {
+    width: 100%;
+    height: 100%;
+    padding: 8upx;
+    box-sizing: border-box;
+  }
+
+  .hours-buttons,
+  .minutes-buttons {
+    display: flex;
+    flex-wrap: wrap;
+    gap: 8upx;
+    justify-content: flex-start;
+  }
+
+  .time-button {
+    width: calc(25% - 6upx);
+    height: 80upx;
+    display: flex;
+    align-items: center;
+    justify-content: center;
+    background: #ffffff;
+    border: 2upx solid #e9ecef;
+    border-radius: 6upx;
+    font-size: 26upx;
+    color: #666;
+    box-sizing: border-box;
+    transition: all 0.2s;
+    flex-shrink: 0;
+    
+    &.active {
+      background: #3385FF;
+      border-color: #3385FF;
+      color: #fff;
+      font-weight: 500;
+    }
+    
+    &:active {
+      background: #e8f5ff;
+    }
+  }
+
+  .popup-footer {
+    display: flex;
+    gap: 12upx;
+    padding: 15upx 20upx 20upx 20upx;
+    border-top: 2upx solid #f0f2f6;
+    flex-shrink: 0;
+    
+    .footer-button {
+      flex: 1;
+      height: 93upx;
+      display: flex;
+      align-items: center;
+      justify-content: center;
+      border: none;
+      border-radius: 8upx;
+      font-size: 28upx;
+      font-weight: 500;
+      transition: all 0.2s;
+      
+      &.default {
+        background: #f5f5f5;
+        color: #666;
+      }
+      
+      &.blue {
+        background: #3385FF;
+        color: #fff;
+      }
+      
+      &:active {
+        opacity: 0.8;
+      }
+    }
+  }
+
+  /* 日期选择器蒙板 */
+  .date-picker-mask {
+    position: fixed;
+    top: 0;
+    left: 0;
+    right: 0;
+    bottom: 0;
+    background-color: rgba(0, 0, 0, 0.5);
+    z-index: 99;
+    animation: fadeIn 0.3s ease-in-out;
+  }
+
+  @keyframes fadeIn {
+    from {
+      opacity: 0;
+    }
+    to {
+      opacity: 1;
+    }
+  }
+
+  @keyframes fadeOut {
+    from {
+      opacity: 1;
+    }
+    to {
+      opacity: 0;
+    }
+  }
 }
 </style>

+ 2 - 2
hdApp/src/manifest.json

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

+ 3 - 1
hdApp/src/pagesPurchase/gatherResult.vue

@@ -12,13 +12,15 @@
 
       <!-- #ifdef MP-WEIXIN -->
       <view style="width:690upx;height:25upx;background-color: #f5f5f5;"></view>
-      <ad-custom unit-id="adunit-b3f48f1b6c1a39ff"></ad-custom>
+      <ad-custom unit-id="adunit-b3f48f1b6c1a39ff" v-if="CURRENT_ENV=='production'"></ad-custom>
+      <ad-custom unit-id="adunit-bb3f5872f1a5d549" v-else></ad-custom>
       <!-- #endif -->
 
     </view>
   </view>
 </template>
 <script>
+import { CURRENT_ENV } from "@/config";
 export default {
   name: "AppResult",
 	data() {

+ 3 - 1
hdApp/src/pagesPurchase/particulars.vue

@@ -17,7 +17,8 @@
       </view>
       <!-- #ifdef MP-WEIXIN -->
       <view style="width:690upx;height:25upx;background-color: #f5f5f5;"></view>
-      <ad-custom unit-id="adunit-b3f48f1b6c1a39ff"></ad-custom>
+      <ad-custom unit-id="adunit-b3f48f1b6c1a39ff" v-if="CURRENT_ENV=='production'"></ad-custom>
+      <ad-custom unit-id="adunit-bb3f5872f1a5d549" v-else></ad-custom>
       <!-- #endif -->
     </view>
   </view>
@@ -26,6 +27,7 @@
 import { getCgItemInfo } from "@/api/purchase";
 import { batchChangePrice } from '@/api/product';
 import { mapGetters } from "vuex";
+import { CURRENT_ENV } from "@/config";
 export default {
   name: "AppResult",
   data() {

+ 9 - 0
hdApp/src/pagesPurchase/purDetails.vue

@@ -304,7 +304,15 @@
         </div>
       </view>
 
+      <!-- #ifdef MP-WEIXIN -->
+      <view style="padding-bottom:20upx;">
+      <ad-custom unit-id="adunit-22b6fe92acad433e" v-if="CURRENT_ENV=='production'" style="margin:0 auto;"></ad-custom>
+      <ad-custom unit-id="adunit-13c9d1954d809a16" v-else style="margin:0 auto;"></ad-custom>
+      </view>
+      <!-- #endif -->
+
     </view>
+
     <view class="app-footer open_btn">
 
 
@@ -344,6 +352,7 @@ import { getCgExpressTrack } from "@/api/express"
 import { purchaseDetail, purchaseDebtPay,purchaseClearCreateOrder,confirmTake,cancelOrder } from "@/api/purchase";
 import TuiListCell from "@/components/plugin/list-cell";
 import { getGhsDataApi } from "@/api/ghs";
+import { CURRENT_ENV } from "@/config";
 export default {
   name: "purDetails",
   components: {

+ 3 - 1
hdApp/src/pagesPurchase/refundResult.vue

@@ -7,7 +7,8 @@
       <!-- #ifdef MP-WEIXIN -->
       <view style="width:690upx;height:25upx;background-color: #f5f5f5;"></view>
 	  <view style="width:690upx;">
-      	<ad-custom unit-id="adunit-b3f48f1b6c1a39ff"></ad-custom>
+      	<ad-custom unit-id="adunit-b3f48f1b6c1a39ff" v-if="CURRENT_ENV=='production'"></ad-custom>
+		<ad-custom unit-id="adunit-bb3f5872f1a5d549" v-else></ad-custom>
 	  </view>
       <!-- #endif -->
 
@@ -16,6 +17,7 @@
 </template>
 <script>
 import appResult from "@/components/app-result";
+import { CURRENT_ENV } from "@/config";
 export default {
 	name: "refundResult",
 	components: {

+ 4 - 4
mallApp/src/components/module/app-search.vue

@@ -1,16 +1,16 @@
 <template>
-	<div class="app-search-module" :style="{height: height + 'upx'}">
+	<div class="app-search-module" :style="{height: height + 'rpx'}">
 		<div class="map-search" :style="{backgroundColor: backColor}">
 			<div class="icon-wrap" v-if="isIcon">
 				<i class="iconfont" :class="[icon]" style="font-size:38upx;"></i>
 			</div>
 			<div class="input-wrap">
-				<input type="text" ref="searchInput" v-model="search" :focus="focus" @input="inputFn" :style="{fontSize: fontSize + 'upx'}" :placeholder="placeholder" placeholder-class="placeholder" />
+				<input type="text" ref="searchInput" v-model="search" :focus="focus" @input="inputFn" :style="{fontSize: fontSize + 'rpx'}" :placeholder="placeholder" placeholder-class="placeholder" />
 			</div>
 		</div>
 		<block v-if="isBtn">
-			<button v-if="isTextBtn" class="search-btn" :style="{fontSize: fontSize + 'upx'}" @click="searchFn">{{ btnText }}</button>
-			<button v-else class="search-btn admin-button-com middle blue" :style="{fontSize: fontSize + 'upx'}" @click="searchFn">{{ btnText }}</button>
+			<button v-if="isTextBtn" class="search-btn" :style="{fontSize: fontSize + 'rpx'}" @click="searchFn">{{ btnText }}</button>
+			<button v-else class="search-btn admin-button-com middle blue" :style="{fontSize: fontSize + 'rpx'}" @click="searchFn">{{ btnText }}</button>
 		</block>
 	</div>
 </template>

+ 67 - 110
mallApp/src/pages/billing/affirmGhs.vue

@@ -69,38 +69,52 @@
 							</text>
 							<text v-else style="color: #3385FF;width:100%;">到店取货,没有配送费</text>
 						</view>
-						<view v-if="form.sendType == 2">
-							<view v-if="form.openIntraCity == 0">
-								<text style="color: #3385FF;width:100%;font-size:32upx;font-weight:bold;">运费自理或到付(请联系客服)</text>
-							</view>
-							<view v-if="form.openIntraCity == 2">
-								<text style="color: red;width:100%;font-size:32upx;font-weight:bold;">跑腿配送暂不可用,请选其它方式</text>
-							</view>
-							<!-- 跑腿平台报价列表 -->
-							<view v-if="form.openIntraCity == 1 && deliveryQuotes.length > 0" class="delivery-quotes-container">
-								<view class="delivery-quotes-grid">
-									<view 
-										v-for="(item, index) in deliveryQuotes" 
-										:key="index"
-										class="delivery-quote-item"
-										:class="{ 
-											'active': selectedDeliveryIndex === index, 
-											'disabled': !item.isAble,
-											'fixed-width': deliveryQuotes.length <= 2
-										}"
-										@click="selectDelivery(item, index)"
-									>
-										<view class="platform-name">{{ item.displayName || item.name }}</view>
-										<view class="platform-price">{{ item.priceText }}元</view>
-										<view v-if="item.type" class="platform-type">{{ item.type }}</view>
+					</tui-list-cell>
+					<tui-list-cell class="line-cell" :hover="false" :arrow="true" v-if="form.sendType == 2 || form.sendType == 0" @click="modifyAddress">
+						<view class="tui-title">收花地址</view>
+						<view v-if="!$util.isEmpty(userInfo.lat) && !$util.isEmpty(userInfo.long)">
+							<view><text>{{userInfo.address}}</text></view>
+							<view v-if="userInfo.showAddress!=userInfo.fullAddress" style="color:#848181;"><text>{{userInfo.showAddress}}</text></view>
+						</view>
+						<view v-else>
+							<view><text style="color:#CCCCCC;">请填写地址</text></view>
+						</view>
+					</tui-list-cell>
+					<block v-if="form.sendType == 2">
+						<tui-list-cell class="line-cell" :hover="false" :arrow="false">
+							<view>
+								<view v-if="form.openIntraCity == 0">
+									<text style="color: #3385FF;width:100%;font-size:32upx;font-weight:bold;">运费自理或到付(请联系客服)</text>
+								</view>
+								<view v-if="form.openIntraCity == 2">
+									<text style="color: red;width:100%;font-size:32upx;font-weight:bold;">跑腿配送暂不可用,请选其它方式</text>
+								</view>
+								<!-- 跑腿平台报价列表 -->
+								<view v-if="form.openIntraCity == 1 && deliveryQuotes.length > 0" class="delivery-quotes-container">
+									<view class="delivery-quotes-grid">
+										<view 
+											v-for="(item, index) in deliveryQuotes" 
+											:key="index"
+											class="delivery-quote-item"
+											:class="{ 
+												'active': selectedDeliveryIndex === index, 
+												'disabled': !item.isAble,
+												'fixed-width': deliveryQuotes.length <= 2
+											}"
+											@click="selectDelivery(item, index)"
+										>
+											<view class="platform-name">{{ item.displayName || item.name }}</view>
+											<view class="platform-price">{{ item.priceText }}元</view>
+											<view v-if="item.type" class="platform-type">{{ item.type }}</view>
+										</view>
 									</view>
 								</view>
+								<view v-else style="text-align: center; padding: 20upx 0;">
+									<text v-if="validAddress">正在获取运费...</text><text v-else style="color:red;font-weight:bold;font-size:32upx;">上面地址缺失或有问题,请修改</text>
+								</view>
 							</view>
-							<view v-else-if="form.openIntraCity == 1 && deliveryQuotesLoading" style="text-align: center; padding: 20upx 0; color: #999;">
-								正在获取报价...
-							</view>
-						</view>
-					</tui-list-cell>
+						</tui-list-cell>
+					</block>
 					<block v-if="form.openIntraCity == 1">
 						<tui-list-cell class="line-cell" :hover="false" v-if="displaySendCost == true && Number(showDistance)>0">
 							<view class="tui-title">距离</view>
@@ -113,21 +127,11 @@
 								<text :class="isFreeDelivery ? 'delivery-price-free' : 'delivery-price-normal'">¥ {{ form.sendCost }}</text>
 								<text v-if="isFreeDelivery" class="free-delivery-tag">【免跑腿费】</text>
 								<text v-if="showDeliveryPolicy" class="delivery-policy-link" @click="showDeliveryPolicyModal">
-									<text class="iconfont iconchangjianwentixiangguanwenti2 policy-icon"></text>包配送政策
+									免费配送要求
 								</text>
 							</view>
 						</tui-list-cell>
 					</block>
-					<tui-list-cell class="line-cell" :hover="false" :arrow="true" v-if="form.sendType == 2 || form.sendType == 0" @click="modifyAddress">
-						<view class="tui-title">收花地址</view>
-						<view v-if="!$util.isEmpty(userInfo.lat) && !$util.isEmpty(userInfo.long)">
-							<view><text>{{userInfo.address}}</text></view>
-							<view v-if="userInfo.showAddress!=userInfo.fullAddress" style="color:#848181;"><text>{{userInfo.showAddress}}</text></view>
-						</view>
-						<view v-else>
-							<view><text style="color:#CCCCCC;">请填写地址</text></view>
-						</view>
-					</tui-list-cell>
 
 					<tui-list-cell class="line-cell" :hover="false" v-if="(form.sendType == 2 || form.sendType == 0)&& Number(form.packCost)>0">
 					<view class="tui-title">打包费</view>
@@ -298,10 +302,10 @@ export default {
 			showDistance:0,
 			deliveryQuotes: [], // 跑腿平台报价列表
 			selectedDeliveryIndex: -1, // 选中的报价索引
-			deliveryQuotesLoading: false, // 报价加载状态
 			selectedDeliveryData: null, // 选中的报价数据
 			isFreeDelivery: false, // 是否免跑腿费
-			deliveryPolicyList: [] // 包配送政策列表
+			deliveryPolicyList: [], // 包配送政策列表
+			validAddress:false
 		};
 	},
 	onShow() {
@@ -375,10 +379,10 @@ export default {
 			if (!this.shopInfo) return false
 			
 			// 检查 hcFreeKm
-			const hasFreeKm = this.shopInfo.hcFreeKm && Number(this.shopInfo.hcFreeKm) > 0
+			const hasFreeKm = this.shopInfo.hcFreeKm ? Number(this.shopInfo.hcFreeKm) : 0
 			
 			// 检查 hcMap
-			let hasMap = false
+			let hasPolicy = false
 			let mapData = this.shopInfo.hcMap
 			if(mapData && typeof mapData == 'string'){
 				try {
@@ -388,10 +392,12 @@ export default {
 				}
 			}
 			if(mapData && Array.isArray(mapData) && mapData.length > 0){
-				hasMap = true
+				hasPolicy = true
 			}
-			
-			return hasFreeKm || hasMap
+			if(hasFreeKm>0){
+				hasPolicy = true
+			}
+			return hasPolicy
 		},
 	},
 	onLoad(){
@@ -551,10 +557,14 @@ export default {
 					that.form.lat = userInfo.lat
 					that.form.showAddress = userInfo.showAddress
 
+					if(!this.$util.isEmpty(userInfo.lat) && !this.$util.isEmpty(userInfo.long) && !this.$util.isEmpty(userInfo.address)){
+						this.validAddress = true
+					}
+
 					const openIntraCity = shopInfo.openIntraCity
 					that.form.openIntraCity = openIntraCity
 					
-					if(Number(openIntraCity) == 1 && that.form.sendType == 2){
+					if(Number(openIntraCity) == 1 && that.form.sendType == 2 && this.validAddress == true){
 						that.getDeliveryQuotes()
 						const isFreeDelivery = that.checkFreeDelivery()
 						console.log('getUserInfo -- isFreeDelivery: ',isFreeDelivery)
@@ -569,11 +579,7 @@ export default {
 		},
 		changeSendType(num){
 			this.form.sendType = num
-			
 			if(num == 2){
-				//计算运费
-				//this.calcSendCost()
-				
 				if(Number(this.form.openIntraCity) == 1){
 					this.getDeliveryQuotes()
 					const isFreeDelivery = this.checkFreeDelivery()
@@ -587,59 +593,18 @@ export default {
 				this.form.sendCost = 0
 			}
 		},
-		calcSendCost() {
-			let that = this
-			// 无地址或重量为 0 时,设为 0 并返回
-			if (this.$util.isEmpty(that.userInfo.lat) || this.$util.isEmpty(that.userInfo.long)) {
-				that.form.sendCost = 0
-				this.$msg('请填写地址')
-				return
-			}
-			if(Number(that.allCount.weight) <= 0){
-				this.$msg('商品没有重量,无法使用跑腿')
-				return false
-			}
-			
-			this.deliveryQuotesLoading = true
-			this.deliveryQuotes = []
-			this.selectedDeliveryIndex = -1
-			this.selectedDeliveryData = null
-			
-			// newFreight
-            let packageNum = that.allCount && Number(that.allCount.bigLength)>0 ? Number(that.allCount.bigLength) : 
-            that.allCount.smallLength
-            let cargoName = '花材'
-        	let newFreightParams = {
-				cargo_name: cargoName,
-				price: that.allPriceFun,
-				weight: that.allCount.weight,
-				package_num: packageNum,
-				user_lng: that.userInfo.long,
-				user_lat: that.userInfo.lat,
-				user_name: that.userInfo.name || that.userInfo.realName || '',
-				user_phone: that.userInfo.mobile || that.userInfo.phone || '',
-				user_address: that.userInfo.province + that.userInfo.city + that.userInfo.dist + that.userInfo.address + 
-				that.userInfo.floor
-            }
-            newFreight(newFreightParams).then(res => {
-            	if(res.code == 1){
-                 	that.form.sendCost = res.data.est_fee?parseFloat(Number(res.data.est_fee/100)):0
-             	}
-            }).catch(()=>{});
-		},
 		getDeliveryQuotes() {
 			let that = this
 			// 无地址或重量为 0 时,设为 0 并返回
 			if (this.$util.isEmpty(that.userInfo.lat) || this.$util.isEmpty(that.userInfo.long)) {
 				that.form.sendCost = 0
-				this.$msg('请填写地址')
+				this.$msg('请填写地址哈')
 				return
 			}
 			if(Number(that.allCount.weight) <= 0){
 				this.$msg('商品没有重量,无法使用跑腿')
 				return false
 			}
-			this.deliveryQuotesLoading = true
 			this.deliveryQuotes = []
 			this.selectedDeliveryIndex = -1
 			this.selectedDeliveryData = null
@@ -651,7 +616,6 @@ export default {
 				selectList: this.selectList,
 				remark: this.form.remark,
 			}).then(res => {
-				this.deliveryQuotesLoading = false
 				if (res.code === 1 && res.data && res.data.deliveryList) {
 					// 处理报价数据
 					this.deliveryQuotes = res.data.deliveryList
@@ -685,18 +649,10 @@ export default {
 						this.form.sendCost = 0
 					}
 				} else {
-					uni.showToast({
-						title: res.msg || '暂无可用的配送平台',
-						icon: 'none'
-					})
+					uni.showToast({ title: '没有跑腿可用', icon: 'none' })
 				}
 			}).catch(err => {
-				this.deliveryQuotesLoading = false
-				console.error('获取跑腿报价失败:', err)
-				uni.showToast({
-					title: '获取报价失败',
-					icon: 'none'
-				})
+				uni.showToast({ title: '没有获取到跑腿费', icon: 'none' })
 			})
 		},
 		// 选择跑腿平台
@@ -746,7 +702,7 @@ export default {
 			}
 			if(this.form.sendType == 2 || this.form.sendType == 0){
 				if(this.$util.isEmpty(this.userInfo.lat) || this.$util.isEmpty(this.userInfo.long)){
-					this.$msg('请填写地址')
+					this.$msg('请先完善地址')
 					return false
 				}
 			}
@@ -1177,7 +1133,7 @@ export default {
 
 .free-delivery-tag {
 	color: #3385FF;
-	margin-left: 10upx;
+	margin-left:5upx;
 }
 
 /* 日期选择器蒙板 */
@@ -1212,8 +1168,9 @@ export default {
 
 .delivery-policy-link {
 	color: rgb(201, 52, 52);
-	font-size: 28upx;
-	margin-left: 26upx;
+	font-size: 32upx;
+	margin-left: 10upx;
+	font-weight:bold;
 	text-decoration: underline;
 }
 
@@ -1256,7 +1213,7 @@ export default {
 	margin-left: 40upx;
 }
 .policy-btn {
-	width: 100%;
+	width: 50%;
 	height: 80upx;
 	line-height: 80upx;
 	text-align: center;

+ 3 - 2
mallApp/src/pages/order/components/app-delivery.vue

@@ -1055,8 +1055,9 @@ export default {
 
 .delivery-policy-link {
 	color: rgb(201, 52, 52);
-	font-size: 28upx;
-	margin-left: 26upx;
+	font-size: 32upx;
+	margin-left:10upx;
+  font-weight:bold;
 	text-decoration: underline;
 }
 

+ 18 - 7
mallApp/src/pages/user/address.vue

@@ -2,22 +2,29 @@
 	<view class="app-content">
 		<form @submit="formSubmit">
 			<view class="module-com input-line-wrap">
+
+				<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>
+				</tui-list-cell>
+
 				<tui-list-cell class="line-cell" :hover="false" :arrow="true" @click="openAddres">
 					<view class="tui-title">城市</view>
 					<view class="tui-input" v-if="form.province || form.city">{{ form.province + '-' + form.city }}</view>
 					<view class="tui-placeholder" v-else>请选择</view>
 					<input v-model="form.province" name="province" hidden />
 				</tui-list-cell>
-				<tui-list-cell v-if="hasMap == 0" class="line-cell" :hover="false">
-					<view class="tui-title">地址</view>
-					<input v-model="form.address" placeholder-class="phcolor" class="tui-input" name="address" @input="modifyShow" placeholder="请填写地址" />
-				</tui-list-cell>
-				<tui-list-cell v-else class="line-cell" :hover="false" :arrow="true" @click="selectRegion">
+				<tui-list-cell v-if="couldNavigation == 1" class="line-cell" :hover="false" :arrow="true" @click="selectRegion">
 					<view class="tui-title">地址</view>
 					<view v-if="form.address" class="tui-input">{{ form.address }}</view>
 					<view v-else class="tui-placeholder">请填写地址</view>
 					<input v-model="form.address" name="address" hidden />
 				</tui-list-cell>
+				<tui-list-cell v-else class="line-cell" :hover="false">
+					<view class="tui-title">地址</view>
+					<input v-model="form.address" placeholder-class="phcolor" class="tui-input" name="address" @input="modifyShow" placeholder="请填写地址" />
+				</tui-list-cell>
 				<tui-list-cell class="line-cell" :hover="false">
 					<view class="tui-title ">门牌</view>
 					<input v-model="form.floor" placeholder-class="phcolor" class="tui-input" name="floor" placeholder="楼号门牌号(选填)" @input="modifyShow" />
@@ -63,7 +70,8 @@ export default {
 			},
 			regionData: [],
 			cityPickerValueDefault: [0, 0],
-			hasMap:0 // 是否具备定位功能 0不具备 1具备
+			hasMap:0,// 是否具备定位功能 0不具备 1具备
+			couldNavigation:1
 		}
 	},
 	onLoad() {
@@ -76,9 +84,12 @@ export default {
 		if(this.option.hdId){
 			uni.setStorageSync('hdId',this.option.hdId)
 		}
-
 	},
 	methods: {
+		setStyle(flag){
+			this.couldNavigation = flag
+			this.form.address = ''
+		},
 		init() {
 			getHasMap().then(res=>{
 				this.hasMap = res.data.hasMap

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

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

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

@@ -2,8 +2,8 @@
     "name" : "花掌柜",
     "appid" : "__UNI__4079DC1",
     "description" : "花店管家婆",
-    "versionName" : "2.1.6",
-    "versionCode" : 216,
+    "versionName" : "2.1.7",
+    "versionCode" : 217,
     "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.65",
-    "versionCode" : 1265,
+    "versionName" : "1.2.66",
+    "versionCode" : 1266,
     "transformPx" : true,
     /* 5+App特有相关 */
     "app-plus" : {

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

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

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

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

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

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