shish 1 mese fa
parent
commit
7645d9c887

+ 59 - 20
ghsApp/src/admin/clear/customInfo.vue

@@ -90,13 +90,22 @@
 									</text>
 									<text class="item-count" style="color: #3385ff;">查看明细</text>
 								</view>
-								<!-- 部分销:备注式小字,独立一行自然换行 -->
+								<!-- 多张结账单:标题单独一行,每行最多 4 个,项间距 30upx -->
 								<view v-if="showOrderClearLinks(s)" class="order-clear-remark" @click.stop>
-									<text class="order-clear-remark__label">总共{{ s.orderClearList.length }}个结账单:</text>
-									<block v-for="(bill, billIndex) in s.orderClearList" :key="billIndex">
-										<text v-if="billIndex > 0" class="order-clear-remark__sep">、</text>
-										<text class="order-clear-remark__link" @click.stop="goClearBill(bill)">{{ bill.clearSn ? bill.clearSn : ('结账单' + (billIndex + 1)) }}</text>
-									</block>
+									<view class="order-clear-remark__label">总共{{ s.orderClearList.length }}个结账单:</view>
+									<view
+										v-for="(row, rowIndex) in getOrderClearBillRows(s.orderClearList)"
+										:key="rowIndex"
+										class="order-clear-remark__row"
+									>
+										<text
+											v-for="(bill, billIndex) in row"
+											:key="billIndex"
+											class="order-clear-remark__link"
+											:class="{ 'order-clear-remark__link--gap': billIndex > 0 }"
+											@click.stop="goClearBill(bill)"
+										>{{ getOrderClearBillLabel(bill, rowIndex, billIndex) }}</text>
+									</view>
 								</view>
 							</view>
 						</view>
@@ -300,16 +309,42 @@ export default {
 				phoneNumber: mobile
 			});
 		},
-		/** 部分销或多张结账单:是否展示订单关联结账单链接 */
+		/** 多张结账单时才展示关联链接;仅 1 张时不显示此栏 */
 		showOrderClearLinks(order) {
 			if (this.$util.isEmpty(order) || this.$util.isEmpty(order.orderClearList)) {
 				return false
 			}
-			if (Number(order.remainDebtPrice) > 0) {
-				return true
-			}
 			return order.orderClearList.length > 1
 		},
+		/** 结账单链接每行展示个数 */
+		getOrderClearBillRowSize() {
+			return 4
+		},
+		/** 结账单链接按每行分组,便于换行展示 */
+		getOrderClearBillRows(orderClearList) {
+			if (!Array.isArray(orderClearList) || !orderClearList.length) {
+				return []
+			}
+			const rowSize = this.getOrderClearBillRowSize()
+			const rows = []
+			for (let i = 0; i < orderClearList.length; i += rowSize) {
+				rows.push(orderClearList.slice(i, i + rowSize))
+			}
+			return rows
+		},
+		/** 无单号时的结账单序号(从 1 开始) */
+		getOrderClearBillDisplayIndex(rowIndex, billIndex) {
+			return rowIndex * this.getOrderClearBillRowSize() + billIndex + 1
+		},
+		/** 结账单链接文案:「单号」+ 结账单号后四位;无单号时用结账单序号兜底 */
+		getOrderClearBillLabel(bill, rowIndex, billIndex) {
+			const clearSn = bill && bill.clearSn ? String(bill.clearSn).trim() : ''
+			if (clearSn) {
+				const suffix = clearSn.length > 4 ? clearSn.slice(-4) : clearSn
+				return '单号' + suffix
+			}
+			return '结账单' + this.getOrderClearBillDisplayIndex(rowIndex, billIndex)
+		},
 		/** 部分销订单:redirectTo 替换当前页,不压入页面栈 */
 		goClearBill(item) {
 			const id = Number(item && item.clearId ? item.clearId : 0)
@@ -458,26 +493,30 @@ export default {
 					}
 					.order-clear-remark {
 						margin-top: 20upx;
-						line-height: 2;
-						word-break: break-all;
-					}
-					.order-clear-remark__label,
-					.order-clear-remark__link,
-					.order-clear-remark__sep {
-						display: inline;
 					}
 					.order-clear-remark__label {
+						display: block;
 						font-size: 30upx;
 						color: #999;
+						line-height: 1.6;
+					}
+					.order-clear-remark__row {
+						display: block;
+						margin-top: 8upx;
+						line-height: 1.8;
+						word-break: break-all;
+					}
+					.order-clear-remark__row:first-of-type {
+						margin-top: 10upx;
 					}
 					.order-clear-remark__link {
+						display: inline;
 						font-size: 30upx;
 						color: #3385ff;
 						font-weight: normal;
 					}
-					.order-clear-remark__sep {
-						font-size: 30upx;
-						color: #999;
+					.order-clear-remark__link--gap {
+						margin-left: 30upx;
 					}
 				}
 			}

