From 79745a1b12fa6d69edd3a353cb11b8ae02b8d4aa Mon Sep 17 00:00:00 2001
From: zhangwei <1504152376@qq.com>
Date: 星期一, 26 八月 2024 17:16:53 +0800
Subject: [PATCH] 投递与确认

---
 src/pages/release/index.vue |  181 +++++++++++++++++++++++++-------------------
 1 files changed, 103 insertions(+), 78 deletions(-)

diff --git a/src/pages/release/index.vue b/src/pages/release/index.vue
index 703211f..96ef3b7 100644
--- a/src/pages/release/index.vue
+++ b/src/pages/release/index.vue
@@ -1,69 +1,57 @@
 <template>
 	<view class="full-page c-m-b-40">
 		<view class="list c-p-t-10">
-			<up-form labelPosition="left" :model="model1" ref="form1" labelWidth='160rpx'>
+			<up-form labelPosition="left" :model="publicJob" ref="form1" labelWidth='160rpx'>
 				<view class="content c-p-10 c-p-l-24 c-m-t-10 c-m-b-20">
-					<up-form-item label="宸ヤ綔鍚嶇О" prop="userInfo.name" :borderBottom='false' ref="item1">
-						<up-input v-model="model1.userInfo.name" border="none" placeholder="璇峰~鍐欏伐浣滃悕绉�"></up-input>
-						<template #right>
+					<up-form-item label="宸ヤ綔鍚嶇О" prop="publicJob.orderName" :borderBottom='false' ref="item1">
+						<up-input v-model="publicJob.orderName" border="none" placeholder="璇峰~鍐欏伐浣滃悕绉�"></up-input>
+						<!-- <template #right>
 							<up-icon name="arrow-right"></up-icon>
-						</template>
+						</template> -->
 					</up-form-item>
 				</view>
 				<view class="content c-p-10 c-p-l-24 c-m-t-10 c-m-b-20">
-					<up-form-item label="宸ヤ綔鏃堕棿" prop="userInfo.name" :borderBottom='false' ref="item1"
-						@click="clickTime">
-						<up-input v-model="model1.userInfo.name" border="none" readonly
-							placeholder="鐐瑰嚮閫夋嫨宸ヤ綔鏃堕棿"></up-input>
+					<up-form-item label="宸ヤ綔鏃堕棿" prop="workTime" :borderBottom='false' ref="item1" @click="clickTime">
+						<up-input v-model="workTime" border="none" readonly placeholder="鐐瑰嚮閫夋嫨宸ヤ綔鏃堕棿"></up-input>
 						<up-icon #right name="arrow-right"></up-icon>
 					</up-form-item>
 				</view>
 				<view class="content c-p-10 c-p-l-24 c-m-t-10 c-m-b-20">
-					<up-form-item label="鐢ㄥ伐瑕佹眰" prop="userInfo.name" :borderBottom='false' ref="item1">
+					<up-form-item label="鐢ㄥ伐瑕佹眰" prop="publicJob.demand" :borderBottom='false' ref="item1">
 						<view class="c-p-b-20">
-							<up-textarea v-model="value1" border="none" placeholder="璇疯緭鍏ョ敤宸ヨ姹�" count
+							<up-textarea v-model="publicJob.demand" border="none" placeholder="璇疯緭鍏ョ敤宸ヨ姹�" count
 								maxlength='400'></up-textarea>
 						</view>
-						<!-- <up-tag class='c-p-r-14' text="鐢�" type="warning" plain size="large"></up-tag>
-						<up-tag class='c-p-r-14' text="濂�" type="warning" plain size="large"></up-tag>
-						<up-tag class='c-p-r-14' text="涓嶉檺" type="warning" size="large"></up-tag> -->
-						<!-- <up-input v-model="model1.userInfo.name" border="none" placeholder="濡備粖澶�9:00-浠婂ぉ17:00"></up-input> -->
 					</up-form-item>
-					<!-- <view class="c-p-t-20 c-p-b-20">
-						<up-form-item label="骞撮緞闄愬埗" prop="userInfo.name" :borderBottom='false' ref="item1">
-							<up-input v-model="model1.userInfo.name" border="none" placeholder="16~涓嶉檺"></up-input>
-							<up-icon #right name="arrow-right"></up-icon>
-						</up-form-item>
-					</view> -->
 					<view class="c-p-t-20 c-p-b-20">
-						<up-form-item label="鎷涘伐浜烘暟" prop="userInfo.name" :borderBottom='false' ref="item1">
-							<up-number-box v-model="model1.userInfo.value" @change="valChange"></up-number-box>
+						<up-form-item label="鎷涘伐浜烘暟" prop="publicJob.worderCount" :borderBottom='false' ref="item1">
+							<up-number-box v-model="publicJob.worderCount" @change="valChange"></up-number-box>
 						</up-form-item>
 					</view>
 					<view class="c-p-t-20 c-p-b-20">
