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] 工作日志数据交互, 住户审核列表,任务页面数据渲染

---
 api/task/taskReportForRepairs.js       |   14 +
 subPackage/article/list.vue            |   10 
 pages.json                             |   11 
 subPackage/workbench/views/workLog.vue |  143 +++++++++----
 mixin/uploadMixin.js                   |    2 
 api/house/house.js                     |    1 
 pages/home/index.vue                   |    6 
 subPackage/house/list/auditList.vue    |  235 +++++++++++++++++++++++
 api/workLog/workLog.js                 |    6 
 common/setting.js                      |    3 
 api/house/household.js                 |   19 +
 subPackage/task/index.vue              |   90 ++++++--
 subPackage/label/school.vue            |    3 
 13 files changed, 451 insertions(+), 92 deletions(-)

diff --git a/api/house/house.js b/api/house/house.js
index c33bc16..7ad83b0 100644
--- a/api/house/house.js
+++ b/api/house/house.js
@@ -17,4 +17,3 @@
 		data: data
 	})
 }
-
diff --git a/api/house/household.js b/api/house/household.js
index f83e411..5603106 100644
--- a/api/house/household.js
+++ b/api/house/household.js
@@ -28,3 +28,22 @@
 		}
 	})
 }
+
+// 住户新增修改
+export const updateHousehold = (data) => {
+	return http.request({
+		url: 'blade-household/household/update',
+		method: 'POST',
+		data
+	})
+}
+
+
+// 获取住户列表
+export const getHouseholdList = (params) => {
+	return http.request({
+		url: 'blade-household/household/page',
+		method: 'GET',
+		params: params
+	})
+}
diff --git a/api/task/taskReportForRepairs.js b/api/task/taskReportForRepairs.js
index 0dab66d..1db5fdd 100644
--- a/api/task/taskReportForRepairs.js
+++ b/api/task/taskReportForRepairs.js
@@ -37,4 +37,16 @@
 		method: 'POST',
 		data
 	})
-}
\ No newline at end of file
+}
+
+//报事报修数据统计
+export const getRepairsStatistics = (params) => {
+	return http.request({
+		url: 'blade-taskReportForRepairs/taskReportForRepairs/getStatistics',
+		method: 'GET',
+		params: {
+			...params
+		}
+	})
+}
+
diff --git a/api/workLog/workLog.js b/api/workLog/workLog.js
index bef3fa4..64220f9 100644
--- a/api/workLog/workLog.js
+++ b/api/workLog/workLog.js
@@ -1,10 +1,10 @@
 import http from '@/http/api.js'
 
 
-export const addWorkLog = (params) => {
+export const addWorkLog = (data) => {
 	return http.request({
-		url: '/blade-gridWorkLog/gridWorkLog/saver',
+		url: '/blade-gridWorkLog/gridWorkLog/save',
 		method: 'POST',
-		params
+		data
 	})
 }
diff --git a/common/setting.js b/common/setting.js
index 14b7ea8..13a4f46 100644
--- a/common/setting.js
+++ b/common/setting.js
@@ -14,7 +14,8 @@
 	// devUrl:'http://192.168.1.50:9528',
 	devUrl: 'http://192.168.0.102:9528',
 	// devUrl: 'https://srgdjczzxtpt.com:2080/api',
-	minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/",
+	// minioBaseUrl: "https://srgdjczzxtpt.com:2080/gminio/jczz/",
+	minioBaseUrl: 'http://192.168.0.102:9528/',
 	// 数据中台接口url
 	// dataCenterUrl: 'http://10.10.2.192/services',
 	dataCenterUrl: 'https://sk.hubeishuiyi.cn/services',
diff --git a/mixin/uploadMixin.js b/mixin/uploadMixin.js
index df043fe..3fa5cdc 100644
--- a/mixin/uploadMixin.js
+++ b/mixin/uploadMixin.js
@@ -22,7 +22,7 @@
 				maxCount: "5",
 				previewFullImage: true,
 				uploadText: "上传中",
-				url: minioBaseUrl + "/blade-resource/oss/endpoint/put-file-attach",
+				url: minioBaseUrl + "blade-resource/oss/endpoint/put-file",
 				header: {},
 			},
 		}
