From ccf8a9e7e53ce1516960cbd101e0afc7ac8ea2c2 Mon Sep 17 00:00:00 2001
From: xuxueyang <xuxy@fengyuntec.com>
Date: 星期二, 20 八月 2024 17:42:13 +0800
Subject: [PATCH] update 质检功能

---
 sub_pages/partner/delivery/delivery-supplier-detail.vue |  265 +++++++++++++++++++++++++++++++++++++
 common/global.scss                                      |    1 
 sub_pages/partner/delivery/delivery-detail.vue          |   34 ++--
 sub_pages/partner/delivery/delivery.vue                 |   57 ++++---
 pages.json                                              |   35 ++--
 5 files changed, 337 insertions(+), 55 deletions(-)

diff --git a/common/global.scss b/common/global.scss
index 33c1f02..13ee8b7 100644
--- a/common/global.scss
+++ b/common/global.scss
@@ -147,6 +147,7 @@
 	display: flex;
 	margin-left: 0rpx;
 	margin-right: auto;
+	font-size: 30rpx;
 	flex: 1;
 	padding-left: 0rpx;
 	padding-right: 0rpx;
diff --git a/pages.json b/pages.json
index 060f515..8748ac2 100644
--- a/pages.json
+++ b/pages.json
@@ -222,20 +222,18 @@
 						"navigationBarTitleText": "送货单",
 						"enablePullDownRefresh": true
 					}
-				},
-				{
-					"path" : "order-manage/order-manage-settlement",
-					"style" : 
-					{
-						"navigationBarTitleText" : "送货单结算明细"
-					}
-				},
-				{
-					"path" : "order-manage/order-manage-flower",
-					"style" : 
-					{
-						"navigationBarTitleText" : "送货单"
-					}
+				},
+				{
+					"path": "order-manage/order-manage-settlement",
+					"style": {
+						"navigationBarTitleText": "送货单结算明细"
+					}
+				},
+				{
+					"path": "order-manage/order-manage-flower",
+					"style": {
+						"navigationBarTitleText": "送货单"
+					}
 				}
 				// #endif				
 				// #ifdef PUB_PARTNER
@@ -318,6 +316,13 @@
 					}
 				},
 				{
+					"path": "delivery/delivery-supplier-detail",
+					"style": {
+						"navigationBarTitleText": "供应商质检详情",
+						"enablePullDownRefresh": true
+					}
+				},
+				{
 					"path": "delivery/delivery-home",
 					"style": {
 						"navigationBarTitleText": "",
@@ -381,7 +386,7 @@
 				{
 					"path": "shop/shop",
 					"style": {
-						"navigationBarTitleText": "商家主页",
+						"navigationBarTitleText": "商家主页",
 						"enablePullDownRefresh": true
 					}
 				},
diff --git a/sub_pages/partner/delivery/delivery-detail.vue b/sub_pages/partner/delivery/delivery-detail.vue
index cae20ce..e148c37 100644
--- a/sub_pages/partner/delivery/delivery-detail.vue
+++ b/sub_pages/partner/delivery/delivery-detail.vue
@@ -15,7 +15,7 @@
 				form: {
 					id: '',
 					status: '',
-					checkImageList: [],
+					pictureList: [],
 					checkRemarks: '',
 					deductAmount: 0,
 				},
@@ -103,16 +103,16 @@
 					statusStr: '',
 					num: 0,
 					remarks: '',
+					pictureList: [],
 
 
 				}
 				if (status === 'reduce') {
 					this.form = {
 						...this.form,
-						pictureList: [item.id],
 						deductAmount: 0,
 						targetLevel: '',
-						checkImageList: [],
+						pictureList: [],
 					}
 				}
 
@@ -136,10 +136,12 @@
 				})
 				this.$message.hideLoading()
 				if (code === 0) {
-					this.$message.showToast('操作成功')
 					this.form = {
 						...this.form,
 						...(data || {})
+					}
+					if (!this.form.pictureList) {
+						this.form.pictureList = []
 					}
 					//显示
 					this.$refs.popup_form.open()
@@ -209,7 +211,7 @@
 				}
 			},
 			deleteCheckImage(index) {
-				this.form.checkImageList.splice(index, 1)
+				this.form.pictureList.splice(index, 1)
 			},
 			uploadCheckImage() {
 				let that = this
@@ -232,7 +234,7 @@
 										0]
 									.url || ''
 								that.$message.hideLoading()