+ 2 - 2
ghsApp/src/pagesStorehouse/stockWarn/detailed.vue

@@ -20,8 +20,8 @@
 				</t-table>
 			</view>
 			<view style="margin:20upx 0 0 70upx;background-color:#F0F2F6;padding-bottom:15upx;">
-				<button class="admin-button-com middle" :class="[hideCost==0?'blue':'']" style="margin-right:40upx;" @click="hideCost=0">开启成本</button>
-				<button class="admin-button-com middle" :class="[hideCost==1?'blue':'']" @click="hideCost=1">关闭成本</button>
+				<button class="admin-button-com middle" :class="[hideCost==0?'blue':'']" style="margin-right:40upx;" @click="hideCost=0">成本显示</button>
+				<button class="admin-button-com middle" :class="[hideCost==1?'blue':'']" @click="hideCost=1">成本隐藏</button>
 			</view>
 		</view>
 		

+ 72 - 22
hdApp/src/admin/clear/info.vue

@@ -16,9 +16,20 @@
 						<button @click="copy(detailInfo.orderSn)" class="admin-button-com default" > 复制 </button>
 					</view>
 				</view>
-				<view class="order-info_box" v-if="detailInfo.status==2">
+				<!-- 已结清:展示实付方式及线上/线下(与 ghsApp admin/clear/customInfo 一致,onlinePay 1=线下 2=线上) -->
+				<view class="order-info_box" v-if="detailInfo.status == 2">
 					<view>支付方式:</view>
-					<view>{{ detailInfo.payWay==0?'微信':detailInfo.payWay==1?'支付宝':detailInfo.payWay==4?'现金':detailInfo.payWay==5?'银行卡':'其它' }}</view>
+					<view>
+						{{ detailInfo.payWay==0?'微信':detailInfo.payWay==1?'支付宝':detailInfo.payWay==4?'现金':detailInfo.payWay==5?'银行卡':detailInfo.payWay==11?'抵扣':'--' }}
+						<text v-if="detailInfo.onlinePay == 1">
+							<text v-if="detailInfo.payWay==0 || detailInfo.payWay==1">(线下)</text>
+						</text>
+						<text v-else style="font-weight:bold;color:#3385ff;">(线上)</text>
+					</view>
+				</view>
+				<view class="order-info_box" v-if="detailInfo.status == 2 && detailInfo.payRemark!=''">
+					<view>支付说明:</view>
+					<view>{{ detailInfo.payRemark }}</view>
 				</view>
 				<view class="order-info_box">
 					<view>操作人员:</view>
@@ -60,13 +71,22 @@
 									</text>
 									<text class="item-count" style="color:#3385ff;font-size:28upx;">查看明细</text>
 								</view>
-								<!-- 部分销:备注式小字,独立一行自然换行 -->
+								<!-- 多张结账单:标题单独一行,每行最多 4 个,项间距 30upx -->
 								<view v-if="showOrderClearLinks(s)" class="order-clear-remark" @click.stop>
