From a7169fdee8b683deb83f147fc9319b0bd7b04cf4 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Fri, 17 Nov 2023 18:08:54 +0800
Subject: [PATCH] 工作日志数据交互, 住户审核列表,任务页面数据渲染

---
 subPackage/workbench/views/workLog.vue |  143 ++++++++++++++++++++++++++++++++---------------
 1 files changed, 98 insertions(+), 45 deletions(-)

diff --git a/subPackage/workbench/views/workLog.vue b/subPackage/workbench/views/workLog.vue
index 1296ffb..671de54 100644
--- a/subPackage/workbench/views/workLog.vue
+++ b/subPackage/workbench/views/workLog.vue
@@ -1,34 +1,38 @@
 <template>
 	<view>
 		<view class="content bgc-ff">
-			<u-form labelPosition="left" :model="info" :rules="rules" ref="uForm" labelWidth="90"
+			<u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90"
 				:labelStyle="{fontSize:'28rpx'}">
-				<u-form-item label="姓名" prop="info.name" borderBottom ref="item1">
-					<u-input v-model="info.title" border="none" placeholder="请输入标题" placeholderClass="f-28 c-99"
+				<u-form-item label="姓名" prop="info.name" borderBottom required>
+					<u-input v-model="info.name" border="none" placeholder="请输入标题" placeholderClass="f-28 c-99"
 						inputAlign="right"></u-input>
 				</u-form-item>
-				<u-form-item label="手机号" prop="info.phone" borderBottom ref="item1">
-					<u-input v-model="info.title" border="none" placeholder="请输入标题" placeholderClass="f-28 c-99"
+				<u-form-item label="手机号" prop="phone" borderBottom  required>
+					<u-input v-model="info.phone" border="none" placeholder="请输入标题"   placeholderClass="f-28 c-99"
 						inputAlign="right"></u-input>
 				</u-form-item>
-				<u-form-item label="内容" borderBottom ref="item1">
-					<u-input  type="textarea" v-model="info.address" border="none"  placeholderClass="f-28 c-99"
+				<u-form-item label="内容" borderBottom  required>
+					<u-input type="textarea" v-model="info.context" border="none"  placeholderClass="f-28 c-99"
 						inputAlign="right">
-						
 					</u-input>
 				</u-form-item>
-				
-				<u-form-item label="走访时间" prop="applyTime" borderBottom  required @click="showSelectDate = true">
-					<u-input v-model="info.applyTime" disabled disabledColor="#ffffff" border="none" placeholder="请输入"
+				<u-form-item label="走访时间" prop="workTime" :borderBottom="false" required @click="showSelectDate = true">
+					<u-input v-model="info.workTime" disabled disabledColor="#ffffff" border="none" placeholder="请选择"
 						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
 					<u-icon slot="right" name="arrow-right"></u-icon>
 				</u-form-item>
+				<!-- <u-form-item label="房屋" prop="houseCode" :borderBottom="false"  required
+					@click="isShowScStatus = true">
+					<u-input v-model="info.scStatus" disabled disabledColor="#fff" border="none" placeholder="请选择"
+						placeholderClass="f-28 c-99" inputAlign="right"></u-input>
+					<u-icon slot="right" name="arrow-right"></u-icon>
+				</u-form-item> -->
 			</u-form>
 		</view>
 		<view class="upload bgc-ff">
 			<view class="f-28">走访图片</view>
 			<view class="mt-20">
-				<u-upload :fileList="images" :previewFullImage="uploadConfig.previewFullImage"
+				<u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
 					:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
 					:capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
 					<view class="upload-item upload-icon flex_base">
@@ -37,62 +41,108 @@
 				</u-upload>
 			</view>
 		</view>
-		
-		<u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="applyTime" mode="datetime"
-			:formatter="formatter" @confirm="confirmDate"  @cancel="showSelectDate = false"></u-datetime-picker>
 