diff --git a/pages.json b/pages.json
index 0fc39ce..1a20992 100644
--- a/pages.json
+++ b/pages.json
@@ -509,11 +509,18 @@
 						"navigationBarBackgroundColor": "#fff",
 						"navigationBarTextStyle": "black"
 					}
+				},
+				{
+					"path": "list/auditList",
+					"style": {
+						"navigationBarTitleText": "住户审核",
+						"enablePullDownRefresh": false,
+						"navigationBarBackgroundColor": "#fff",
+						"navigationBarTextStyle": "black"
+					}
 				}
 			]
 		}
-
-
 	],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
diff --git a/pages/home/index.vue b/pages/home/index.vue
index a955f3f..74e18c6 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -13,7 +13,7 @@
 				<u-swiper :list="swiperList" height="260rpx"></u-swiper>
 			</view>
 			<view class="" v-if="roleType != 1">
-				<u-grid :border="false" :col="curSelectSite.addressType != 2?4:2">
+				<u-grid :border="false" :col="liveList.length">
 					<!-- <u-grid-item v-for="(i,k) in cellList" :key="k" @click.native="toPage(i)">
 						<u-icon :name="i.icon" :size="45"></u-icon>
 						<text class="f-26 mt-20">{{i.text}}</text>
@@ -446,8 +446,8 @@
 				this.getMenuList()
 				this.getSiteList()
 				this.getNoticeList()
