Browse Source

Merge branch 'wyx' into dev

wyx
wangyx 1 month ago
parent
commit
3c661aab04
  1. 27
      pages/api.js
  2. 67
      pagesA/checkout/detail/detail.vue
  3. 11
      pagesA/checkout/list/list.vue

27
pages/api.js

@ -3,13 +3,13 @@ import request from "../utils/request.js";
// 获取验证码 // 获取验证码
export function getCodeImg() { export function getCodeImg() {
return request({ return request({
url: '/captchaImage', url: "/captchaImage",
header: { header: {
isToken: false isToken: false,
}, },
method: 'get', method: "get",
timeout: 20000 timeout: 20000,
}) });
} }
export function login({ username, password, code, uuid, client }) { export function login({ username, password, code, uuid, client }) {
return request({ return request({
@ -29,4 +29,19 @@ export function listCheckoutAlert(query) {
method: "get", method: "get",
params: query, params: query,
}); });
} }
export function getRoomFacilities(query) {
return request({
url: "/apartment/manager/facilitiesByRoomId",
method: "get",
params: query,
});
}
// 办理退房
export function submitCheckout(data) {
return request({
url: "/apartment/manager/confirmCheckOut",
method: "put",
data: data,
});
}

67
pagesA/checkout/detail/detail.vue

@ -1,3 +1,4 @@
import { detail } from '@/api/mz/contract';
<template> <template>
<view class="checkout-detail-bg"> <view class="checkout-detail-bg">
<!-- 房间图片 --> <!-- 房间图片 -->
@ -8,14 +9,21 @@
></image> ></image>
<!-- 基本信息卡片 --> <!-- 基本信息卡片 -->
<view class="info-card"> <view class="info-card">
<view class="room-title">5号楼1单元101 房间1</view> <view class="room-title">{{ info.roomNamePath }}</view>
<view class="info-row"><text class="label">居住人</text>王静</view>
<view class="info-row"><text class="label">性别</text></view>
<view class="info-row" <view class="info-row"
><text class="label">联系电话</text>187****0001</view ><text class="label">居住人</text>{{ info.graduateName }}</view
> >
<view class="info-row" <view class="info-row"
><text class="label">居住日期</text>2025-04-04 2025-05-06</view ><text class="label">性别</text
>{{ info.gender == 1 ? "男" : "女" }}</view
>
<view class="info-row"
><text class="label">联系电话</text>{{ info.telephone }}</view
>
<view class="info-row"
><text class="label">居住日期</text>{{ info.startDate }}{{
info.checkOutDate
}}</view
> >
</view> </view>
<!-- 设备检查 --> <!-- 设备检查 -->
@ -49,7 +57,7 @@
<view class="meter-row"> <view class="meter-row">
<text class="meter-label">水表数</text> <text class="meter-label">水表数</text>
<u-input <u-input
v-model="waterMeter" v-model="waterMeterValue"
type="digit" type="digit"
placeholder="请输入水表数" placeholder="请输入水表数"
border="none" border="none"
@ -58,7 +66,7 @@
<view class="meter-row"> <view class="meter-row">
<text class="meter-label">电表数</text> <text class="meter-label">电表数</text>
<u-input <u-input
v-model="electricMeter" v-model="energyMeterValue"
type="digit" type="digit"
placeholder="请输入电表数" placeholder="请输入电表数"
border="none" border="none"
@ -69,8 +77,8 @@
<view class="section-card"> <view class="section-card">
<view class="section-title">其他说明</view> <view class="section-title">其他说明</view>
<u-textarea <u-textarea
v-model="value" v-model="facilitiesCheckDesc"
:formatter="formatter"
ref="textarea" ref="textarea"
placeholder="请输入内容(不超过500字)" placeholder="请输入内容(不超过500字)"
maxlength="500" maxlength="500"
@ -108,28 +116,36 @@
</template> </template>
<script> <script>
import { getRoomFacilities,submitCheckout } from "../../../pages/api";
export default { export default {
data() { data() {
return { return {
btnStyle: btnStyle:
"background:linear-gradient(90deg,#0DC6C6 0%,#13C2C2 100%);font-size:36rpx;border-radius:48rpx;width:60vw;height:80rpx;", "background:linear-gradient(90deg,#0DC6C6 0%,#13C2C2 100%);font-size:36rpx;border-radius:48rpx;width:60vw;height:80rpx;",
deviceList: [ deviceList: [ ],
{ name: "空调", status: "完好" },
{ name: "冰箱", status: "完好" },
{ name: "洗衣机", status: "完好" },
{ name: "电磁灶", status: "完好" },
{ name: "沙发", status: "完好" },
{ name: "茶几", status: "完好" },
{ name: "桌椅", status: "完好" },
],
statusOptions: ["完好", "破损", "丢失"], statusOptions: ["完好", "破损", "丢失"],
waterMeter: 3245.1, waterMeterValue: '',
electricMeter: 2672.6, energyMeterValue: '',
remark: "", remark: "",
fileList: [], fileList: [],
info: {},
facilitiesCheckDesc: "",
}; };
}, },
onLoad(options) {
console.log("options", options);
const detail = uni.getStorageSync("checkoutDetail");
this.info = detail;
this.getFacilities(options.houseId);
},
methods: { methods: {
getFacilities(id) {
getRoomFacilities({ houseId: id }).then((res) => {
this.deviceList = res.data;
});
},
onDeviceChange(idx, val) { onDeviceChange(idx, val) {
this.deviceList[idx].status = val; this.deviceList[idx].status = val;
}, },
@ -141,6 +157,17 @@ export default {
this.fileList.splice(event.index, 1); this.fileList.splice(event.index, 1);
}, },
onSubmit() { onSubmit() {
let data = {
checkOutRecId: this.info.checkOutRecId,
houseId: this.info.houseId,
roomId: this.info.roomId,
graduateId: this.info.graduateId,
graduateName: this.info.graduateName,
startDate: this.info.startDate,
checkOutDate: this.info.checkOutDate,
waterMeterValue: this.waterMeterValue,
}
uni.showToast({ title: "提交成功", icon: "success" }); uni.showToast({ title: "提交成功", icon: "success" });
}, },
}, },

11
pagesA/checkout/list/list.vue

@ -14,7 +14,7 @@
<view class="room-title">{{ item.roomNamePath }}</view> <view class="room-title">{{ item.roomNamePath }}</view>
<view class="room-user"> <view class="room-user">
<text>{{ item.graduateName }}</text> <text>{{ item.graduateName }}</text>
<text class="gender">{{ item.gender==1?'男':'女' }}</text> <text class="gender">{{ item.gender == 1 ? "男" : "女" }}</text>
<text class="phone">{{ item.telephone }}</text> <text class="phone">{{ item.telephone }}</text>
</view> </view>
<view class="room-date" <view class="room-date"
@ -71,8 +71,15 @@ export default {
this.getList(); this.getList();
}, },
goDetail(item) { goDetail(item) {
uni.setStorageSync("checkoutDetail", {
roomNamePath: item.roomNamePath, //
graduateName: item.graduateName, //
gender: item.gender, //
telephone: item.telephone, //
checkOutDate: item.checkOutDate, //
});
uni.navigateTo({ uni.navigateTo({
url: `/pagesA/checkout/detail/detail?id=${item.chooseRoomRecId}`, url: `/pagesA/checkout/detail/detail?houseId=${item.houseId}`,
}); });
}, },
}, },

Loading…
Cancel
Save