+		<u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="workTime" mode="datetime"
+			:formatter="formatter" @confirm="confirmDate" @cancel="isShowPicker = false"></u-datetime-picker>
+		<!-- <u-picker :show="isShowPicker" :columns="scStatus" :defaultIndex="houseIndex" @cancel="isShowPicker = false"
+			@confirm="confirmHouse()"></u-picker> -->
 		<view class="footer">
-			<button class="footer-btn">提交</button>
+			<button class="footer-btn" @click="submitInfo">提交</button>
 		</view>
-
 	</view>
 
 </template>
 
 <script>
+	import {
+		addWorkLog
+	} from "@/api/workLog/workLog.js"
 	import uploadMixin from "@/mixin/uploadMixin";
 	export default {
 		mixins: [uploadMixin],
 		data() {
 			return {
+				form: {
+					images: []
+				},
 				info: {
-					title: "",
-					content: ""
+					name: "",
+					phone: "",
+					context: ""
 				},
 				rules: {
-					'title': {
+					'name': {
 						type: 'string',
 						required: true,
-						message: '请输入工作主题',
+						message: '请输入姓名',
 						trigger: ['blur', 'change']
 					},
-					'content': {
+					'phone': {
+						type: 'string',
+						required: true,
+						message: '请输入手机号',
+						trigger: ['blur', 'change']
+					},
+					'context': {
 						type: 'string',
 						required: true,
 						message: '请输入工作内容',
 						trigger: ['blur', 'change']
 					},
 				},
-
-				images: [
-
-				],
-				showSelectDate:false
+				showSelectDate: false,
+				workTime: Number(new Date()),
+				isShowPicker: false,
+				houseIndex: [0]
 			}
 		},
-		methods:{
-			
+		onLoad() {
+			let userInfo = uni.getStorageSync("userInfo");
+			this.$set(this.info, "name", userInfo.real_name);
+			this.$set(this.info, "phone", userInfo.phone);
+		},
+		methods: {
+
 			confirmDate(e) {
 				this.showSelectDate = false;
-				this.info.applyTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
+				this.info.workTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
 			},
-			
-			
-			getLocation(){
-				uni.chooseLocation({
-					success:(res)=>{
-						console.log(res);
-					}
+
+			confirmHouse(e) {
+				this.houseIndex = e.indexs;
+				this.info.houseCode = e.value[0];
+				this.isShowPicker = false;
+			},
+
+			checkImages() {
+				if (this.form.images.length) {
+					this.$set(this.info, "url", this.setImages())
+				}
+			},
+
+			setImages() {
+				let urls = [];
+				for (let i of this.form.images) {
+					urls.push(i.name);
+				}
+				return urls.join(",")
+			},
+
+
+			submitInfo() {
+				this.$refs.form.validate().then(valid => {
+					this.checkImages();
+					addWorkLog(this.info).then(res => {
+						uni.showToast({
+							icon: 'success',
+							title: '提交成功',
+							success() {
+								setTimeout(() => {
+									uni.navigateBack()
+								}, 1000)
+							}
+						})
+					})
 				})
 			}
 		}
@@ -108,23 +158,26 @@
 		margin: 20rpx 30rpx;
 		padding: 0 30rpx;
 	}
-	.row{
-		padding:20rpx 0;
-		border-bottom:1px solid 
+
+	.row {
+		padding: 20rpx 0;
+		border-bottom: 1px solid
 	}
-	.location-btn{
-		width:116rpx;
-		height:46rpx;
+
+	.location-btn {
+		width: 116rpx;
+		height: 46rpx;
 		line-height: 46rpx;
 		border-radius: 4rpx;
-		border:1px solid currentColor;
-		padding:0;
+		border: 1px solid currentColor;
+		padding: 0;
 		background-color: #fff;
 	}
 
 	.upload {
 		margin: 0 30rpx;
 		padding: 30rpx;
+
 		.upload-item {
 			width: 140rpx;
 			height: 140rpx;

--
Gitblit v1.9.3