From 5c63b1fccedfcd208f3434edb79926c206c3d26f Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期二, 29 四月 2025 14:52:35 +0800
Subject: [PATCH] feat:增加类型显示

---
 pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue |  320 ++++++++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 301 insertions(+), 19 deletions(-)

diff --git a/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue b/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue
index 6291997..851a30c 100644
--- a/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue
+++ b/pages/doorkeeper-page/doorkeeper-index/doorkeeper-index.vue
@@ -4,6 +4,15 @@
 				<u-search @change="change" :searchIconSize="40" placeholder="璇疯緭鍏ヨ溅鐗屽彿" height="60" clearabled v-model="carNo" @search="search" @custom="custom" @clear="clear" >
 				</u-search >
 			</view>
+			<u-collapse
+					ref="myCollapse"
+					:value='["1"]'
+					>
+					 <u-collapse-item
+					 ref="collapseHeight"
+					 name='1'
+					class="collItem"
+					:title="'寰呮鏌ヨ溅杈�'">	
 			<view style="position: relative;top: -40px;">
 				<u-empty mode="data"
 					icon="http://cdn.uviewui.com/uview/empty/data.png"
@@ -21,9 +30,10 @@
 							<view class="dispatch-dept">{{ item.code || ''  }}</view>
 							<view class="black-bar"></view>
 							<view class="dispatch">{{ item.customerName ||'' }}</view>
+							<view class="dispatch-dept">{{ item.orderType || ''  }}</view>
 						</view>
 						<view class="point-number">
-							<text class="order-type">{{ item.productNames || '' }}</text>
+							<text class="order-type">{{ item.productNames?limitString(item.productNames,20,'...'):'' || '' }}</text>
 						</view>
 					</view>
 					<view class="second-line">
@@ -38,7 +48,7 @@
 					<view class="third-line">
 						<view class="time-icon">
 							<view
-								style="width: 24rpx;height: 24rpx;li ne-height: 24rpx;background: url('https://mx.jzeg.cn:9096/appimg/image/banner/clock.png') no-repeat;background-size: cover">
+								style="width: 24rpx;height: 24rpx;line-height: 24rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/clock.png') no-repeat;background-size: cover">
 							</view>
 						</view>
 						<view class="send-date">{{ item.sendDate }} {{ item.startTime || '' }}-{{item.endTime || ""}}</view>
@@ -47,7 +57,7 @@
 						<view class="receive"
 						v-if="item.roadTransportId"
 							@click.stop="lookRoad(item)">
-							<view class="button-image">閬撹矾杩愯緭璇�</view>
+							<view class="button-image">鍓ф瘨閫氳璇�</view>
 						</view>
 						<view class="forward"
 							@click.stop="yuYueBtnClick(item)">
@@ -56,6 +66,125 @@
 					</view>
 				</view>
 			</view>
