首页、公共维修、出租屋管理、报事报修、门牌码信息更新
| | |
| | | { |
| | | "path": "views/rental", |
| | | "style": { |
| | | "onReachBottomDistance": 10, |
| | | "navigationBarTitleText": "出租房管理", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#fff", |
| | |
| | | this.curSelectSite = dataList[0];
|
| | | }
|
| | | this.curHouseCode = this.curSelectSite.id
|
| | | uni.setStorageSync('curSelectSite', this.curSelectSite)
|
| | | }
|
| | | },
|
| | |
|
| | |
| | | <text class="f-28 c-aa ml-20">当前小区:</text> |
| | | </view> |
| | | |
| | | <text class="address f-28">万达华府26栋1903室 万达华府26栋1903室</text> |
| | | <text class="address f-28">{{ curSelectSite.name }}</text> |
| | | </view> |
| | | <view class="content bgc-ff"> |
| | | <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90" |
| | |
| | | }, |
| | | desc: "", |
| | | title: "", |
| | | curSelectSite: {} |
| | | } |
| | | }, |
| | | onLoad(option) { |
| | |
| | | }) |
| | | this.info.type = option.type |
| | | }, |
| | | onShow() { |
| | | this.curSelectSite = uni.getStorageSync('curSelectSite') |
| | | }, |
| | | methods: { |
| | | sumitInfo() { |
| | | const that = this |
| | |
| | | :popupTitle="selectBusTitle" :dataLists="selectBusList" @cancel="typeShow = false" @submit="typeSelect">
|
| | | </select-bus>
|
| | | <!--出租时间选择-->
|
| | | <u-datetime-picker v-model="currentTime" v-if="rentTimeShow" :closeOnClickOverlay="true" @close="rentTimeShow = false" :show="rentTimeShow" mode="date" @confirm="rentTimeConfirm"
|
| | | <u-datetime-picker v-model="currentTime" v-if="rentTimeShow" :closeOnClickOverlay="true"
|
| | | @close="rentTimeShow = false" :show="rentTimeShow" mode="date" @confirm="rentTimeConfirm"
|
| | | @cancel="rentTimeShow = false"></u-datetime-picker>
|
| | | <u-datetime-picker v-model="currentTime" v-if="dueTimeShow" :closeOnClickOverlay="true" @close="dueTimeShow = false" :show="dueTimeShow" mode="date" @confirm="dueTimeConfirm"
|
| | | <u-datetime-picker v-model="currentTime" v-if="dueTimeShow" :closeOnClickOverlay="true"
|
| | | @close="dueTimeShow = false" :show="dueTimeShow" mode="date" @confirm="dueTimeConfirm"
|
| | | @cancel="dueTimeShow = false"></u-datetime-picker>
|
| | |
|
| | | <view class="bottom-tools">
|
| | | <u-button class="btn-item" @click="addRentForm">再加一人</u-button>
|
| | | <u-button class="btn-item" @click="saveOrUpdate">{{ rentId === '' ? "保存" : "确认修改" }}</u-button>
|
| | | <u-button class="btn-item" color="#2CD5C0" @click="addRentForm">再加一人</u-button>
|
| | | <u-button class="btn-item" type="error" @click="isModelShow = true" v-if="rentId !== ''">删除</u-button>
|
| | | <u-button class="btn-item" type="warning" @click=""
|
| | | v-if="auditStatus == '0' && currentRole === 'admin'">审核</u-button>
|
| | | <u-button class="btn-item" color="linear-gradient(to right, #06B0FD, #027BFE)"
|
| | | @click="saveOrUpdate">{{ rentId === '' ? "保存" : "确认修改" }}</u-button>
|
| | | </view>
|
| | | <u-modal :show="isModelShow" width="auto" :showCancelButton="true" title="提示" content="请确认是否删除当前租户信息" |
| | | @cancel="isModelShow = false" @confirm="deleteRent"></u-modal>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | } from "@/api/doorplateAddress/doorplateAddress";
|
| | | import {
|
| | | addHouseRental,
|
| | | updateRetalInfo
|
| | | updateRetalInfo, |
| | | deleteRentalInfo
|
| | | } from '@/api/houseRental/houseRental.js'
|
| | | import {
|
| | | data
|
| | |
| | | typeShow: false,
|
| | | houseCode: '',
|
| | | rentId: '', |
| | | currentTime: Number(new Date())
|
| | | auditStatus: null,
|
| | | currentTime: Number(new Date()), |
| | | isModelShow: false, |
| | | |
| | | }
|
| | | },
|
| | | onLoad(option) {
|
| | |
| | | houseRentalList
|
| | | }
|
| | | } = await getHouseRentInfo(this.houseCode)
|
| | | this.auditStatus = houseRentalList.auditStatus
|
| | | const images = []
|
| | | const {
|
| | | houseStatus,
|
| | |
| | | this.$refs.rentform[index].form = item
|
| | | })
|
| | | })
|
| | | },
|
| | | async deleteRent() {
|
| | | const {
|
| | | code,
|
| | | data
|
| | | } = await deleteRentalInfo(this.rentId)
|
| | | if (code !== 200) {
|
| | | uni.showToast({
|
| | | title: "删除失败",
|
| | | icon: "error",
|
| | | duration: 1500
|
| | | })
|
| | | return
|
| | | }
|
| | | this.isModelShow = false |
| | | uni.showToast({ |
| | | title: '删除成功', |
| | | icon: 'success', |
| | | duration: 1000, |
| | | complete: () => { |
| | | setTimeout(() => { |
| | | uni.navigateBack() |
| | | }, 1000) |
| | | } |
| | | })
|
| | | },
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
| | | z-index: 999;
|
| | |
|
| | | .btn-item {
|
| | | margin: 40rpx;
|
| | | // margin: 40rpx;
|
| | | // margin: 30rpx;
|
| | | color: #ffffff;
|
| | | font-weight: 700;
|
| | | border: 0;
|
| | | margin: 30rpx;
|
| | | margin-left: 0;
|
| | |
|
| | | &:nth-child(1) {
|
| | | flex: 1;
|
| | | background-color: #2CD5C0;
|
| | | }
|
| | |
|
| | | &:nth-child(2) {
|
| | | flex: 3;
|
| | | background: linear-gradient(to right, #06B0FD, #027BFE);
|
| | | margin-left: 0rpx;
|
| | | &:first-child {
|
| | | margin-left: 30rpx;
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | <text class="f-28 c-aa ml-20">当前小区:</text> |
| | | </view> |
| | | |
| | | <text class="address f-28">万达华府26栋1903室 万达华府26栋1903室</text> |
| | | <text class="address f-28">{{ curSelectSite.name }}</text> |
| | | </view> |
| | | |
| | | <view class="nav flex flex-wrap j-c-s-b"> |
| | |
| | | total: 0, |
| | | handle: 0, |
| | | }, |
| | | curSelectSite: {}, |
| | | navList: [{ |
| | | title: "公共维修", |
| | | type: 1, |
| | |
| | | }, |
| | | onShow() { |
| | | this.getStatistics() |
| | | this.curSelectSite = uni.getStorageSync('curSelectSite') |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | </script>
|
| | |
|
| | | <style lang="scss" scoped>
|
| | | page { |
| | | background-color: #f6f6f6; |
| | | }
|
| | | .container {
|
| | | min-height: 100%;
|
| | | overflow-y: auto;
|
| | | background-color: #f6f6f6;
|
| | |
|
| | | .tabsAndSearch {
|
| | |
| | | <view class="header bgc-ff">
|
| | | <view class="filter-box">
|
| | | <chenchuang-CCDropDownFilter :filterData='filterData' :defaultIndex='defaultIndex'
|
| | | @ed='handleSelect'></chenchuang-CCDropDownFilter>
|
| | | @onSelected='handleSelect'></chenchuang-CCDropDownFilter>
|
| | | </view>
|
| | | <view class="search-box">
|
| | | <u-search placeholder="请输入租户名" v-model="keyword" :clearabled="true" :showAction="true" :animation="true"
|
| | |
| | | </view>
|
| | | </view>
|
| | |
|
| | | <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="已经到底了" line />
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | },
|
| | | {
|
| | | name: '待审核',
|
| | | value: '0'
|
| | | },
|
| | | {
|
| | | name: '审核通过',
|
| | | value: '1'
|
| | | },
|
| | | {
|
| | | name: '未到期',
|
| | | name: '审核不通过',
|
| | | value: '2'
|
| | | },
|
| | | {
|
| | | name: '未到期',
|
| | | value: '10'
|
| | | },
|
| | | {
|
| | | name: '即将到期',
|
| | | value: '3'
|
| | | value: '20'
|
| | | },
|
| | | {
|
| | | name: '已到期',
|
| | | value: '3'
|
| | | value: '30'
|
| | | }
|
| | | ],
|
| | | [{
|
| | |
| | | keyword: "", |
| | | statistics: [],
|
| | | tenantList: [],
|
| | | status: [{
|
| | | loadingStatus: 'nomore',
|
| | | pagingParams: {
|
| | | current: 1,
|
| | | size: 10
|
| | | },
|
| | | tenantStatus: [{
|
| | | name: '未到期',
|
| | | value: 0
|
| | | },
|
| | |
| | | this.getList()
|
| | | },
|
| | | onShow() {
|
| | | this.tenantList = []
|
| | | this.getRentalHouseInfo()
|
| | | },
|
| | | onReachBottom() {
|
| | | this.pagingParams.current++
|
| | | this.getRentalHouseInfo()
|
| | | },
|
| | | methods: {
|
| | | handleSelect(res) {
|
| | | console.log('选择res = ' + JSON.stringify(res));
|
| | | const [auditStatus, floor] = res
|
| | | console.log(auditStatus, floor);
|
| | | this.pagingParams = {
|
| | | current: 1,
|
| | | size: 10
|
| | | } |
| | | this.tenantList = [] |
| | | let params = {}
|
| | | if (auditStatus[0].value !== '') {
|
| | | params = { |
| | | auditStatus: auditStatus[0].value |
| | | }
|
| | | } |
| | | this.getRentalHouseInfo(params)
|
| | | },
|
| | | getStatistics() {
|
| | | getStatistics().then(res => {
|
| | |
| | | })
|
| | | return res.name
|
| | | },
|
| | | async getRentalHouseInfo() {
|
| | | async getRentalHouseInfo(params = {}) {
|
| | | this.loadingStatus = 'loadmore'
|
| | | const {
|
| | | code,
|
| | | data: {
|
| | | records
|
| | | }
|
| | | } = await getRentalHouseContent({
|
| | | tenantName: this.keyword
|
| | | tenantName: this.keyword,
|
| | | ...this.pagingParams,
|
| | | ...params
|
| | | })
|
| | | if (code !== 200) {
|
| | | uni.showToast({
|
| | |
| | | })
|
| | | return
|
| | | }
|
| | | this.tenantList = records
|
| | | this.tenantList = [...this.tenantList, ...records]
|
| | | this.loadingStatus = 'nomore'
|
| | | },
|
| | | search() {
|
| | | this.getRentalHouseInfo()
|