-				this.getFrequencyNumber()
-				this.getTypeNumber()
+				// this.getFrequencyNumber()
+				// this.getTypeNumber()
 			},
 			
 			getBanner(){
diff --git a/subPackage/article/list.vue b/subPackage/article/list.vue
index 3ea3e48..fa72ec4 100644
--- a/subPackage/article/list.vue
+++ b/subPackage/article/list.vue
@@ -5,7 +5,8 @@
 				:inactiveStyle="{color:'#999999'}" :activeStyle="{color:'#017BFC'}"></u-tabs>
 		</view>
 		<view class="list">
-			<view class="notic-list flex j-c-s-b  bgc-ff" v-for="(item,index) in noticeList" :key="index" @click="navTo(item.id)">
+			<view class="notic-list flex j-c-s-b  bgc-ff" v-for="(item,index) in noticeList" :key="index"
+				@click="navTo(item.id)">
 				<!-- <view class="f-28 mb-30">
 					{{item.title}}
 				</view>
@@ -24,7 +25,7 @@
 					<view class="tag-content">
 						<u-tag :text="item.dictValue" plain plainFill size="mini"> </u-tag>
 					</view>
-				
+
 					<view class="flex j-c-s-b a-i-c">
 						<view class="flex a-i-c">
 							<u-icon name="eye-fill" size="16" color="#CECECE"></u-icon>
@@ -153,11 +154,12 @@
 	.notic-list {
 		padding: 30rpx;
 		border-bottom: 1px solid #f5f5f5;
+
 		.notic-list-left {
 			width: calc(100% - 260rpx - 20rpx);
 			height: 200rpx;
 		}
-		
+
 		.notice-title {
 			width: 100%;
 			display: -webkit-box;
@@ -165,7 +167,7 @@
 			-webkit-line-clamp: 2;
 			overflow: hidden;
 		}
-		
+
 		.tag-content {
 			display: inline-flex;
 		}
diff --git a/subPackage/house/list/auditList.vue b/subPackage/house/list/auditList.vue
new file mode 100644
index 0000000..e44d5d1
--- /dev/null
+++ b/subPackage/house/list/auditList.vue
@@ -0,0 +1,235 @@
+<template>
+	<view>
+		<view class="header bgc-ff">
+			<view class="tab">
+				<u-tabs :list="tabList" :current="tabIndex" @click="changeTab" :inactiveStyle="{color:'#999999'}"
+					:activeStyle="{color:'#017BFC'}"></u-tabs>
+			</view>
+			<view class="search-box">
+				<u-search placeholder="请输入住户名" v-model="keyword" :clearabled="true" :showAction="true" :animation="true"
+					@search="search" @clear="clear"></u-search>
+			</view>
+		</view>
+
+		<view class="list">
+			<!-- <view class="list-item bgc-ff mb-20" v-for="(i,k) in list" :key="k" @click="navTo(i.name,i.id)">
+				<view class="item-title flex a-i-c j-c-s-b mb-20">
+					<text class="f-32 fw">{{i.name}}</text>
+					<u-tag v-if="i.status == 1" text="待审批" type="warning" plain plainFill></u-tag>
+					<u-tag v-if="i.status == 2" text="审核通过" type="success" plain plainFill></u-tag>
+					<u-tag v-if="i.status == 3" text="审核拒绝" type="error" plain plainFill></u-tag>
+				</view>
+				<view class="item-row flex a-i-c j-c-s-b">
+					<text class="f-28">时间</text>
+					<text class="f-28 c-66">{{i.createTime}}</text>
+				</view>
+				<view class="item-row flex a-i-c j-c-s-b">
+					<text class="f-28">地址</text>
+					<text class="address f-28 c-66">{{i.addressName}}</text>
+				</view>
+			</view> -->
+
+			<view class="card-box flex bgc-ff" v-for="(item,index) in list" :key="index">
+				<view class="l flex-1 flex a-i-c">
+					<view class="head-img mr-20">
+						<u--image shape="circle" :showLoading="true" :src="item.src|| '/static/icon/user-01.png'"
+							width="120rpx" height="120rpx"></u--image>
+					</view>
+					<view class="info f-28">
+						<view>姓名:{{item.name}}</view>
+						<view class="flex">
+							手机:{{item.phoneNumber?item.phoneNumber:"--"}}
+						</view>
+						<view class="">
+							楼盘:{{item.aoiName}}
+						</view>
+					</view>
+				</view>
+				<view class="r flex f-d-c j-c-s-a">
+					<view>
+						<u-tag v-if="item.confirmFlag == 1" text="待审批" type="warning" plain plainFill></u-tag>
+						<u-tag v-if="item.confirmFlag == 2" text="审核通过" type="success" plain plainFill></u-tag>
+						<u-tag v-if="item.confirmFlag == 3" text="审核拒绝" type="error" plain plainFill></u-tag>
+					</view>
+					<view v-if="item.confirmFlag == 1">
+						<u-button size='small' type="primary" class="u_btn_blue" text="审核"
+							@click="auditResident(item,index)"></u-button>
+					</view>
+				</view>
+			</view>
+		</view>
+		<u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
+	</view>
+</template>
+
+<script>
+	import {
+		getHouseholdList,
+		updateHousehold
+	} from "@/api/house/household.js"
+	export default {
+		data() {
+			return {
+				tabList: [{
+						name: "待审核",
+						status: 1
+					},
+					{
+						name: "审核通过",
+						status: 2
+					},
+					// {
+					// 	name: "已拒绝",
+					// 	status: 3
+					// },
+				],
+				tabIndex: 0,
+				currentStatus: 1,
+				list: [],
+				loadingStatus: 'nomore',
+				currentPage: 1,
+				frequency: '',
+				keyword: ""
+			}
+		},
+
+		onLoad(option) {
+			this.getList()
+		},
+		onReachBottom() {
+			this.currentPage++
+			this.getList()
+		},
+
+		methods: {
+			changeTab(e) {
+				this.tabIndex = e.index;
+				this.currentStatus = e.status;
+				this.list = [];
+				this.currentPage = 1;
+				this.getList();
+			},
+			search() {
+				this.resetParams()
+				this.getList()
+			},
+			clear() {
+				this.keyword = '';
+				this.resetParams()
+				this.getList()
+			},
+
+			resetParams() {
+				this.list = [];
+				this.currentPage = 1;
+			},
+			getList() {
+				getHouseholdList({
+					page: this.currentPage,
+					size: 20,
+					confirmFlag: this.currentStatus,
+					name: this.keyword,
+				}).then(res => {
+					if (res.code != 200) {
+						uni.showToast({
+							title: '数据请求失败',
+							icon: 'error'
+						})
+						return
+					}
+					let records = res.data.records;
+					this.list = [...this.list, ...records]
+					this.loadingStatus = 'nomore'
+				})
+			},
+			auditResident(item,index){
+				uni.showModal({
+					title: "提示",
+					content: "是否要通过该住户?",
+					success: (res) => {
+						if (res.confirm) {
+							item.confirmFlag = 2;
+							this.auditResidentRequest(item);
+						}
+					}
+				})
+			},
+			
+			auditResidentRequest(item,index){
+				updateHousehold(item).then(res=>{
+					if(res.code == 200){
+						uni.showToast({
+							title:"操作成功"
+						})
+						// this.$set(this.list,index,item);
+						this.list.splice(index,1);
+					}
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F5F5F5;
+	}
+
+	.header {
+		width: 100%;
+		position: fixed;
+		/*#ifdef H5*/
+		top: 88rpx;
+		/*#endif*/
+		/*#ifdef MP-WEIXIN*/
+		top: 0;
+		/*#endif*/
+		left: 0;
+		z-index: 10;
+		padding: 0 30rpx;
+		box-sizing: border-box;
+	}
+
+	.tab {
+		width: 100%;
+		height: 88rpx;
+		background-color: #fff;
+	}
+
+	.search-box {
+		padding: 20rpx 0;
+	}
+
+	.tab /deep/.u-tabs__wrapper__nav__item {
+		flex: 1;
+	}
+
+	.list {
+		margin: 218rpx 30rpx 0;
+	}
+
+	.list-item {
+		padding: 0 30rpx 20rpx;
+		border-radius: 8rpx;
+
+		.item-title {
+			padding: 30rpx 0;
+			border-bottom: 1px solid #F5F5F5;
+		}
+
+		.item-row {
+			padding: 10rpx 0;
+
+			.address {
+				width: 65%;
+			}
+		}
+	}
+	.card-box{
+		padding: 20rpx;
+		margin-bottom: 20rpx;
+		.info{
+			line-height: 60rpx;
+		}
+	}
+</style>
\ No newline at end of file
diff --git a/subPackage/label/school.vue b/subPackage/label/school.vue
index 54f1a80..89ad7d4 100644
--- a/subPackage/label/school.vue
+++ b/subPackage/label/school.vue
@@ -129,8 +129,7 @@
 			</view>
 
 			<view class="content">
-				<u-form-item label="大门是否装备防撞装置" prop="antiCollision" :borderBottom="false" ref="scFlag" required
-					@click="isShowScStatus = true">
+				<u-form-item label="大门是否装备防撞装置" prop="antiCollision" :borderBottom="false" ref="scFlag" required>
 					<u-radio-group v-model="info.antiCollision">
 						<u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in statusList" :key="index"
 							:label="item" :name="item">
diff --git a/subPackage/task/index.vue b/subPackage/task/index.vue
index b385eda..9b1249e 100644
--- a/subPackage/task/index.vue
+++ b/subPackage/task/index.vue
@@ -1,6 +1,6 @@
 <template>
 	<view class="">
-		<view class="block bgc-ff mb-20 mt-20">
+		<!-- <view class="block bgc-ff mb-20 mt-20">
 			<view class="caption">
 				<view class="flex a-i-c">
 					<view class="line"></view>
@@ -21,27 +21,31 @@
 					<text class="f-28">本月</text>
 				</view>
 			</view>
-		</view>
-		<view class="nav bgc-ff mb-20">
+		</view> -->
+		<view class="nav bgc-ff mb-20 mt-20">
 			<view class="caption">
 				<view class="flex a-i-c">
 					<view class="line"></view>
 					<text class="f-32 fw">公安</text>
 				</view>
 			</view>
-			<view class="nav-item flex j-c-s-b a-i-c"  @click="navTo('subPackage/workbench/views/report')">
+			<view class="nav-item flex j-c-s-b a-i-c" @click="navTo('/subPackage/workbench/views/report')">
 				<text class="f-28">报事报修</text>
 				<view class="flex">
-					<text class="f-28 c-99">待处理</text>
-					<view class="dot bgc-main">3</view>
+					<block v-if="repairsCount > 0">
+						<text class="f-28 c-99">待处理</text>
+						<view class="dot bgc-main">{{repairsCount}}</view>
+					</block>
 					<u-icon name="arrow-right" color="#999"></u-icon>
 				</view>
 			</view>
-			<view class="nav-item flex j-c-s-b a-i-c">
+			<view class="nav-item flex j-c-s-b a-i-c" @click="navTo('/subPackage/house/list/auditList')">
 				<text class="f-28">住户审核</text>
 				<view class="flex">
-					<text class="f-28 c-99">待处理</text>
-					<view class="dot bgc-main">3</view>
+					<block v-if="countInfo.zhufang > 0">
+						<text class="f-28 c-99">待处理</text>
+						<view class="dot bgc-main">{{countInfo.zhufang}}</view>
+					</block>
 					<u-icon name="arrow-right" color="#999"></u-icon>
 				</view>
 			</view>
@@ -62,11 +66,13 @@
 					<text class="f-32 fw">住建</text>
 				</view>
 			</view>
-			<view class="nav-item flex j-c-s-b a-i-c"   @click="navTo('/subPackage/workbench/views/rental')">
+			<view class="nav-item flex j-c-s-b a-i-c" @click="navTo('/subPackage/workbench/views/rental')">
 				<text class="f-28">出租房管理</text>
 				<view class="flex">
-					<text class="f-28 c-99">待处理</text>
-					<view class="dot bgc-main">3</view>
+					<block v-if="countInfo.chuzhu > 0">
+						<text class="f-28 c-99">待处理</text>
+						<view class="dot bgc-main">{{countInfo.chuzhu}}</view>
+					</block>
 					<u-icon name="arrow-right" color="#999"></u-icon>
 				</view>
 			</view>
@@ -78,11 +84,13 @@
 					<text class="f-32 fw">综治</text>
 				</view>
 			</view>
-			<view class="nav-item flex j-c-s-b a-i-c"    @click="navTo('/subPackage/task/taskList')">
+			<view class="nav-item flex j-c-s-b a-i-c" @click="navTo('/subPackage/task/taskList')">
 				<text class="f-28">综治任务</text>
 				<view class="flex">
-					<text class="f-28 c-99">待处理</text>
-					<view class="dot bgc-main">3</view>
+					<block v-if="comprehensiveTask > 0">
+						<text class="f-28 c-99">待处理</text>
+						<view class="dot bgc-main">{{countInfo.comprehensiveTask}}</view>
+					</block>
 					<u-icon name="arrow-right" color="#999"></u-icon>
 				</view>
 			</view>
@@ -91,32 +99,51 @@
 </template>
 
 <script>
-	import { getCountFrequencyNumber } from "@/api/task/task.js"
+	import {
+		getCountTypeNumber
+	} from "@/api/task/task.js"
+	import {
+		getRepairsStatistics
+	} from "@/api/task/taskReportForRepairs.js"
 	export default {
 		data() {
 			return {
 				navList: [{
 					name: "",
 
-				}]
+				}],
+				repairsCount: 0,
+				countInfo: {}
 			}
 		},
-		
-		onLoad(){
+
+		onShow() {
 			this.getCount();
+			this.getRepairsCount();
 		},
-		
-		methods:{
-			getCount(){
-				getCountFrequencyNumber().then(res=>{
-					console.log(res);
+
+		methods: {
+			getCount() {
+				getCountTypeNumber().then(res => {
+					if (res.code == 200) {
+						this.countInfo = res.data;
+					}
 				})
 			},
-			navTo(url){
+			getRepairsCount() {
+				getRepairsStatistics().then(res => {
+					if (res.code == 200) {
+						this.repairsCount = res.data;
+					}
+				})
+			},
+
+
+			navTo(url) {
 				this.$u.func.globalNavigator(url)
 			}
 		}
-		
+
 	}
 </script>
 
@@ -130,18 +157,19 @@
 		margin: 20rpx auto;
 		border-radius: 4rpx;
 
-		
+
 
 		.row {
 			padding: 30rpx 0 34rpx;
 		}
 	}
+
 	.caption {
 		width: 100%;
 		padding: 30rpx;
 		box-sizing: border-box;
 		border-bottom: 1px solid #F5F5F5;
-	
+
 		.line {
 			width: 6rpx;
 			height: 28rpx;
@@ -172,7 +200,11 @@
 			margin: 0 10rpx 0 20rpx;
 		}
 	}
-	.mb-20{
+
+	.mb-20 {
 		margin-bottom: 20rpx;
 	}
+	.mt-20{
+		margin-top:20rpx;
+	}
 </style>
\ No newline at end of file
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