+			</u-collapse-item>
+			</u-collapse>
+			<u-collapse
+					ref="myCollapse"
+					>
+					 <u-collapse-item
+					 ref="collapseHeights"
+					 name='3'
+					class="collItem"
+					:title="'涓存椂鍏ュ満杞﹁締'">	
+			<view style="position: relative;top: -40px;">
+				<u-empty mode="data"
+					icon="http://cdn.uviewui.com/uview/empty/data.png"
+					textSize="30"
+					iconSize="1000"
+					text="鏆傛棤杞﹁締"
+					v-if="driverTemporaryEntry.length == 0"></u-empty>
+			</view>
+			<view class="collection-form">
+				<view class="collection-form-item"
+					v-for="(item, index) in driverTemporaryEntry"
+					:key="index">
+					<view class="second-line">
+						<view class="coal-name">
+							<view class="dispatch-dept">{{ item.carNo || ''  }}</view>
+							<view class="black-bar"></view>
+							<view class="dispatch">{{ item.driver ||'' }}</view>
+							<view class="black-bar"></view>
+							<text>{{ item.phone || '' }}</text>
+						</view>
+					</view>
+					<view class="third-line">
+						<view class="time-icon">
+							<view
+								style="width: 24rpx;height: 24rpx;line-height: 24rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/clock.png') no-repeat;background-size: cover">
+							</view>
+						</view>
+						<view class="send-date">{{ item.sendDate }} {{ item.startTime || '' }}-{{item.endTime || ""}}</view>
+					</view>
+					<view class="first-line">
+						<view class="dispatch-receive">
+							<view class="dispatch-dept">{{ item.coalName || ''  }}</view>
+							<view class="black-bar"></view>
+							<view class="dispatch">{{ item.customerName ||'' }}</view>
+								<view class="dispatch-dept">{{ item.orderType || ''  }}</view>
+						</view>
+						<view class="point-number">
+							<text class="order-type">{{ item.productNames?limitString(item.productNames,20,'...'):'' || '' }}</text>
+						</view>
+					</view>
+					<view class="fourth-line">
+						<view class="forward"
+							@click.stop="yuYueLiShBtnClick(item)">
+							<view class="button-image">妫�鏌�</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			</u-collapse-item>
+			</u-collapse>
+			<u-collapse
+					ref="myCollapse"
+					>
+					 <u-collapse-item
+					 name='2'
+					class="collItem"
+					:title="'宸叉鏌ヨ溅杈�'">	
+			<view style="position: relative;top: -40px;">
+				<u-empty mode="data"
+					icon="http://cdn.uviewui.com/uview/empty/data.png"
+					textSize="30"
+					iconSize="1000"
+					text="鏆傛棤杞﹁締"
+					v-if="driverBillOfLoadingDatas.length == 0"></u-empty>
+			</view>
+			<view class="collection-form" style="margin-bottom: 60px;">
+				<view class="collection-form-item"
+					v-for="(item, index) in driverBillOfLoadingDatas"
+					:key="index">
+					<view class="first-line">
+						<view class="dispatch-receive">
+							<view class="dispatch-dept">{{ item.code || ''  }}</view>
+							<view class="black-bar"></view>
+							<view class="dispatch">{{ item.customerName ||'' }}</view>
+						</view>
+						<view class="point-number">
+							<text class="order-type">{{ item.productNames?limitString(item.productNames,20,'...'):'' || '' }}</text>
+						</view>
+					</view>
+					<view class="second-line">
+						<view class="coal-name">
+							<view class="dispatch-dept">{{ item.carNo || ''  }}</view>
+							<view class="black-bar"></view>
+							<view class="dispatch">{{ item.driver ||'' }}</view>
+							<view class="black-bar"></view>
+							<text>{{ item.phone || '' }}</text>
+							<view class="black-bar"></view>
+								<view class="dispatch-dept">{{ item.orderType || ''  }}</view>
+						</view>
+					</view>
+					<view class="third-line">
+						<view class="time-icon">
+							<view
+								style="width: 24rpx;height: 24rpx;line-height: 24rpx;background: url('https://wrzs.czjlchem.com:9090/appimg/image/banner/clock.png') no-repeat;background-size: cover">
+							</view>
+						</view>
+						<view class="send-date">{{ item.inInspectedTime?item.inInspectedTime.slice(10,19):null }} </view>
+					</view>
+					<view class="fourth-line">
+						<view class="receive"
+						v-if="item.roadTransportId"
+							@click.stop="lookRoad(item)">
+							<view class="button-image">鍓ф瘨閫氳璇�</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			</u-collapse-item>
+			</u-collapse>
 			<u-popup :show="imgshow"
 				@close="closeimg"
 				@open="openimg"
@@ -89,6 +218,33 @@
 					height="800rpx"></u--image>
 				</u-popup>
 			</view>
+			<u-popup :show="doorshow"
+				@close="doorclose"
+				@open="dooropen"
+				mode="center"
+				:closeOnClickOverlay='false'
+				round="10">
+				<view class="doorPopup">
+					<view class="doorRadio">
+						<u-radio-group v-model="door"
+							placement="row"
+							size="30"
+							shape="circle"
+							iconSize="20">
+							<u-radio labelSize="14px"
+								size="20px"
+								v-for="(item, index) in doorList"
+								:key="index"
+								:label="item.label"
+								:name="item.name"></u-radio>
+						</u-radio-group>
+					</view>
+					<view class="doorPopup__btn"><u-button text="纭畾"
+							type="primary"
+							@click="doorClick"
+							></u-button></view>
+				</view>
+			</u-popup>
 			<u-popup :show="show"
 				@close="close"
 				@open="open"
@@ -131,11 +287,20 @@
 					@confirm="falseConfirm"
 					@cancel="falseCancel"></u-modal>
 			</view>
+			<view class="falseModel">
+				<u-modal :show="TemporaryEntryShow"
+					:title="logoutTitle"
+					showCancelButton
+					:content="logoutContent"
+					@confirm="TemporaryEntryConfirm"
+					@cancel="TemporaryEntryCancel"></u-modal>
+			</view>
 		</view>
 </template>
 
 <script>
 	import { BaseUrl } from '@/api/publicInterface.js';
