shish 11 hours ago
parent
commit
7ba6153e27

+ 67 - 3
ghsApp/src/admin/expend/stat.vue

@@ -1,7 +1,23 @@
+<!--
+  支出汇总:DateSelect 旁可选记账时间(payTime,默认) / 发生时间(sendTime)。
+-->
 <template>
 <view class="app-content">
 
-	<view class="top-bar" style="margin:20upx 0 20upx 40upx;padding-top:30upx;">
+	<view class="date-filter-row">
+		<!-- 记账时间 / 发生时间:只切换筛字段,共用同一 DateSelect -->
+		<view class="time-type-row">
+			<view
+				class="time-type-item"
+				:class="{ active: timeType === 'pay' }"
+				@click="changeTimeType('pay')"
+			>记账时间</view>
+			<view
+				class="time-type-item"
+				:class="{ active: timeType === 'send' }"
+				@click="changeTimeType('send')"
+			>发生时间</view>
+		</view>
 		<DateSelect class="bar" top="0" @selectDateFn="selectDateFn" />
 	</view>
 
@@ -48,10 +64,20 @@ export default {
 			searchTime:'',
 			startTime:'',
 			endTime:'',
+			// pay=记账时间(默认) / send=发生时间
+			timeType: 'pay',
 			catList:[]
 		};
 	},
 	methods: {
+		/** 切换记账时间 / 发生时间后刷新汇总 */
+		changeTimeType(type) {
+			if (this.timeType === type) {
+				return
+			}
+			this.timeType = type
+			this.init()
+		},
 		selectDateFn(val) {
 			this.searchTime = val.searchTime
 			this.startTime = val.startTime
@@ -59,7 +85,12 @@ export default {
 			this.init()
 		},
 		init(){
-			getStat({searchTime: this.searchTime,startTime: this.startTime,endTime: this.endTime}).then(res=>{
+			getStat({
+				searchTime: this.searchTime,
+				startTime: this.startTime,
+				endTime: this.endTime,
+				timeType: this.timeType
+			}).then(res=>{
 				if(res.code == 1){
 					this.bxList = res.data.list ? res.data.list : []
 					this.catList = res.data.catList ? res.data.catList : []
@@ -70,4 +101,37 @@ export default {
 };
 </script>
 <style lang="scss" scoped>
-</style>
+.date-filter-row {
+	margin: 20upx 20upx 20upx 20upx;
+	padding-top: 30upx;
+	display: flex;
+	align-items: center;
+	.time-type-row {
+		display: flex;
+		align-items: center;
+		flex-shrink: 0;
+		margin-right: 12upx;
+	}
+	.time-type-item {
+		height: 56upx;
+		line-height: 56upx;
+		padding: 0 16upx;
+		font-size: 24upx;
+		color: #666;
+		background: #f5f5f5;
+		border-radius: 8upx;
+		margin-right: 10upx;
+		&:last-child {
+			margin-right: 0;
+		}
+		&.active {
+			color: #fff;
+			background: #3385ff;
+		}
+	}
+	.bar {
+		flex: 1;
+		min-width: 0;
+	}
+}
+</style>

+ 3 - 1
ghsApp/src/pagesGys/details.vue

@@ -11,7 +11,7 @@
 				<!-- 重置靠发货时间左边;发货时间在左、记账时间在右 -->
 				<view class="date-filter">
 					<text class="date-reset-text" @click="resetDateFilters">重置</text>
-					<DateSelect ref="sendDateSelect" class="bar" top="0" @selectDateFn="selectSendDateFn" defaultShowName="发货时间" />
+					<DateSelect ref="sendDateSelect" class="bar" top="0" @selectDateFn="selectSendDateFn" :defaultShowName="sendName" />
 					<DateSelect ref="billDateSelect" class="bar date-filter-gap" top="0" @selectDateFn="selectDateFn" defaultShowName="记账时间" />
 				</view>
 			</view>
@@ -104,6 +104,7 @@ export default {
 			ghsInfo: "",
 			totalAmount: "",
 			num: "",
+			sendName: '发货时间',
 			detailsList: [],
 			listLoading: false,
       		isAllCheck: false,
@@ -253,6 +254,7 @@ export default {
 				this.ghsInfo = data.ghsInfo;
 				this.totalAmount = data.totalAmount;
 				this.num = data.num;
+				this.sendName = Number(data.pfLevel)==0?'发货时间':'送货时间';
 				this.applyDebtListPageMeta(data)
 				this.detailsList = (data.list || []).map(ele => {
 					return {

+ 1 - 1
ghsApp/src/pagesPurchase/info.vue

@@ -18,7 +18,7 @@
 			</view>
 			<view class="bills-info_box content-box">
 				<view class="order-info_box">
-					<view>发货时间:</view>
+					<view>{{Number(detailInfo.pfLevel)==0?'发货时间':'送货时间'}}:</view>
 					<view>{{ detailInfo.sendTime && detailInfo.sendTime.indexOf('0000-00-00') < 0 ? detailInfo.sendTime.substr(2, 14) : '' }}</view>
 					<view class="price">
 						<button @click="openSendTimePicker" class="admin-button-com default">修改</button>

+ 4 - 2
ghsApp/src/pagesPurchase/order.vue

@@ -22,7 +22,7 @@
 							ref="sendDateSelect"
 							class="date-select"
 							top="0"
-							defaultShowName="发货时间"
+							:defaultShowName="sendName"
 							@selectDateFn="selectSendDateFn"
 							@overlay-change="onSendDateOverlayChange"
 						/>
@@ -45,7 +45,7 @@
 			</view>
 			<view class="order-list" :class="{ 'is-covered': dateOverlayVisible }">
 				<block v-if="!$util.isEmpty(list.data)">
-					<OrderItem v-for="(item, index) in list.data" :key="index" :info="item" @click="gotoDetails(item)"></OrderItem>
+					<OrderItem v-for="(item, index) in list.data" :key="index" :info="item" :sendName="sendName" @click="gotoDetails(item)"></OrderItem>
 				</block>
 				<block v-else>
 					<AppWrapperEmpty title="暂无数据" :is-empty="$util.isEmpty(list.data)" />
@@ -132,6 +132,7 @@ export default {
 			sendEndTime:'',
 			cgStaffName:'',
 			cgStaffId:0,
+			sendName:'发货时间',
 			sendDateOverlayVisible: false,
 			billDateOverlayVisible: false
 		}
@@ -291,6 +292,7 @@ export default {
 			}
 			return getPurchaseListApi(options) .then(res => {
 					this.completes(res);
+					this.sendName = Number(res.data.pfLevel)==0?'发货时间':'送货时间';
 					this.tabs[this.tabIndex].value = res.data.totalNum?res.data.totalNum:0
 			})
 		},

+ 11 - 1
ghsApp/src/pagesPurchase/orderItem.vue

@@ -15,7 +15,8 @@
 		<view class="item-main" >
 			<view class="item-info">
 				<view class="info-row">
-					<text class="info-label"> 发货:</text>
+					<!-- pfLevel 决定文案:送货时间→送货,发货时间→发货 -->
+					<text class="info-label"> {{ sendTimeLabel }}:</text>
 					<text class="info-value" v-if="!info.sendTime || info.sendTime.indexOf('0000-00-00') >= 0"></text>
 					<text class="info-value" v-else>{{ info.sendTime.substr(2,14) }} </text>
 				</view>
@@ -56,6 +57,11 @@ export default {
 	props: {
 		info: {
 			required: true
+		},
+		// 父页按 pfLevel 传入「发货时间」或「送货时间」
+		sendName: {
+			type: String,
+			default: '发货时间'
 		}
 	},
 	data() {
@@ -64,6 +70,10 @@ export default {
 		};
 	},
 	computed: {
+		/** 列表行标签:送货时间→送货,否则发货 */
+		sendTimeLabel() {
+			return this.sendName === '送货时间' ? '送货' : '发货'
+		},
 		/**
 		 * 草稿 addTime:记账时间 entryTime 为空,或与 addTime 相差超过 30 分钟时才显示。
 		 */