-						<up-form-item label="宸ヤ綔鍦扮偣" prop="userInfo.name" :borderBottom='false' ref="item1" @click="toMap">
-							<up-input v-model="model1.userInfo.address" border="none" readonly placeholder="璇疯緭鍏ュ伐浣滃湴鐐�"></up-input>
+						<up-form-item label="宸ヤ綔鍦扮偣" prop="publicJob.worderAddress" :borderBottom='false' ref="item1">
+							<up-input v-model="publicJob.worderAddress" border="none" placeholder="璇疯緭鍏ュ伐浣滃湴鐐�"></up-input>
 							<up-icon #right name="arrow-right"></up-icon>
 						</up-form-item>
 					</view>
 				</view>
 				<view class="content c-p-10 c-p-l-24 c-m-t-10 c-m-b-20">
-					<up-form-item label="鑱旂郴鐢佃瘽" prop="userInfo.name" :borderBottom='false' ref="item1">
-						<up-input v-model="model1.userInfo.number" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input>
+					<up-form-item label="鑱旂郴鐢佃瘽" prop="publicJob.contactPhone" :borderBottom='false' ref="item1">
+						<up-input v-model="publicJob.contactPhone" border="none" placeholder="璇疯緭鍏ヨ仈绯荤數璇�"></up-input>
 					</up-form-item>
 				</view>
 				<view class="content c-p-10 c-p-l-24 c-m-t-10 c-m-b-20">
-					<up-form-item label="鏂瑰紡" prop="userInfo.name" :borderBottom='false' ref="item1">
-						<up-tag class='c-p-r-14' text="璁℃椂" type="warning" :plain='!(style=="time")' size="large"
-							@click='changStyle("time")'></up-tag>
-						<up-tag class='c-p-r-14' text="璁′欢" type="warning" :plain='!(style=="piece")' size="large"
-							@click='changStyle("piece")'></up-tag>
+					<up-form-item label="鏂瑰紡" prop="publicJob.workerType" :borderBottom='false' ref="item1">
+						<up-tag class='c-p-r-14' text="璁℃椂" type="warning" :plain='!(publicJob.workerType=="0")' size="large"
+							@click='changStyle(0)'></up-tag>
+						<up-tag class='c-p-r-14' text="璁′欢" type="warning" :plain='!(publicJob.workerType=="1")' size="large"
+							@click='changStyle(1)'></up-tag>
 					</up-form-item>
 				</view>
 				<view class="content c-p-10 c-p-l-24 c-m-t-10 c-m-b-20">
-					<up-form-item label="璁℃椂宸ヤ环" prop="userInfo.name" :borderBottom='false' ref="item1">
-						<up-input v-model="model1.userInfo.xiaoshi" border="none" placeholder="濡備粖澶�9:00-浠婂ぉ17:00">
-							<template #suffix>{{style=="time"?'鍏�/灏忔椂':'鍏�/浠�'}}</template></up-input>
+					<up-form-item label="璁℃椂宸ヤ环" prop="publicJob.workPrice" :borderBottom='false' ref="item1">
+						<up-input v-model="publicJob.workPrice" border="none" placeholder="璇疯緭鍏ュ伐浠�">
+							<template #suffix>{{publicJob.workerType=="0"?'鍏�/灏忔椂':'鍏�/浠�'}}</template></up-input>
 					</up-form-item>
 				</view>
 				<!-- <view class="coreshop-bg-white c-m-t-20 c-p-20">
@@ -83,12 +71,12 @@
 			</up-form>
 		</view>
 		<view class="tabbtns">
-			<up-button color='#fece01' class="text-69" text="鍙戝竷鎷涘伐"></up-button>
+			<up-button color='#fece01' class="text-69" text="鍙戝竷鎷涘伐" @click="saveOrder"></up-button>
 		</view>
 		<!-- <fui-fab :zIndex="10" background='#fff' bottom='250'>
 			<fui-icon name="kefu-fill" color='#000'></fui-icon>
 		</fui-fab> -->
-		<fui-date-picker range :show="datePickerShow" type="5" @change="changePicker"
+		<fui-date-picker range :show="datePickerShow" type="5" @change="changePicker" :minDate='minDate'
 			@cancel="cancel"></fui-date-picker>
 	</view>
 </template>
@@ -96,62 +84,99 @@
 <script setup>
 	import {
 		ref,
-		reactive
+		reactive,
+		getCurrentInstance
 	} from 'vue';