+	import combinedTitle from '@/components/combined-title/combined-title.vue';
 	import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue';
 	export default {
 		components: {
@@ -143,8 +308,28 @@
 		},
 		data() {
 			return {
+				doorList: [{
+						name: 2,
+						label: '2鍙烽棬',
+					},
+					{
+						name: 3,
+						label: '3鍙烽棬',
+					}
+				],
+				door:2,
+				doorshow:true,
+				temporaryPlanId:"",
 				show: false, // 寮瑰嚭鍏ㄩ儴棰嗗彇鎻愮ず
-				driverBillOfLoadingData:[],
+				driverBillOfLoadingData:[
+					{
+						carNo:'鍐�A99999',
+						orderType:'澶栬喘'
+					}
+					
+				],
+				driverBillOfLoadingDatas:[],
+				driverTemporaryEntry:[],
 				inspectData:[],
 				isAllSelected:false,
 				form:{},				
@@ -156,6 +341,7 @@
 				certificateImg:"",
 				logoutShow: false,
 				falseShow:false,
+				TemporaryEntryShow:false,
 				logoutTitle: '鎻愮ず',
 				logoutContent: '鏄惁妫�鏌ュ畬姣�',
 				previewImageSrc:"",
@@ -166,6 +352,18 @@
 			this.init();
 		},
 		methods: {
+			handleOpenChange() {
+			    this.$nextTick(() => {
+					this.$refs.collapseHeight.init()
+				});
+				this.$nextTick(() => {
+					this.$refs.collapseHeights.init()
+				});
+			},
+			limitString(str, limit, suffix = '...') {
+				if (str.length <= limit) return str;
+				return str.slice(0, limit) + suffix;
+			},
 			falseConfirm(){
 				this.inspectData=[]
 				uni.showLoading({ title: '鍔犺浇涓�...' });
@@ -187,6 +385,23 @@
 					}
 				})
 			},
+			TemporaryEntryConfirm(){
+				this.$reqPost('temporaryEntryConfirmation',{
+								temporaryPlanId:this.temporaryPlanId,
+							}, 'json').then(res => {
+					if (res.code === 0) {
+						this.form={}
+						this.ClickLoading = false;
+						this.show = false;
+						uni.$u.toast('妫�鏌ユ垚鍔�')
+						this.TaskCoalList()
+						this.TemporaryEntryShow = false;
+					} else {
+						uni.$u.toast(res.msg ? res.msg : '妫�鏌ュけ璐�')
+						this.TemporaryEntryShow = false;
+					}
+				})
+			},
 			logoutConfirm() {
 				if(this.isAllSelected==true){
 					this.ClickLoading = true;
@@ -204,7 +419,7 @@
 									inspectedResult:JSON.stringify(this.inspectData)
 								}, 'json').then(res => {
 						if (res.code === 0) {
-							uni.$u.toast('妫�鏌ユ垚鍔�')
+							this.$u.toast('妫�鏌ユ垚鍔�')
 							this.form={}
 							this.ClickLoading = false;
 							this.inspectData=[]
@@ -212,12 +427,15 @@
 							this.logoutShow = false;
 							this.TaskCoalList()
 						} else {
-							uni.$u.toast(res.msg ? res.msg : '妫�鏌ュけ璐�')
+							this.ClickLoading = false;
+							this.show = false;
 							this.logoutShow = false;
+							this.$u.toast(res.msg || '妫�鏌ュけ璐�')
+							
 						}
 					})
 				}else{
-					uni.$u.toast('蹇呴』鍏ㄩ儴妫�娴�')
+					this.$u.toast('蹇呴』鍏ㄩ儴妫�娴�')
 				}
 			},
 			logoutCancel() {
@@ -225,6 +443,9 @@
 			},
 			falseCancel() {
 				this.falseShow = false;
+			},
+			TemporaryEntryCancel() {
+				this.TemporaryEntryShow = false;
 			},
 			previewImageClose() {
 				this.previewImageShow = false;
@@ -243,8 +464,12 @@
 					this.imgshow=true
 				});
 			},