-								that.form.checkImageList.push(pic)
+								that.form.pictureList.push(pic)
 								console.log('form', that.form)
 								that.$forceUpdate()
 							}).catch(res => {
@@ -307,10 +309,10 @@
 						</view>
 					</view>
 				</view>
-				<view class="line-gray" v-if="item.status == 'ARRIVED'||item.status == 'PENDING'||!item.status">
+				<view class="line-gray" v-if="item.status == 'ARRIVED'||item.status == 'PENDING'||!item.status||true">
 
 				</view>
-				<view class="buttons" v-if="item.status == 'ARRIVED'||item.status == 'PENDING'||!item.status">
+				<view class="buttons" v-if="item.status == 'ARRIVED'||item.status == 'PENDING'||!item.status||true">
 					<view class="button text-center" v-for="button of check_status" :key="button.value"
 						@click.stop="clickCheck(item,button.value)">{{ button.label }}
 					</view>
@@ -325,17 +327,17 @@
 		</view>
 
 		<uni-popup ref="popup_form" type="top" :mask-click="false">
-			<view class="popup-check-form">
+			<view class="popup-check-form" style="min-height: 880rpx;height: unset;">
 				<view class="close-parent">
 					质检操作-{{ form.statusStr || '-' }}
 					<uni-icons class="close" type="closeempty" @click="closeCheckForm"></uni-icons>
 				</view>
 				<view class="submit form">
-					<view class="form-item" v-if="form.status==='reduce'">
-						<view class="form-item-label require">
+					<view class="form-item" v-if="form.status==='reduce'" style="height: unset;">
+						<view class="form-item-label require" style="min-width: 120rpx;margin-right: 10rpx;">
 							降级等级
 						</view>
-						<view class="form-item-value">
+						<view class="form-item-value flex">
 							<view class="value-item" @click="()=>{
 									if(form.targetLevel!==query.value){
 										form.targetLevel = each.value
@@ -383,8 +385,8 @@
 							<view class="t-red" @click="uploadCheckImage()">上传</view>
 						</view>
 					</view>
-					<view class="flex p20" v-if="form.checkImageList&&form.checkImageList.length>0">
-						<view class="m-t-12 m-r-10 " v-for="(timg,index) of form.checkImageList" :key="index">
+					<view class="flex p20" v-if="form.pictureList&&form.pictureList.length>0">
+						<view class="m-t-12 m-r-10 " v-for="(timg,index) of form.pictureList" :key="index">
 							<image class="check-img" :src="timg" @click.stop="previewImg(timg)">
 							</image>
 							<view class="t-red text-center" @click.stop="deleteCheckImage(index)">删除</view>
@@ -524,8 +526,8 @@
 					line-height: 58rpx;
 					padding: 8rpx 24rpx;
 					color: #33a868;
-					margin-left: 6rpx;
-					margin-right: 6rpx;
+					margin-left: 16rpx;
+					margin-right: 16rpx;
 					border: 2rpx solid #F1F5F2;
 				}
 
diff --git a/sub_pages/partner/delivery/delivery-supplier-detail.vue b/sub_pages/partner/delivery/delivery-supplier-detail.vue
new file mode 100644
index 0000000..b6a4488
--- /dev/null
+++ b/sub_pages/partner/delivery/delivery-supplier-detail.vue
@@ -0,0 +1,265 @@
+<script>
+	export default {
+		data() {
+			return {
+				query: {
+					supplierName: '',
+					stationId: '',
+					stationName: '',
+					statusStr: '',
+					status: '',
+					warehouseLocationCode: '',
+				},
+				show_select_station: false,
+				show_select_status: false,
+				selecttoday: true,
+				columns_station: [],
+				status_columns: [],
+			}
+		},
+		onLoad(options) {
+			this.query.supplierId = options.supplierId || ''
+
+			this.listApi = '/api/delivery/check/info/list'
+
+			if (options.range == 'today') {
+				this.listApi += '/today'
+			}
+
+			this.getList()
+
+			this.$http.request('get', '/api/code/value', {
+				params: {
+					type: 'DELIVERY_ORDER_STATUS'
+				}
+			}).then(res => {
+				var data = res.data || []
+				this.status_columns = [data || []]
+				this.status_columns[0].unshift({
+					label: '全部',
+					value: ''
+				})
+				console.log('status_columns', this.status_columns)
+			})
+
+		},
+		onReachBottom() {
+			this.getMore()
+		},
+		async onPullDownRefresh() {
+			this.page.current = 1
+			await this.getList()
+			uni.stopPullDownRefresh()
+		},
+		methods: {
+
+			callTel(tel) {
+				if (tel) {
+					uni.makePhoneCall({
+						phoneNumber: tel
+					})
+				}
+			},
+			buttonSearchFlow() {
+				this.refreshList()
+			},
+			select_station(e) {
+				this.show_select_station = false
+				this.query.stationName = e.value[0].name
+				this.query.stationId = e.value[0].id
+				this.refreshList()
+			},
+			select_status(e) {
+				this.show_select_status = false
+				this.query.statusStr = e.value[0].label
+				this.query.status = e.value[0].value
+				this.refreshList()
+			},
+			toDetail(item) {
+				uni.navigateTo({
+					url: `/sub_pages/partner/delivery/delivery-detail?id=${item.id}`
+				})
+			},
+
+		}
+	}
+</script>
+<template>
+	<!-- 列表页面 -->
+	<view class="page-delivery">
+		<view class="p15" style="min-height: calc(100vh - 260rpx);">
+			<view class="search-container m-t-12 flex">
+				<view class="flex1 input">
+					<u-input placeholder="请输入供应商名称" v-model="query.supplierName">
+						<template slot="suffix">
+							<uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons>
+						</template>
+					</u-input>
+				</view>
+			</view>
+
+			<view class="search-container m-t-12 flex">
+				<view class="flex1 input">
+					<u-input placeholder="请输入货位号" v-model="query.warehouseLocationCode">
+						<template slot="suffix">
+							<uni-icons color="#20613D" type="search" size="24" @tap="buttonSearchFlow"></uni-icons>
+						</template>
+					</u-input>
+				</view>
+				<view class="component-filter-container p10 bg-white m-l-10">
+					<view class="flex1" @click="show_select_status=true">
+						配送单状态:{{ query.statusStr || '全部' }}
+						<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
+					</view>
+				</view>
+			</view>
+
+
+			<no-data v-if="!list||list.length===0" style="width: 100%;"></no-data>
+			<view v-for="(item,index) in list" :key="index" class="m-b-24">
+				<view class="delivery-item bg-white br-4 p10">
+					<view class="title flex">
+						<view>供应商:{{ item.supplierName }}</view>
+						<view class="w-fit m-l-a m-r-0 text-right" v-if="item.supplierTel"
+							@click="callTel(item.supplierTel)">{{ item.supplierTel }}</view>
+
+					</view>
+					<view class="line-gray"></view>
+					<view class="form-item">
+						<view class="form-item-label">订单单号</view>
+						<view class="form-item-value">{{ item.orderNo || '-' }}</view>
+					</view>
+					<view class="flex">
+						<view class="form-item flex1">
+							<view class="form-item-label">集货站</view>
+							<view class="form-item-value">{{ item.stationName || '-' }}</view>
+						</view>
+						<view class="form-item flex1">
+							<view class="form-item-label">货位号</view>
+							<view class="form-item-value">{{ item.warehouseLocationCode || '-' }}</view>
+						</view>
+
+					</view>
+					<view class="flex">
+						<view class="form-item flex1">
+							<view class="form-item-label">状态</view>
+							<view class="form-item-value">{{ item.statusStr || '-' }}</view>
+						</view>
+
+						<view class="form-item flex1">
+							<view class="form-item-label">送达时间</view>
+							<view class="form-item-value">{{ item.arriveTime || '-' }}</view>
+						</view>
+					</view>
+	
+
+					<view class="line-gray"></view>
+					<view class="flex buttons">
+						<!-- v-if="item.status==='ARRIVED'||item.status==='PENDING'" -->
+						<!-- <view class="button button-1 m-l-a m-r-15" @click="compelete(item)">一键质检</view> -->
+						<view class="button button-0 m-l-a m-r-0" @click="toDetail(item)">
+							{{(item.status==='ARRIVED'||item.status==='PENDING')?'前往质检':'查看详情'}}
+							<!-- 查看详情 -->
+						</view>
+
+					</view>
+				</view>
+			</view>
+		</view>
+
+		<!-- 判断是否到底了,自动吧 -->
+		<footer-msg :more="page.total>0&&page.total>page.current*page.size"></footer-msg>
+		<u-picker @confirm="select_station" keyName="name" @cancel="show_select_station=false"
+			:show="show_select_station" :columns="columns_station"></u-picker>
+		<u-picker @confirm="select_status" keyName="label" @cancel="show_select_status=false" :show="show_select_status"
+			:columns="status_columns"></u-picker>
+
+
+	</view>
+</template>
+
+<style lang="scss" scoped>
+	.page-delivery {
+		.delivery-item {
+			.title {
+				font-weight: 600;
+				font-size: 32rpx;
+				color: #000000;
+				line-height: 40rpx;
+			}
+
+			.form-item {
+				line-height: 40rpx;
+				font-size: 28rpx;
+				color: #666;
+				display: flex;
+
+				.form-item-label {
+					min-width: 120rpx;
+				}
+
+				.form-item-label::after {
+					content: ":";
+					margin-right: 20rpx;
+				}
+			}
+
+			.buttons {
+				display: flex;
+				margin-left: auto;
+				width: fit-content;
+
+				.button {
+					// width: 216rpx;
+					padding: 10rpx 20rpx;
+					line-height: 34rpx;
+					font-size: 24rpx;
+					height: 34rpx;
+					background: #20613D;
+					text-align: center;
+					border-radius: 30rpx;
+
+				}
+
+				.button-1 {
+					background: #fff;
+					color: #333;
+					border: 2rpx solid #333;
+
+				}
+
+				.button-0 {
+					color: #fff;
+					border: 2rpx solid #20613D;
+				}
+			}
+		}
+
+		.search-container {
+			display: flex;
+			margin: 12rpx 0rpx 20rpx 0rpx;
+			position: relative;
+			z-index: 1;
+
+			.input {
+				// flex: 1;
+				// max-width: 400rpx;
+				background-color: #fff !important;
+				// line-height: 58rpx;
+				// height: 58rpx;
+				border-radius: 8rpx;
+			}
+
+			.button {
+				min-width: 120rpx;
+				max-width: 120rpx;
+				margin-left: auto;
+				margin-right: 0rpx;
+				text-align: right;
+				line-height: 70rpx !important;
+				// height: 58rpx !important;
+				// display: flex;
+			}
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/sub_pages/partner/delivery/delivery.vue b/sub_pages/partner/delivery/delivery.vue
index b57b313..8471586 100644
--- a/sub_pages/partner/delivery/delivery.vue
+++ b/sub_pages/partner/delivery/delivery.vue
@@ -23,6 +23,8 @@
 
 			// this.listApi = '/api/delivery/list/today'
 			this.listApi = '/api/delivery/check/list/today'
+			// this.listApi = '/api/delivery/check/list'
+
 			this.getList()
 			// this.$http.request('get', '/api/station/list', {
 			// 	params: {}
@@ -59,9 +61,9 @@
 
 				this.$nextTick(() => {
 					if (this.selecttoday) {
-						this.listApi = '/api/supplier/delivery/list/today'
+						this.listApi = '/api/delivery/check/list/today'
 					} else {
-						this.listApi = '/api/supplier/delivery/list'
+						this.listApi = '/api/delivery/check/list'
 					}
 					this.refreshList()
 				})
@@ -90,7 +92,8 @@
 			},
 			toDetail(item) {
 				uni.navigateTo({
-					url: `/sub_pages/partner/delivery/delivery-detail?id=${item.id}`
+					url: `/sub_pages/partner/delivery/delivery-supplier-detail?supplierId=${item.id}&range=` + (this
+						.selecttoday ? 'today' : '')
 				})
 			},
 			async compelete(item) {
@@ -106,11 +109,11 @@
 				})
 				if (code === 0) {
 					this.$message.showToast('完成成功')
-					let tmp = this
-					setTimeout(async () => {
-						await tmp.refreshList()
-						tmp.$forceUpdate()
-					}, 500)
+					// let tmp = this
+					// setTimeout(async () => {
+					// 	await tmp.refreshList()
+					// 	tmp.$forceUpdate()
+					// }, 500)
 				}
 			}
 		}
