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