+			yuYueLiShBtnClick(item){
+				this.temporaryPlanId=item.id
+				this.TemporaryEntryShow = true;
+			},
 			yuYueBtnClick(item){
-				let char = "杩愯緭璇�";
+				let char = "閫氳璇�";
 				if (item.inspectedResult.includes(char)) {
 					if(item.roadTransportId){
 						if(item.inspectedResult){
@@ -272,7 +497,7 @@
 							})
 						}
 					}else{
-						uni.$u.toast('璇ュ徃鏈烘湭涓婁紶杩愯緭璇侊紒')
+						uni.$u.toast('璇ュ徃鏈烘湭涓婁紶閫氳璇侊紒')
 					}
 				} else {
 				   if(item.inspectedResult){
@@ -292,13 +517,24 @@
 			},
 			init() {
 				this.isAllSelected=false
-				this.TaskCoalList();
 				this.form={}
 				this.inspectData=[]
 				this.certificateImg=""
+				if(uni.getStorageSync('door', this.door)){
+					this.TaskCoalList();
+				}
 			},
 			popClick() {
 				this.logoutShow = true;
+			},
+			doorClick(){
+				this.TaskCoalList();
+				this.doorshow = false;
+				uni.setStorageSync('door', this.door);
+			},
+			dooropen() {},
+			doorclose() {
+				this.doorshow = false;
 			},
 			open() {},
 			close() {
@@ -313,22 +549,48 @@
 				uni.showLoading({
 					title: '鍔犺浇涓�...'
 				});
-				
 				if(!this.carNo){
-					this.$reqGet('getCheckTaskCoal',{flag:0}).then(res => {
+					this.$reqGet('getCheckTaskCoal',{flag:0,door:this.door}).then(res => {
 						uni.hideLoading();
-						this.driverBillOfLoadingData = res.data;
+						// this.driverBillOfLoadingData = res.data;
 						uni.stopPullDownRefresh();
+						this.handleOpenChange();
+					});
+					this.$reqGet('getTemporaryEntryInspectionList',{}).then(res => {
+						uni.hideLoading();
+						this.driverTemporaryEntry = res.data;
+						uni.stopPullDownRefresh();
+						this.handleOpenChange();
 					});
 				}else{
-					this.$reqGet('getCheckTaskCoal',{flag:0,carNo:this.carNo}).then(res => {
+					this.$reqGet('getCheckTaskCoal',{flag:0,carNo:this.carNo,door:this.door}).then(res => {
 						uni.hideLoading();
 						this.driverBillOfLoadingData = res.data;
 						uni.stopPullDownRefresh();
+						this.handleOpenChange();
+					});
+					this.$reqGet('getTemporaryEntryInspectionList',{carNo:this.carNo}).then(res => {
+						uni.hideLoading();
+						this.driverTemporaryEntry = res.data;
+						uni.stopPullDownRefresh();
+						this.handleOpenChange();
 					});
 				}
-				
-				
+				if(!this.carNo){
+					this.$reqGet('getAlreadyCheckTaskCoal',{flag:0,door:this.door}).then(res => {
+						uni.hideLoading();
+						this.driverBillOfLoadingDatas = res.data;
+						uni.stopPullDownRefresh();
+						this.handleOpenChange();
+					});
+				}else{
+					this.$reqGet('getAlreadyCheckTaskCoal',{flag:0,carNo:this.carNo,door:this.door}).then(res => {
+						uni.hideLoading();
+						this.driverBillOfLoadingDatas = res.data;
+						uni.stopPullDownRefresh();
+						this.handleOpenChange();
+					});
+				}
 			},
 			change(res) {
 			},
@@ -358,6 +620,27 @@
 		.driveruser{
 			display: flex;
 			justify-content: space-between
+		}
+	}
+		
+	.doorPopup{
+		height: vww(123);
+		width: 60vw;
+		display: flex;
+		flex-direction: column;
+		justify-content: space-evenly;
+		align-items:center;
+		.doorPopup__btn {
+			font-size: 1.4vw;
+			margin: vww(10) auto 0;
+			width: 80%;
+			text-align: center;
+			margin: vww(10) auto;
+			width: 50%;
+				
+			.u-button {
+				height: vww(20);
+			}
 		}
 	}
 	.receiverPopup {
@@ -395,6 +678,7 @@
 		box-shadow: 2rpx 3rpx 13rpx 0rpx rgba(43, 98, 239, 0.5), 0rpx 0rpx 9rpx 0rpx rgba(247, 250, 253, 0.29);
 	}
 	::v-deep.appointment {
+		margin-bottom:  vww(100);
 		.appointment-description {
 			margin: vww(8) 0;
 			color: #fd1446;
@@ -504,12 +788,10 @@
 				}
 	
 				.point-number {
-					width: 15%;
+					width: 33%;
 					.order-type {
 						color: #035cfb;
-						border: 2px solid #035cfb;
 						border-radius: 4rpx;
-						padding: vww(2) vww(4);
 						text-align: center;
 					}
 					// text {

--
Gitblit v1.9.1