-	import { useStore } from 'vuex'
-	let longitude= ref(0)
-	let latitude= ref(0)
+	import {
+		onLoad,
+		onShow
+	} from "@dcloudio/uni-app";
+	const {
+		$upload,
+		$api,
+		$util,
+		$db
+	} = getCurrentInstance().appContext.config.globalProperties
+	import {
+		useStore
+	} from 'vuex'
+	onLoad(() => {
+		let data = JSON.parse($db.get('userInfo')).userCompany
+		if (data) {
+			publicJob.orderUserId = 5
+		}
+	})
+	let minDate = $util.formatDate(new Date())
+	let longitude = ref(0)
+	let latitude = ref(0)
+	let workTime = ref('')
 	const store = useStore()
-	const value1 = ref('')
 	let datePickerShow = ref(false)
-	const model1 = reactive({
-		userInfo: {
-			name: '',
-			sex: '',
-			number: 12345678989,
-			value: 3,
-			address: '鍥涘窛鐪佹垚閮藉競姝︿警鍖虹幆鐞冧笢璺�',
-			xiaoshi: 20,
-			longitude:0,
-			latitude:0
-		},
-	});
+	const publicJob = reactive({
+		id: 0, //鎷涘伐Id
+		orderUserId: '', //鎷涘伐鐢ㄦ埛id
+		orderName: '', //鎷涘伐鍚嶇О
+		wordStartTime: '', //宸ヤ綔寮�濮嬫椂闂�
+		wordEndTime: '', //宸ヤ綔缁撴潫鏃堕棿
+		demand: '', //闇�姹�
+		worderCount: '', //鎷涘伐浜烘暟
+		worderAddress: '', //宸ヤ綔鍦扮偣
+		contactPhone: '', //鑱旂郴鐢佃瘽
+		workerType: 0, //宸ヤ綔鏂瑰紡 0璁℃椂1璁′欢
+		workPrice: '', //宸ヤ环
+	})
+
 	const style = ref('time')
 	const changStyle = (val) => {
-		style.value = val
+		publicJob.workerType = val
 	}
 	const clickTime = () => {
 		datePickerShow.value = !datePickerShow.value
 	}
 	const changePicker = (val) => {
 		console.log(val);
+		workTime.value = val.startDate.result + '鑷�' + val.endDate.result
+		publicJob.wordStartTime = new Date(val.startDate.result) //宸ヤ綔寮�濮嬫椂闂�
+		publicJob.wordEndTime = new Date(val.endDate.result)
+	}
+	const saveOrder = () => {
+		// publicJob.worderCount = (+publicJob.worderCount)
+		$api.saveOrder(publicJob).then(res => {
+			$util.showToast({
+				title: "淇濆瓨鎴愬姛锛�",
+				icon: "success"
+			})
+			uni.navigateTo({
+				url:'/pages/order/order'
+			})
+		})
 	}
 	const toMap = () => {
-			// #ifdef MP-WEIXIN
-			console.log(store,'store鈥�');
-			const txMapkey = store.state.config.qqMapKey; //浣跨敤鍦ㄨ吘璁綅缃湇鍔$敵璇风殑key
-			const referer = store.state.config.shopName; //璋冪敤鎻掍欢鐨刟pp鐨勫悕绉�
-			const location = JSON.stringify({
-				latitude: model1.userInfo.latitude == "" ? latitude : model1.userInfo.latitude,
-				longitude: model1.userInfo.longitude == "" ? longitude : model1.userInfo.longitude
-			});
-			const category = '';
+		// #ifdef MP-WEIXIN
+		console.log(store, 'store鈥�');
+		const txMapkey = store.state.config.qqMapKey; //浣跨敤鍦ㄨ吘璁綅缃湇鍔$敵璇风殑key
+		const referer = store.state.config.shopName; //璋冪敤鎻掍欢鐨刟pp鐨勫悕绉�
+		const location = JSON.stringify({
+			latitude: publicJob.latitude == "" ? latitude : publicJob.latitude,
+			longitude: publicJob.longitude == "" ? longitude : publicJob.longitude
+		});
+		const category = '';
 
-			wx.navigateTo({
-				url: 'plugin://chooseLocation/index?key=' + txMapkey + '&referer=' + referer +
-					'&location=' +
-					location + '&category=' + category
-			});
-			// #endif
+		wx.navigateTo({
+			url: 'plugin://chooseLocation/index?key=' + txMapkey + '&referer=' + referer +
+				'&location=' +
+				location + '&category=' + category
+		});
+		// #endif
 
-			// #ifdef APP-PLUS || APP-PLUS-NVUE
-			uni.chooseLocation({
-				success: (res) => {
-					console.log(res,'res');
-				}
-			});
-			// #endif
-		}
+		// #ifdef APP-PLUS || APP-PLUS-NVUE
+		uni.chooseLocation({
+			success: (res) => {
+				console.log(res, 'res');
+			}
+		});
+		// #endif
+	}
 </script>
 
 <style>

--
Gitblit v1.9.1