@@ -129,12 +132,7 @@
 					</u-input>
 				</view>
 			</view>
-			<!-- <view class="m-t-12">
-				<view class="m-l-a m-r-20 w-fit flex">
-					<radio :checked="selecttoday" @click="changeSelecrRange"></radio>
-					<view>只查看今日</view>
-				</view>
-			</view> -->
+
 			<view class="search-container m-t-12 flex">
 				<view class="flex1 input">
 					<u-input placeholder="请输入货位号" v-model="query.warehouseLocationCode">
@@ -148,6 +146,12 @@
 						配送单状态:{{ query.statusStr || '全部' }}
 						<image src="../../../static/common/icon-arrow-down.png" class="icon-arrow-down"></image>
 					</view>
+				</view>
+			</view>
+			<view class="m-t-12 m-b-12">
+				<view class="m-l-a m-r-20 w-fit flex">
+					<radio :checked="selecttoday" @click="changeSelecrRange"></radio>
+					<view>只查看今日</view>
 				</view>
 			</view>
 
@@ -172,43 +176,48 @@
 
 					</view>
 					<view class="line-gray"></view>
-					<view class="form-item">
+					<!-- 		<view class="form-item">
 						<view class="form-item-label">订单单号</view>
 						<view class="form-item-value">{{ item.orderNo || '-' }}</view>