-									<text class="order-clear-remark__label">总共{{ s.orderClearList.length }}个结账单:</text>
-									<block v-for="(bill, billIndex) in s.orderClearList" :key="billIndex">
-										<text v-if="billIndex > 0" class="order-clear-remark__sep">、</text>
-										<text class="order-clear-remark__link" @click.stop="goClearBill(bill)">{{ bill.clearSn ? bill.clearSn : ('结账单' + (billIndex + 1)) }}</text>
-									</block>
+									<view class="order-clear-remark__label">总共{{ s.orderClearList.length }}个结账单:</view>
+									<view
+										v-for="(row, rowIndex) in getOrderClearBillRows(s.orderClearList)"
+										:key="rowIndex"
+										class="order-clear-remark__row"
+									>
+										<text
+											v-for="(bill, billIndex) in row"
+											:key="billIndex"
+											class="order-clear-remark__link"
+											:class="{ 'order-clear-remark__link--gap': billIndex > 0 }"
+											@click.stop="goClearBill(bill)"
+										>{{ getOrderClearBillLabel(bill, rowIndex, billIndex) }}</text>
+									</view>
 								</view>
 							</view>
 						</view>
@@ -164,16 +184,42 @@ export default {
 			}
 			this.pageTo({url: '/pagesPurchase/purDetails',query: {id: s.id,}})
 		},
-		/** 部分销或多张结账单:是否展示订单关联结账单链接 */
+		/** 多张结账单时才展示关联链接;仅 1 张时不显示此栏 */
 		showOrderClearLinks(order) {
 			if (this.$util.isEmpty(order) || this.$util.isEmpty(order.orderClearList)) {
 				return false
 			}
-			if (Number(order.remainDebtPrice) > 0) {
-				return true
-			}
 			return order.orderClearList.length > 1
 		},
+		/** 结账单链接每行展示个数 */
+		getOrderClearBillRowSize() {
+			return 4
+		},
+		/** 结账单链接按每行分组,便于换行展示 */
+		getOrderClearBillRows(orderClearList) {
+			if (!Array.isArray(orderClearList) || !orderClearList.length) {
+				return []
+			}
+			const rowSize = this.getOrderClearBillRowSize()
+			const rows = []
+			for (let i = 0; i < orderClearList.length; i += rowSize) {
+				rows.push(orderClearList.slice(i, i + rowSize))
+			}
+			return rows
+		},
+		/** 无单号时的结账单序号(从 1 开始) */
+		getOrderClearBillDisplayIndex(rowIndex, billIndex) {
+			return rowIndex * this.getOrderClearBillRowSize() + billIndex + 1
+		},
+		/** 结账单链接文案:「单号」+ 结账单号后四位;无单号时用结账单序号兜底 */
+		getOrderClearBillLabel(bill, rowIndex, billIndex) {
+			const clearSn = bill && bill.clearSn ? String(bill.clearSn).trim() : ''
+			if (clearSn) {
+				const suffix = clearSn.length > 4 ? clearSn.slice(-4) : clearSn
+				return '单号' + suffix
+			}
+			return '结账单' + this.getOrderClearBillDisplayIndex(rowIndex, billIndex)
+		},
 		/** 部分销订单:redirectTo 替换当前页,不压入页面栈 */
 		goClearBill(item) {
 			const id = Number(item && item.clearId ? item.clearId : 0)
@@ -365,26 +411,30 @@ export default {
 					}
 					.order-clear-remark {
 						margin-top: 20upx;
-						line-height: 2;
-						word-break: break-all;
-					}
-					.order-clear-remark__label,
-					.order-clear-remark__link,
-					.order-clear-remark__sep {
-						display: inline;
 					}
 					.order-clear-remark__label {
+						display: block;
 						font-size: 30upx;
 						color: #999;
+						line-height: 1.6;
+					}
+					.order-clear-remark__row {
+						display: block;
+						margin-top: 8upx;
+						line-height: 1.8;
+						word-break: break-all;
+					}
+					.order-clear-remark__row:first-of-type {
+						margin-top: 10upx;
 					}
 					.order-clear-remark__link {
+						display: inline;
 						font-size: 30upx;
 						color: #3385ff;
 						font-weight: normal;
 					}
-					.order-clear-remark__sep {
-						font-size: 30upx;
-						color: #999;
+					.order-clear-remark__link--gap {
+						margin-left: 30upx;
 					}
 				}
 			}