From a1a7c2aed860d1a1bb1ac377a69cdeacb7609cb9 Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期五, 11 十月 2024 09:16:42 +0800
Subject: [PATCH] -

---
 src/pages/order/detail.vue |  285 ++++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 232 insertions(+), 53 deletions(-)

diff --git a/src/pages/order/detail.vue b/src/pages/order/detail.vue
index 79fbfab..bcc2de9 100644
--- a/src/pages/order/detail.vue
+++ b/src/pages/order/detail.vue
@@ -1,62 +1,113 @@
 <template>
 	<view class="">
 		<scroll-view enable-flex="true">
-			<view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30">
-				<view class="content ">
-					<view class="bgblue c-p-18 chuany-flex chuany-justify-between chuany-font30">
+			<view class="list chuany-flex chuany-flex-direction chuany-align-center c-p-b-30" @click='toEdit'>
+				<view class="content c-p-b-18">
+					<view
+						class="bgblue c-p-l-18 c-p-r-18 c-p-b-10 c-p-t-10 chuany-flex chuany-justify-between chuany-font30">
 						<view class="chuany-flex chuany-flex-direction">
 							<text class=''>
-								{{$util.formatDate(detailItem.wordStartTime,true)}}
+								{{$util.formatDate(detailItem.startTime)}}
 							</text>
-							<text>{{$util.formatDate(detailItem.wordEndTime,true)}}</text>
 						</view>
 						<text>
 							鎷泏{detailItem.worderCounted}}/{{detailItem.worderCount}}浜�
 						</text>
 					</view>
-					<view class="c-p-18 chuany-font34">
+					<view class="c-p-l-18 c-p-t-5 c-p-r-18 chuany-font32">
 						{{detailItem.orderName}}
 					</view>
 					<!-- <view class="chuany-flex c-p-l-18">
 						<up-tag class='c-p-r-14' :text="item" plain v-for="(item,index) in item.tags" :key="index">
 						</up-tag>
 					</view> -->
-					<view class="chuany-flex chuany-flex-direction">
-						<text class='c-p-18'>
+					<view class="chuany-flex chuany-flex-direction chuany-font28">
+						<text class='c-p-l-18 c-p-r-18 text-69'>
+							鏃ユ湡锛歿{detailItem.wordStartTimeName}} 鑷� {{detailItem.wordEndTimeName}}
+						</text>
+						<view class="c-p-l-18 c-p-r-18 text-69" v-if="detailItem.zixinganpai">
+							鏃堕棿锛歿{detailItem.zixinganpaiName}}
+						</view>
+						<view class="c-p-l-18 c-p-r-18 text-69" v-else>
+							鏃堕棿锛歿{detailItem.startTimeName}} 鑷� {{detailItem.endTimeName}}
+						</view>
+					</view>
+					<view class="chuany-flex chuany-flex-direction chuany-font28">
+						<text class='c-p-l-18 c-p-r-18 text-69'>
 							瑕佹眰锛歿{detailItem.demand}}
 						</text>
-						<text class='c-p-l-18 c-p-b-16'>
+						<text class='c-p-l-18 c-p-r-18 text-69'>
 							鍦板潃锛歿{detailItem.worderAddress}}
 						</text>
 					</view>
-					<view class='chuany-flex chuany-justify-between c-p-l-18 c-p-r-18'>
+					<view class='chuany-flex chuany-justify-between c-p-l-18 c-p-r-18 c-p-t-6 chuany-align-center'>
 						<view class="redcla">
