From ae820a43aa6b20bea341e78d1bbbc15db5a1454a Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Mon, 04 Dec 2023 17:59:05 +0800
Subject: [PATCH] 打卡登记,数据驾驶舱页面编写,调整部分按钮样式。调整出租房管理页面样式
---
subPackage/user/clockIn/index.vue | 159 +++++++++++++++++++++++++++++++++--------------------
1 files changed, 99 insertions(+), 60 deletions(-)
diff --git a/subPackage/user/clockIn/index.vue b/subPackage/user/clockIn/index.vue
index 504ec4b..d7a6659 100644
--- a/subPackage/user/clockIn/index.vue
+++ b/subPackage/user/clockIn/index.vue
@@ -1,31 +1,27 @@
<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.title" borderBottom ref="item1">
- <u-input v-model="info.title" border="none" placeholder="请输入工作主题" placeholderClass="f-28 c-99"
+ <u-form-item label="工作主题" prop="info.workTheme" borderBottom>
+ <u-input v-model="info.workTheme" border="none" placeholder="请输入工作主题" placeholderClass="f-28 c-99"
inputAlign="right"></u-input>
</u-form-item>
- <u-form-item label="当前位置" borderBottom ref="item1">
- <u-input v-model="info.address" border="none" placeholderClass="f-28 c-99"
- inputAlign="right">
- <template slot="suffix">
- <button class="location-btn c-main f-24" @click="getLocation()">获取地址</button>
- </template>
- </u-input>
- </u-form-item>
-
- <!-- <view class="row flex a-i-c j-c-s-b">
- <text class="f-28">当前位置</text>
- <view class="flex">
- <view class="f-28">当前位置</view>
- <button class="location-btn c-main f-24" @click="getLocation()">获取地址</button>
+ <u-form-item label="当前位置" prop="address" borderBottom>
+ <view class="address-row flex">
+ <view class="address-content f-28" v-if="info.address">
+ {{info.address}}
+ </view>
+ <view class="address-content f-28 c-99" v-if="!info.address">
+ 请选择地址
+ </view>
+ <view class="location-btn c-main f-24" @click="getLocation()">
+ 获取地址
+ </view>
</view>
- </view> -->
-
- <u-form-item label="工作内容" prop="info.content" :borderBottom="false" ref="item1">
- <u-input v-model="info.content" border="none" placeholder="请输入工作内容" placeholderClass="f-28 c-99"
+ </u-form-item>
+ <u-form-item label="工作内容" prop="info.workContent" :borderBottom="false" ref="item1">
+ <u-input v-model="info.workContent" border="none" placeholder="请输入工作内容" placeholderClass="f-28 c-99"
inputAlign="right"></u-input>
</u-form-item>
</u-form>
@@ -33,7 +29,7 @@
<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">
@@ -43,9 +39,12 @@
</view>
</view>
- <view class="footer">
+ <!-- <view class="footer">
<button class="footer-btn">提交</button>
- </view>
+ </view> -->
+
+ <footer-btn @click="submitInfo" />
+
</view>
@@ -53,40 +52,74 @@
<script>
import uploadMixin from "@/mixin/uploadMixin";
+ import {
+ addCheckIn
+ } from "@/api/checkIn/checkIn.js"
export default {
mixins: [uploadMixin],
data() {
return {
info: {
- title: "",
- content: ""
+ workTheme: "",
+ workContent: "",
+ address: ""
+ },
+ form: {
+ images: []
},
rules: {
- 'title': {
+ 'workTheme': {
type: 'string',
required: true,
message: '请输入工作主题',
trigger: ['blur', 'change']
},
- 'content': {
+ 'workContent': {
type: 'string',
required: true,
message: '请输入工作内容',
trigger: ['blur', 'change']
},
+ 'address': {
+ type: 'string',
+ required: true,
+ message: '请选择地址',
+ trigger: ['blur', 'change']
+ },
},
- images: [
-
- ]
}
},
- methods:{
- getLocation(){
+ methods: {
+ getLocation() {
uni.chooseLocation({
- success:(res)=>{
- console.log(res);
+ success: (res) => {
+ this.$set(this.info, "address", res.address);
+ this.$set(this.info, "lat", res.latitude);
+ this.$set(this.info, "lng", res.longitude)
}
+ })
+ },
+
+ submitInfo() {
+ this.$refs.form.validate().then(valid => {
+ if (this.form.images.length > 0) {
+ let urls = []
+ this.form.images.forEach(e => {
+ urls.push(e.name)
+ })
+ this.info.img = urls.join(",")
+ }
+ addCheckIn(this.info).then(res => {
+ uni.showToast({
+ title: '提交成功',
+ success() {
+ setTimeout(() => {
+ this.$u.func.globalNavigator("", "navBack")
+ }, 1000)
+ }
+ })
+ })
})
}
}
@@ -102,23 +135,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;
@@ -126,23 +162,26 @@
}
}
- .footer {
- width: 100%;
- padding: 30rpx;
- position: fixed;
- bottom: 0;
- left: 0;
- z-index: 10;
- box-sizing: border-box;
+ .address-row {
+ flex: 1;
+ justify-content: flex-end;
+ align-items: center;
+ }
- .footer-btn {
- width: 100%;
- height: 78rpx;
- line-height: 78rpx;
- background: linear-gradient(163deg, #01BDFC 0%, #017BFC 100%);
- border-radius: 8rpx;
- color: #fff;
- font-size: 32rpx;
- }
+ .address-content {
+ width: calc(100% - 116rpx - 20rpx);
+ margin-right: 20rpx;
+ text-align: right;
+ }
+
+ .location-btn {
+ width: 116rpx;
+ height: 46rpx;
+ line-height: 46rpx;
+ border-radius: 4rpx;
+ border: 1px solid currentColor;
+ padding: 0;
+ background-color: #fff;
+ text-align: center;
}
</style>
\ No newline at end of file
--
Gitblit v1.9.3