shish 1 gün önce
ebeveyn
işleme
0296cb6fb1

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

@@ -415,11 +415,11 @@
                 <view class="uni-input" v-else @click="changeStaff()" style="width: 400upx; font-size: 32upx">{{ form.getStaffName ? form.getStaffName : '请选择' }}</view>
               </tui-list-cell>
 
-              <!-- 发货日期:可选手动补录过去日期;提交后写入销售单并同步 xhCg.sendTimeWant -->
+              <!-- 发货日期:写入 sendTime,可选手动补录过去日期;提交后同步 xhCg.sendTime -->
               <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: 32upx" @click="bindDateChange" >默认当天</view >
-                <view class="uni-input" @click="bindDateChange" v-else style="width: 400upx; font-size: 32upx">{{ form.sendTimeWant }}</view>
+                <view class="uni-input" v-if="form.sendTime == ''" 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.sendTime }}</view>
               </tui-list-cell>
 
               <tui-list-cell class="line-cell" :hover="false" :arrow="false">
@@ -650,7 +650,7 @@ export default {
         sendType: 0,
         transType: 0,
         sendDate: '', // 保留以防 API 需要
-        sendTimeWant: '',
+        sendTime: '',
         historyDate: '',
         sendCost: '', //系统默认运费
         customSendCost: 0, //自设置的运费
@@ -925,15 +925,15 @@ export default {
     getMyFinance() {
       this.showFinance = this.showFinance == 1 ? 0 : 1;
     },
-    // 发货日期可选手动补录过去日期;提交后写入销售单并同步 xhCg.sendTimeWant
+    // 发货日期可选手动补录过去日期;提交后写入销售单并同步 xhCg.sendTime
     bindDateChange() {
       this.pickerType = 'sendDate';
       this.showPicker = true;
     },
     confirmPicker(e) {
       if (this.pickerType === 'sendDate') {
-        // 统一成 Y-m-d,后端按日期字符串写入销售单和 xhCg.sendTimeWant
-        this.form.sendTimeWant = String(e.value || '').replace(/\//g, '-');
+        // 统一成 Y-m-d,后端写入 sendTime(datetime)并同步采购单
+        this.form.sendTime = String(e.value || '').replace(/\//g, '-');
       }
       this.showPicker = false;
     },

+ 4 - 3
ghsApp/src/admin/home/components/OrderItem.vue

@@ -24,11 +24,12 @@
           <view>
             {{ item.addTime ? item.addTime.substr(5, 11) : '' }}
           </view>
+          <!-- 发货日与创建日不是同一天时才展示,避免列表每条都重复当天日期 -->
           <view
-            v-if="item.addTime && item.payTime && item.payTime != '0000-00-00 00:00:00' && item.addTime.substr(5, 5) != item.payTime.substr(5, 5)"
+            v-if="item.addTime && item.sendTime && item.sendTime.indexOf('0000-00-00') < 0 && item.addTime.substr(5, 5) != item.sendTime.substr(5, 5)"
             class="bill-date"
           >
-            账单日期 {{ item.payTime ? item.payTime.substr(5, 11) : '' }}
+            发货日期 {{ item.sendTime.substr(5, 11) }}
           </view>
         </view>
         <view class="order-info_box">
@@ -875,7 +876,7 @@ export default {
   font-size: 28upx;
 }
 
-/* 片区名:方式行右侧,与账单日期同布局 */
+/* 片区名:方式行右侧,与发货日期同布局 */
 .dist-name {
   flex: 1;
   color: #999999;

+ 4 - 4
ghsApp/src/api/order/index.js

@@ -17,11 +17,11 @@ export const modifyOrderConfirmTimeFn = data => {
 }
 
 /**
- * 供货商 App:修改订单发货日期;同步 xhGhsOrder.sendTimeWant 与 xhCg.sendTimeWant
- * 对应 OrderController::actionModifySendTimeWant,允许补录过去日期。
+ * 供货商 App:修改订单发货时间;同步 xhGhsOrder.sendTime 与 xhCg.sendTime
+ * 对应 OrderController::actionModifySendTime,允许补录过去日期。
  */
-export const modifySendTimeWantFn = data => {
-	return https.get("/order/modify-send-time-want", data)
+export const modifySendTimeFn = data => {
+	return https.get("/order/modify-send-time", data)
 }
 
 export const cancelBookOrderInfo = data => {

+ 73 - 8
ghsApp/src/pagesArrears/details.vue

@@ -55,14 +55,31 @@
 	</view>
 	<!-- App 端 overflow 滚动层会盖住嵌在顶栏里的日历,筛选弹层必须放在滚动容器外 -->
 	<view class="date-select-layer" :class="{ 'is-open': dateOverlayVisible }">
-		<DateSelect class="bar" top="0" defaultShowName="时间" @selectDateFn="selectDateFn" @overlay-change="onDateOverlayChange" />
+		<view class="date-select-pair">
+			<DateSelect
+				ref="sendDateSelect"
+				class="bar"
+				top="0"
+				defaultShowName="发货时间"
+				@selectDateFn="selectSendDateFn"
+				@overlay-change="onSendDateOverlayChange"
+			/>
+			<DateSelect
+				ref="billDateSelect"
+				class="bar date-select-gap"
+				top="0"
+				defaultShowName="开单时间"
+				@selectDateFn="selectBillDateFn"
+				@overlay-change="onBillDateOverlayChange"
+			/>
+		</view>
 	</view>
 </view>
 </template>
 <script>
 /**
  * 供货商 App 挂账订单明细:按客户勾选欠款单并创建结账单。
- * 时间筛选弹层挂在页面根节点,避免 App 端 overflow 滚动把日历压在订单列表下面。
+ * 开单日期、发货日期两套筛选弹层挂在页面根节点,避免 App 端 overflow 滚动把日历压在订单列表下面。
  */
 import AppWrapperEmpty from "@/components/app-wrapper-empty";
 import DetailsItem from "./detailsItem";
@@ -89,8 +106,13 @@ export default {
 			searchTime:'',
 			startTime:'',
 			endTime:'',
+			sendSearchTime:'',
+			sendStartTime:'',
+			sendEndTime:'',
 			unClear:[],
-			dateOverlayVisible: false
+			dateOverlayVisible: false,
+			billDateOverlayVisible: false,
+			sendDateOverlayVisible: false
 		};
 	},
 	onPullDownRefresh() {
@@ -171,11 +193,32 @@ export default {
 			}
 			this.isModel = true;
 		},
-		onDateOverlayChange(visible) {
-			// App 端隐藏列表和底栏,避免原生滚动层/button 仍浮在日历上
-			this.dateOverlayVisible = !!visible
+		onBillDateOverlayChange(visible) {
+			this.billDateOverlayVisible = !!visible
+			if (visible) {
+				this.closeDateSelect(this.$refs.sendDateSelect)
+			}
+			this.syncDateOverlayVisible()
+		},
+		onSendDateOverlayChange(visible) {
+			this.sendDateOverlayVisible = !!visible
+			if (visible) {
+				this.closeDateSelect(this.$refs.billDateSelect)
+			}
+			this.syncDateOverlayVisible()
+		},
+		// 两个日期筛选互斥打开,避免两套日历叠在一起
+		closeDateSelect(ref) {
+			if (ref && (ref.dropdownShow || ref.showPicker)) {
+				ref.dropdownShow = false
+				ref.showPicker = false
+			}
 		},
-		selectDateFn(val){
+		syncDateOverlayVisible() {
+			this.dateOverlayVisible = this.billDateOverlayVisible || this.sendDateOverlayVisible
+		},
+		// 按开单日期(addTime)筛欠款单
+		selectBillDateFn(val){
 			this.searchTime = val.searchTime
 			this.startTime = val.startTime
 			this.endTime = val.endTime
@@ -184,6 +227,16 @@ export default {
 				uni.stopPullDownRefresh()
 			})
 		},
+		// 按发货日期(sendTime)筛欠款单,可与开单日期同时生效
+		selectSendDateFn(val){
+			this.sendSearchTime = val.searchTime
+			this.sendStartTime = val.startTime
+			this.sendEndTime = val.endTime
+			this.resetDebtListPage()
+			this.initData().then(res => {
+				uni.stopPullDownRefresh()
+			})
+		},
 		reloadDebtListPage() {
 			return this.initData()
 		},
@@ -195,6 +248,9 @@ export default {
 					searchTime: this.searchTime,
 					startTime: this.startTime,
 					endTime: this.endTime,
+					sendSearchTime: this.sendSearchTime,
+					sendStartTime: this.sendStartTime,
+					sendEndTime: this.sendEndTime,
 				}))
 				this.customInfo = data.customInfo
 				this.num = data.num
@@ -310,7 +366,7 @@ export default {
 				color: #999999;
 			}
 			.date-select-hold {
-				min-width: 140upx;
+				min-width: 360upx;
 				height: 40upx;
 			}
 			.info-item {
@@ -463,4 +519,13 @@ export default {
 .date-select-layer ::v-deep .select-bg_bx {
 	pointer-events: auto;
 }
+.date-select-pair {
+	display: flex;
+	flex-direction: row;
+	align-items: center;
+	pointer-events: none;
+}
+.date-select-gap {
+	margin-left: 48upx;
+}
 </style>

+ 20 - 3
ghsApp/src/pagesArrears/detailsItem.vue

@@ -1,3 +1,7 @@
+<!--
+  供货商挂账订单行:发货日始终显示;开单日期(addTime)仅当与发货日不是同一天时红字加粗。
+  谁用:pagesArrears/details.vue
+-->
 <template>
 	<view class="details-item" @click.stop="checkEvent">
 		<view class="details-select" v-if="isEdit">
@@ -11,10 +15,15 @@
 				<text class="name">单号 {{info.orderSn}} </text>
 			</view>
 			<view class="item-row">
-				<view class="mark">{{ info.payTime?info.payTime.substr(5,11):'' }}</view>
+				<view class="mark">{{ info.sendTime && info.sendTime.indexOf('0000-00-00') < 0 ? info.sendTime.substr(5, 11) : '' }}</view>
 			</view>
 			<view class="item-row">
 				<view :class="[Number(info.debtPrice)>Number(info.remainDebtPrice) ? 'price-del' : 'price']">¥{{ parseFloat(info.debtPrice || info.remainDebtPrice) }}</view>
+				<!-- 开单日与发货日不是同一天时才展示;没有发货日时也显示开单日 -->
+				<view
+					v-if="info.addTime && info.addTime.indexOf('0000-00-00') < 0 && (!info.sendTime || info.sendTime.indexOf('0000-00-00') === 0 || info.addTime.substr(5, 5) != info.sendTime.substr(5, 5))"
+					class="bill-date"
+				>开单时间 {{ info.addTime.substr(5, 11) }}</view>
 			</view>
 			<!-- 售后退款单独成行:当天 / 跨天,对齐 pagesGys/detailsItem -->
 			<view class="item-row" v-if="Number(info.tkPrice)>0">
@@ -83,8 +92,6 @@ export default {
 	.details-main {
 		flex: 1;
 		position: relative;
-		// 给右上角「查看明细」留空,避免单号被挡住
-		padding-right: 200upx;
 	}
 	.detail-btn {
 		position: absolute;
@@ -105,6 +112,8 @@ export default {
 	.item-header {
 		display: flex;
 		align-items: center;
+		// 给右上角「查看明细」留空,避免单号被挡住
+		padding-right: 200upx;
 		.logo {
 			margin-right: 20upx;
 			width: 50upx;
@@ -163,6 +172,14 @@ export default {
 		.refund-tip-next {
 			color: #e67e22;
 		}
+		.bill-date {
+			margin-left: auto;
+			text-align: right;
+			white-space: nowrap;
+			flex-shrink: 0;
+			font-size: 26upx;
+			color: red;
+		}
 	}
 }
 </style>

+ 6 - 7
ghsApp/src/pagesOrder/detail.vue

@@ -78,10 +78,9 @@
 						{{ formatDateDisplay(detailInfo.payTime) }}
 					</view>
 				</view>
-				<!-- 发货时间:客户要求发货日,可改过去日期;同步 xhGhsOrder 与 xhCg.sendTimeWant -->
-				<view class="order-info_box">
+				<view class="order-info_box" v-if="detailInfo.payStatus == 1">
 					<view>发货时间:</view>
-					<view>{{ detailInfo.sendTimeWant || '当天' }}</view>
+					<view>{{ detailInfo.sendTime && detailInfo.sendTime.indexOf('0000-00-00') < 0 ? detailInfo.sendTime.substr(5, 11) : '' }}</view>
 					<view class="price">
 						<button @click="openSendTimePicker" class="admin-button-com default">修改</button>
 					</view>
@@ -698,7 +697,7 @@
 <script>
 import { mapGetters } from "vuex";
 import TuiListCell from "@/components/plugin/list-cell";
-import { getDetail,debtPay,hasPay, freeShipping,confirmFinish,cancel,modifyRemarkFn,orderFh,modifyOrderConfirmTimeFn,modifySendTimeWantFn,printWlLabel} from "@/api/order";
+import { getDetail,debtPay,hasPay, freeShipping,confirmFinish,cancel,modifyRemarkFn,orderFh,modifyOrderConfirmTimeFn,modifySendTimeFn,printWlLabel} from "@/api/order";
 import { getOrderProduct,giveItem,printItemWlLabel } from "@/api/order-item";
 import productMins from "@/mixins/product";
 import { ORDER_STATUS } from "@/utils/declare";
@@ -1193,10 +1192,10 @@ export default {
 			this.pickerType = 'payDate'
 			this.showPicker = true
 		},
-		// 打开发货日期选择器;允许选过去日期,确认后同步采购单 xhCg
+		// 打开发货日期选择器;允许选过去日期,确认后同步采购单 xhCg.sendTime
 		openSendTimePicker(){
 			this.pickerType = 'sendDate'
-			this.defaultPickerDate = this.detailInfo.sendTimeWant || ''
+			this.defaultPickerDate = (this.detailInfo.sendTime && this.detailInfo.sendTime.indexOf('0000-00-00') < 0) ? this.detailInfo.sendTime.substr(0, 10) : ''
 			this.showPicker = true
 		},
 		confirmPicker(e) {
@@ -1205,7 +1204,7 @@ export default {
 			this.showPicker = false
 			if (this.pickerType === 'sendDate') {
 				that.$util.confirmModal({content:'确认修改发货时间?'},() => {
-					modifySendTimeWantFn({id:that.detailInfo.id,date:date}).then(res=>{
+					modifySendTimeFn({id:that.detailInfo.id,date:date}).then(res=>{
 						if(res.code == 1){
 							that.$msg(res.msg)
 							that.init()

+ 3 - 2
hdApp/src/api/purchase/index.js

@@ -74,8 +74,9 @@ export const createPurchaseOrderApi = async data => {
 	return https.get("/purchase/merge-order-list", data);
 };
 
-/** *
- * 待结款明细
+/**
+ * 待结款明细:searchTime 筛开单时间 addTime,sendSearchTime 筛发货时间 sendTime。
+ * 对应 PurchaseController::actionDebtList。
  */
  export const purchaseDebtList = async data => {
 	return https.get("/purchase/debt-list", data);

+ 17 - 1
hdApp/src/components/module/dateSelect.vue

@@ -121,7 +121,9 @@ export default {
                 this.defaultDateName = newVal
             },
             immediate:true
-        }
+        },
+        dropdownShow: 'emitOverlayChange',
+        showPicker: 'emitOverlayChange'
     },
     computed:{
         ...mapGetters(["getDictionariesInfo"]),
@@ -144,6 +146,10 @@ export default {
     onLoad(){
     },
     methods:{
+        // 页面用来互斥关闭另一套筛选:两个 DateSelect 同时打开会叠两套日历
+        emitOverlayChange() {
+            this.$emit('overlay-change', !!(this.dropdownShow || this.showPicker))
+        },
         // 选择月份后同步展示文案,并把月份查询值回传给业务页面。
         bindMonthChange(e){
             this.dropdownShow = !this.dropdownShow
@@ -196,6 +202,16 @@ export default {
             this.dropdownShow = false;
             this.defaultDateName = val.name;
             this.$emit('selectDateFn',{searchTime:val.value,showName:val.name})
+        },
+        // 恢复成页面传入的默认文案,并清空已选日期,供结清页「时间重置」同时清两套筛选
+        reset() {
+            this.dropdownShow = false;
+            this.showPicker = false;
+            this.startDate = '';
+            this.endDate = '';
+            this.showMonth = null;
+            this.defaultDateName = this.defaultShowName;
+            this.selectItem = '';
         }
     }
 }

+ 17 - 4
hdApp/src/pagesPurchase/components/gatheringList.vue

@@ -1,6 +1,6 @@
 <!--
   采购挂账结清列表行
-  用途:展示待结金额、部分结清、当天/跨天售后;对齐 ghs pagesArrears/detailsItem。
+  用途:展示发货日、开单日期、待结金额、部分结清、当天/跨天售后;对齐 ghs pagesArrears/detailsItem。
   谁用:pagesPurchase/gathering.vue
 -->
 <template>
@@ -16,7 +16,7 @@
         <text class="name">采购单 {{info.orderSn}} </text>
       </view>
       <view class="item-row">
-        <view class="mark">{{ info.payTime ? info.payTime.substr(5,11) : '' }}</view>
+        <view class="mark">{{ info.sendTime && info.sendTime.indexOf('0000-00-00') < 0 ? info.sendTime.substr(5, 11) : '' }}</view>
       </view>
       <view class="item-row">
         <view class="price-block">
@@ -25,6 +25,11 @@
           </view>
           <view v-else class="price">¥{{ parseFloat(info.remainDebtPrice || info.debtPrice) }}</view>
         </view>
+        <!-- 开单日与发货日不是同一天时才展示;没有发货日时也显示开单日 -->
+        <view
+          v-if="info.addTime && info.addTime.indexOf('0000-00-00') < 0 && (!info.sendTime || info.sendTime.indexOf('0000-00-00') === 0 || info.addTime.substr(5, 5) != info.sendTime.substr(5, 5))"
+          class="bill-date"
+        >开单日期 {{ info.addTime.substr(5, 11) }}</view>
       </view>
       <!-- 售后退款单独成行:当天 / 跨天,对齐 pagesArrears/detailsItem -->
       <view class="item-row" v-if="Number(info.tkPrice) > 0">
@@ -89,8 +94,6 @@ export default {
   .details-main {
     flex: 1;
     position: relative;
-    // 给右上角「查看明细」留空,避免单号被挡住
-    padding-right: 200upx;
   }
   .detail-btn {
     position: absolute;
@@ -111,6 +114,8 @@ export default {
   .item-header {
     display: flex;
     align-items: center;
+    // 给右上角「查看明细」留空,避免单号被挡住;价格行不留这截,开单日期才能贴卡片右缘
+    padding-right: 200upx;
     .logo {
       margin-right: 20upx;
       width: 50upx;
@@ -172,6 +177,14 @@ export default {
     .refund-tip-next {
       color: #e67e22;
     }
+    .bill-date {
+      margin-left: auto;
+      text-align: right;
+      white-space: nowrap;
+      flex-shrink: 0;
+      font-size: 26upx;
+      color: red;
+    }
   }
 }
 </style>

+ 104 - 38
hdApp/src/pagesPurchase/gathering.vue

@@ -1,6 +1,6 @@
 <!--
   采购结清页:按供货商查看未结清挂账,支持勾选结清与自定义金额付款。
-  顶部时间筛选与订单页同款 DateSelect,快捷/月份/单日/时段均可,避免浮层挡住列表操作
+  顶部第一行是开单时间、发货时间两套 DateSelect;第二行最右是时间重置 + 自定义金额付款
 -->
 <template>
 <view class="app-content">
@@ -8,26 +8,38 @@
     <view class="top-view">
       <view class="top-row">
         <view class="info-item">
-          <image class="logo" :src="ghsInfo.avatar" />
           <text class="name">{{ ghsInfo.name}}</text>
         </view>
         <view class="top-actions">
-          <!-- 自定义金额:加高便于点按,与时间筛选并排 -->
-          <button class="admin-button-com blue custom-amount-btn" @click="goCustomPay">自定义金额付款</button>
-          <!-- 与订单页左上角同款:日历图标 + DateSelect -->
           <view class="date-chip">
-            <image class="filter-icon" :src="iconSrc('order-calendar')" mode="aspectFit" />
             <DateSelect
-              ref="dateSelectRef"
+              ref="sendDateSelect"
               class="date-select"
               top="0"
-              defaultShowName="全部"
+              defaultShowName="发货时间"
+              :showAllOption="true"
+              @selectDateFn="selectSendDateFn"
+              @overlay-change="onSendDateOverlayChange"
+            />
+          </view>
+          <view class="date-chip date-chip-gap">
+            <DateSelect
+              ref="billDateSelect"
+              class="date-select"
+              top="0"
+              defaultShowName="开单时间"
               :showAllOption="true"
               @selectDateFn="selectDateFn"
+              @overlay-change="onBillDateOverlayChange"
             />
           </view>
         </view>
       </view>
+      <!-- 第二行右对齐:时间重置在左,自定义金额付款贴最右 -->
+      <view class="top-row-actions">
+        <button class="admin-button-com default date-reset-btn" @click="resetDateFilters">时间重置</button>
+        <button class="admin-button-com blue custom-amount-btn" @click="goCustomPay">自定义金额付款</button>
+      </view>
     </view>
     <view scroll-y class="shop-list">
       <view class="debt-multi-page-tip" v-if="debtTotalPage > 1">
@@ -82,7 +94,6 @@ import DebtListPager from '@/components/module/debt-list-pager'
 import { purchaseDebtList, ghsDetail, purchaseClearCreateOrder } from "@/api/purchase/index";
 import AppWrapperEmpty from "@/components/app-wrapper-empty";
 import DateSelect from "@/components/module/dateSelect";
-import { iconSrc } from '@/utils/iconSrc'
 import debtListPage from '@/mixins/debtListPage'
 export default {
   components: { gatheringList, AppWrapperEmpty, DateSelect, DebtListPager },
@@ -98,9 +109,14 @@ export default {
 			searchTime:'',
 			startTime:'',
 			endTime:'',
+			sendSearchTime:'',
+			sendStartTime:'',
+			sendEndTime:'',
       ghsId:0,
       justLoaded: false,
-      salt: ''
+      salt: '',
+      billDateOverlayVisible: false,
+      sendDateOverlayVisible: false
     }
   },
   onLoad() {
@@ -158,7 +174,6 @@ export default {
     }
   },
   methods: {
-    iconSrc,
     formatMoney (val) {
       const n = parseFloat(val)
       return isNaN(n) ? '0' : String(n)
@@ -178,7 +193,7 @@ export default {
       }
     },
 		/**
-		 * 订单页同款时间筛选:searchTime 为快捷项或 custom/byMonth。
+		 * 开单时间筛选:searchTime 为快捷项或 custom/byMonth,对应后端 addTime
 		 */
 		selectDateFn(val){
 			this.searchTime = val.searchTime
@@ -189,6 +204,54 @@ export default {
 				uni.stopPullDownRefresh()
 			})
 		},
+		/**
+		 * 发货时间筛选:sendSearchTime 对应后端 sendTime,可与开单时间同时生效。
+		 */
+		selectSendDateFn(val){
+			this.sendSearchTime = val.searchTime
+			this.sendStartTime = val.startTime
+			this.sendEndTime = val.endTime
+			this.resetDebtListPage()
+			this.initData().then(res => {
+				uni.stopPullDownRefresh()
+			})
+		},
+		onBillDateOverlayChange(visible) {
+			this.billDateOverlayVisible = !!visible
+			if (visible) {
+				this.closeDateSelect(this.$refs.sendDateSelect)
+			}
+		},
+		onSendDateOverlayChange(visible) {
+			this.sendDateOverlayVisible = !!visible
+			if (visible) {
+				this.closeDateSelect(this.$refs.billDateSelect)
+			}
+		},
+		// 两个日期筛选互斥打开,避免两套日历叠在一起
+		closeDateSelect(ref) {
+			if (ref && (ref.dropdownShow || ref.showPicker)) {
+				ref.dropdownShow = false
+				ref.showPicker = false
+			}
+		},
+		// 同时清空开单时间、发货时间筛选,列表回到未筛状态
+		resetDateFilters() {
+			this.searchTime = ''
+			this.startTime = ''
+			this.endTime = ''
+			this.sendSearchTime = ''
+			this.sendStartTime = ''
+			this.sendEndTime = ''
+			if (this.$refs.billDateSelect && this.$refs.billDateSelect.reset) {
+				this.$refs.billDateSelect.reset()
+			}
+			if (this.$refs.sendDateSelect && this.$refs.sendDateSelect.reset) {
+				this.$refs.sendDateSelect.reset()
+			}
+			this.resetDebtListPage()
+			this.initData()
+		},
     reloadDebtListPage() {
       return this.initData()
     },
@@ -229,6 +292,9 @@ export default {
         searchTime: this.searchTime,
         startTime: this.startTime,
         endTime: this.endTime,
+        sendSearchTime: this.sendSearchTime,
+        sendStartTime: this.sendStartTime,
+        sendEndTime: this.sendEndTime,
         salt: this.salt
       })).then(res => {
         const list = res.data.list || []
@@ -310,6 +376,8 @@ export default {
   .top-view {
     padding: 24upx 24upx 20upx;
 		position:fixed;
+    top: 0;
+    left: 0;
 		width:100%;
     z-index: 100;
     box-sizing: border-box;
@@ -332,13 +400,6 @@ export default {
         align-items: center;
         flex: 1;
         min-width: 0;
-        .logo {
-          margin-right: 16upx;
-          width: 72upx;
-          height: 72upx;
-          border-radius: 8upx;
-          flex-shrink: 0;
-        }
         .name {
           font-size: 34upx;
           font-weight: 600;
@@ -359,19 +420,9 @@ export default {
         flex-shrink: 0;
         margin-left: 12upx;
       }
-      /* 自定义金额:长方形按钮,与头像高度更协调 */
-      .custom-amount-btn {
-        margin: 0;
-        margin-right: 16upx;
-        height: 64upx;
-        line-height: 64upx;
-        padding: 0 20upx;
-        font-size: 26upx;
-        border-radius: 8upx;
-      }
-      /* 与订单页左上角同款时间筛选 */
+      /* 与订单页左上角同款时间筛选;两个并排时去掉日历图标以省宽 */
       .date-chip {
-        min-width: 134upx;
+        min-width: 160upx;
         height: 64upx;
         padding: 0 12upx;
         border-radius: 8upx;
@@ -384,20 +435,35 @@ export default {
         background: #fff;
         border: 1upx solid #e3e8e6;
       }
+      .date-chip-gap {
+        margin-left: 70upx;
+      }
       .date-select {
         display: flex;
         align-items: center;
       }
-      .filter-icon {
-        width: 32upx;
-        height: 32upx;
-        margin-right: 6upx;
-        flex-shrink: 0;
-      }
+    }
+    .top-row-actions {
+      display: flex;
+      justify-content: flex-end;
+      align-items: center;
+    }
+    .date-reset-btn,
+    .custom-amount-btn {
+      margin: 0;
+      height: 64upx;
+      line-height: 64upx;
+      padding: 0 20upx;
+      font-size: 26upx;
+      border-radius: 8upx;
+    }
+    /* 不用 gap:App 端可能不生效,重置按钮用右边距和付款按钮分开 */
+    .date-reset-btn {
+      margin-right: 16upx;
     }
   }
   .shop-list {
-		margin-top:120upx;
+		margin-top: 180upx;
     padding: 20upx 0;
     flex: 1;
     /* 给底部固定层(分页器 + 操作栏 + 刘海安全区)留出滚动空间,避免最后几笔被挡住 */

+ 13 - 0
hdApp/src/pagesPurchase/orderItem.vue

@@ -31,6 +31,11 @@
         <view class="info-row">
           <text class="info-label"> 单号:</text>
           <text class="info-value">{{ info.orderSn }} </text>
+          <!-- 相对 item-main 贴卡片右缘,避免被右侧价格列把可用宽度挤窄后换行 -->
+          <text
+            v-if="info.addTime && info.sendTime && info.sendTime.indexOf('0000-00-00') < 0 && info.addTime.substr(5, 5) != info.sendTime.substr(5, 5)"
+            class="send-date"
+          >发货日期 {{ info.sendTime.substr(5, 11) }}</text>
         </view>
         <view class="info-row">
           <text class="info-label"> 采购:</text>
@@ -164,6 +169,7 @@ export default {
     padding: 0 20upx;
     box-sizing: border-box;
     align-items: flex-end;
+    position: relative;
     .item-info {
       flex: 1;
       font-size: 26upx;
@@ -181,6 +187,13 @@ export default {
         color: #333333;
       }
     }
+    .send-date {
+      position: absolute;
+      right: 20upx;
+      color: #a29696;
+      font-size: 26upx;
+      white-space: nowrap;
+    }
     .item-price {
       display: flex;
       align-items: center;

+ 2 - 2
hdApp/src/pagesPurchase/purDetails.vue

@@ -84,8 +84,8 @@
           <view>{{ detailInfo.wlName }}</view>
         </view>
         <view class="order-info_box">
-          <view>配送时间:</view>
-          <view>{{ detailInfo.sendTimeWant }}</view>
+          <view>发货日期:</view>
+          <view>{{ detailInfo.sendTime && detailInfo.sendTime.indexOf('0000-00-00') < 0 ? detailInfo.sendTime.substr(5, 11) : '' }}</view>
         </view>
 </block>
 <block v-else>