-							<text class="chuany-font40 chuany-text-bold">
-								{{detailItem.workPrice}}
+							<text class="chuany-font40">
+								{{detailItem.workPrice}}<template
+									v-if="detailItem.workPriceMax">~{{detailItem.workPriceMax}}</template>
 							</text>
 							<text class='chuany-font20'>
 								{{detailItem.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
 							</text>
+							<!-- <text class="chuany-font40">
+								{{detailItem.workPrice}}
+							</text>
+							<text class='chuany-font20'>
+								{{detailItem.workerType==0?'鍏�/灏忔椂':'鍏�/浠�'}}
+							</text> -->
 						</view>
-						<!-- <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> -->
-						<!-- <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> -->
+						<view class="" @click.stop="manageOrder(detailItem)">
+							<!-- <up-tag class='c-m-r-10' text="涓嬫灦" shape="circle" type="error" size='mini'
+							v-if="detailItem.orderStatus==0" @click.stop="deleteOrder(detailItem)"></up-tag> -->
+							<up-button class='c-m-r-10' :text="detailItem.isEn?'涓嬫灦':'涓婃灦'" shape="circle"
+								:loading='isLoading' :loadingText="detailItem.isEn?'涓嬫灦涓�':'涓婃灦涓�'"
+								v-if="detailItem.orderStatus==0" :type="detailItem.isEn?'error':'primary'"
+								size='mini'></up-button>
+							<!-- <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> -->
+							<!-- <up-tag text="鍘绘姠娲�" type="warning" shape="circle"></up-tag> -->
+						</view>
 					</view>
 				</view>
 			</view>
-			<view class="coreshop-ff" v-if="detailItem.orderBidding&&detailItem.orderBidding.length>0">
-				<up-list>
-					<up-list-item v-for="(item,index) in detailItem.orderBidding" :key="item.id" @click.stop="toWorkDetail">
-						<up-cell :title="item.workerName">
+			<view class="coreshop-ff" v-if="detailItem.orderBidding">
+				<up-list v-if="detailItem.orderBidding.length>0">
+					<up-list-item v-for="(item,index) in detailItem.orderBidding" :key="item.id"
+						@click.stop="toWorkDetail">
+						<up-cell :title="item.workerName" :border='false'>
 							<template #icon>
 								<up-avatar shape="square" size="35" :src="item.workerAvatar"
-									customStyle="margin: -3px 5px -3px 0"></up-avatar>
+									@click='toWorkerDetail(item)' customStyle="margin: -3px 5px -3px 0"></up-avatar>
 							</template>
-							<template #right-icon v-if="item.isSelected">
-								<up-button class="button-layout__item" text="鏌ョ湅" size="mini" type="primary" @click="toView"></up-button>
+							<!-- <template #right-icon v-if="item.isSelected">
+								<up-button class="button-layout__item" text="鏌ョ湅" size="mini" type="primary" @click="toView(item)"></up-button>
+							</template> -->
+							<template #right-icon v-if="!item.isSelected" class="chuany-flex">
+								<up-tag class="button-layout__item" text="褰曠敤" size="mini" type="success"
+									@click="selectBtn(item,true)"></up-tag>
+								<up-tag class="button-layout__item c-m-l-18" text="鎷掔粷" size="mini" type="error"
+									@click="selectBtn(item,false)"></up-tag>
 							</template>
-							<template #right-icon v-else>
-								<up-button class="button-layout__item" text="纭" size="mini" type="success"
-									@click="selectBtn(item)"></up-button>
+							<template #right-icon v-else class="chuany-flex">
+								<template class="" v-if="item.workPrice&&!item.showEdit">
+									<up-text type="error"
+										:text="item.workerType==0?`${item.workPrice}鍏�/灏忔椂`:`${item.workPrice}鍏�/浠禶 "
+										size='14'></up-text>
+									<up-icon name="edit-pen" @click='isShow(item)'></up-icon>
+								</template>
+								<up-input v-model="item.workPrice" border="none" v-else type="digit">
+									<template #suffix>
+										<up-button @tap="saveWorkPrice(item)" text="淇濆瓨" type="success"
+											form-type="submit" size="mini"></up-button>
+									</template>
+									<!-- <template #suffix v-else>
+										<up-icon name="edit-pen" @click='isShow'></up-icon>
+									</template> -->
+								</up-input>
+								<!-- <up-text type="error" v-else text="宸叉嫆缁�" size='14'></up-text> -->
+								<!-- <up-tag class="button-layout__item" text="褰曠敤" size="mini" type="success"
+									@click="selectBtn(item,true)"></up-tag>
+								<up-tag class="button-layout__item c-m-l-18" text="鎷掔粷" size="mini" type="error"
+									@click="selectBtn(item,false)"></up-tag> -->
 							</template>
 						</up-cell>
 					</up-list-item>
@@ -83,11 +134,9 @@
 						</up-cell>
 					</up-list-item> -->
 				</up-list>
-			</view>
-			<view class="coreshop-ff" v-else>
-				<up-list>
+				<up-list v-else>
 					<up-list-item>
-						<up-cell title="鏆傛棤鎶曢��" class="u-cell__title-text_wu">
+						<up-cell title="鏆傛棤鎶曢��" class="u-cell__title-text_wu" :border='false'>
 							<!-- <template #icon>
 								<up-avatar shape="square" size="35" src="https://uview-plus.jiangruyi.com/album/1.jpg"
 									customStyle="margin: -3px 5px -3px 0"></up-avatar>
@@ -100,7 +149,9 @@
 				</up-list>
 			</view>
 		</scroll-view>
-
+		<up-modal :show="modalShow" :asyncClose="true" showCancelButton closeOnClickOverlay :content="content"
+			@confirm="modalConfirm" @cancel="modalCancel">
+		</up-modal>
 	</view>
 </template>
 
@@ -122,29 +173,66 @@
 		$db
 	} = getCurrentInstance().appContext.config.globalProperties
 	const detailItem = ref({})
-	let orderid = ref('')
+	const workerItem = ref({})
+	let selectVal = ref(false)
+	let orderIdVal = ref('')
+	let isLoading = ref(false)
+	let showEdit = ref(false)
 	onLoad((option) => {
-		console.log(option,'========');
 		let {
 			orderid
 		} = option
-		getOrder(orderid)
-		orderid.value = orderid
+		orderIdVal = orderid
 		// detailItem.value = JSON.parse($db.get('detailItem'))
 	})
-	let state = reactive({
-		currentIdex: 0
+	onShow(() => {
+		getOrder(orderIdVal)
 	})
-
 	const click = () => {
 
 	}
-	const change = (e) => {
-		state.currentIdex = e.index
+	const isShow = (item) => {
+		item.showEdit = true
 	}
-	const toView = (e) => {
+	const saveWorkPrice = (item) => {
+		let obj = {
+			orderBiddingId: item.id,
+			workPrice: item.workPrice
+		}
+		console.log(item, obj);
+		if (!item.workPrice) {
+			$util.showToast({
+				title: "璇疯緭鍏ュ伐浠凤紒",
+				icon: "success"
+			})
+			return
+		}
+		$api.saveWorkPrice(obj).then(res => {
+			if (res.code == 1) {
+				$util.showToast({
+					title: "宸ヤ环淇濆瓨鎴愬姛锛�",
+					icon: "success"
+				})
+				getOrder(orderIdVal, item.id)
+				item.showEdit = false
+			} else {
+				$util.showToast({
+					title: res.error
+				})
+			}
+		})
+	}
+	let modalShow = ref(false)
+	let content = ref('')
+	const toView = (item) => {
 		uni.navigateTo({
-			url: '/pages/company/index'
+			url: `/pages/company/index?workerid=${item.WorkerUserId}&workname=${item.WorkerName}`
+		})
+	}
+	const toWorkerDetail = (item) => {
+		$db.set('toudiItem', item)
+		uni.navigateTo({
+			url: `/pages/worker/worker?workerid=${item.workerUserId}`
 		})
 	}
 	const toWorkDetail = (e) => {
@@ -152,22 +240,113 @@
 			url: '/pages/order/worker'
 		})
 	}
-	const selectBtn = (item) => {
-		$api.saveQueRen({orderBiddingId:item.id}).then(res => {
-			if(res.code==1){
-				$util.showToast({
-					title: "纭鎴愬姛锛�",
-					icon: "success"
+	const selectBtn = (item, val) => {
+		workerItem.value = item
+		modalShow.value = true
+		selectVal.value = val
+		if (val) {
+			content.value = `纭畾褰曠敤${item.workerName}鍚楋紵`
+		} else {
+			content.value = `纭畾鎷掔粷${item.workerName}鍚楋紵`
+		}
+	}
+	const modalConfirm = () => {
+		if (selectVal.value) {
+			console.log('3333333333');
+			$api.saveQueRen({
+				orderBiddingId: workerItem.value.id
+			}).then(res => {
+				if (res.code == 1) {
+					$util.showToast({
+						title: "褰曠敤鎴愬姛锛�",
+						icon: "success"
+					})
+					getOrder(orderIdVal)
+				} else {
+					$util.showToast({
+						title: res.error ? res.error : '澶辫触锛�'
+					})
+				}
+				modalShow.value = false
+			})
+
+		} else {
+			console.log('444444');
+			$api.saveBuLuYong({
+				orderBiddingId: workerItem.value.id
+			}).then(res => {
+				if (res.code == 1) {
+					$util.showToast({
+						title: "鎷掔粷鎴愬姛锛�",
+						icon: "success"
+					})
+					getOrder(orderIdVal)
+				} else {
+					$util.showToast({
+						title: res.error ? res.error : '澶辫触锛�'
+					})
+				}
+				modalShow.value = false
+			})
+		}
+	}
+	const modalCancel = () => {
+		modalShow.value = false
+		workerItem.value = {}
+	}
+	const getOrder = (orderid, id) => {
+		$api.getOrder(orderid).then(res => {
+			if (res.code == 1) {
+				res.data.orderBidding.forEach(item => {
+					item.showEdit = false
+					if (id == item.id) {
+						toWorkerDetail(item)
+					}
 				})
-				getOrder(orderid.value)
+				detailItem.value = res.data
 			}
 		})
 	}
-	const getOrder=(orderid) =>{
-		$api.getOrder(orderid).then(res => {
-			if (res.code == 1) {
-				detailItem.value = res.data
-			}
+	const manageOrder = (item) => {
+		let obj = {
+			orderId: item.id
+		}
+		isLoading.value = true
+		if (item.isEn) {
+			$api.deleteOrder(obj).then(res => {
+				if (res.code == 1) {
+					$util.showToast({
+						title: '涓嬫灦鎴愬姛锛�'
+					})
+					getOrder(orderIdVal)
+				} else {
+					$util.showToast({
+						title: res.error
+					})
+				}
+				isLoading.value = false
+			})
+		} else {
+			$api.saveOrder(item).then(res => {
+				if (res.code == 1) {
+					$util.showToast({
+						title: "涓婃灦鎴愬姛锛�",
+						icon: "success"
+					})
+					getOrder(orderIdVal)
+				} else {
+					$util.showToast({
+						title: res.msg
+					})
+				}
+				isLoading.value = false
+			})
+		}
+	}
+	const toEdit = () => {
+		$db.set('editItem', detailItem.value)
+		uni.navigateTo({
+			url: `/pages/release/index`
 		})
 	}
 </script>
@@ -179,7 +358,7 @@
 	}
 
 	.content {
-		height: 430rpx;
+		min-height: 200rpx;
 		width: 100%;
 		background-color: #fff;
 		border-radius: 20rpx;

--
Gitblit v1.9.1