-					</view>
+					</view> -->
 					<view class="flex">
 						<view class="form-item flex1">
 							<view class="form-item-label">集货站</view>
 							<view class="form-item-value">{{ item.stationName || '-' }}</view>
 						</view>
-						<view class="form-item flex1">
+						<!-- 	<view class="form-item flex1">
 							<view class="form-item-label">货位号</view>
 							<view class="form-item-value">{{ item.warehouseLocationCode || '-' }}</view>
-						</view>
+						</view> -->
 
 					</view>
 					<view class="flex">
-						<view class="form-item flex1">
+						<!-- <view class="form-item flex1">
 							<view class="form-item-label">状态</view>
 							<view class="form-item-value">{{ item.statusStr || '-' }}</view>
+						</view> -->
+						<view class="form-item flex1">
+							<view class="form-item-label">交易金额</view>
+							<view class="form-item-value">¥{{ item.totalAmount || '0.00' }}</view>
 						</view>
 						<view class="form-item flex1">
 							<view class="form-item-label">供货总数</view>
 							<view class="form-item-value">{{ item.totalNum || '-' }}</view>
 						</view>
 					</view>
-					<view class="form-item flex1">
+					<!-- 	<view class="form-item flex1">
 						<view class="form-item-label">送达时间</view>
 						<view class="form-item-value">{{ item.arriveTime || '-' }}</view>
-					</view>
+					</view> -->
 
 
 					<view class="line-gray"></view>
 					<view class="flex buttons">
-						<view class="button button-1 m-l-a m-r-15"
-							v-if="item.status==='ARRIVED'||item.status==='PENDING'" @click="compelete(item)">一键质检</view>
+						<!-- v-if="item.status==='ARRIVED'||item.status==='PENDING'" -->
+						<view class="button button-1 m-l-a m-r-15" @click="compelete(item)">一键质检</view>
 						<view class="button button-0 m-l-a m-r-0" @click="toDetail(item)">
-							{{(item.status==='ARRIVED'||item.status==='PENDING')?'前往质检':'查看详情'}}
+							<!-- {{(item.status==='ARRIVED'||item.status==='PENDING')?'前往质检':'查看详情'}} -->
+							前往质检
 						</view>
 
 					</view>

--
Gitblit v1.9.3