| | |
| | | <view class="pic">
|
| | | <view class="title">合同上传</view>
|
| | | <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
|
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" |
| | | uploadIcon="/static/icon/upload.png"
|
| | | :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
|
| | | @delete="deletePic">
|
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
|
| | | uploadIcon="/static/icon/upload.png" :maxCount="uploadConfig.maxCount"
|
| | | :capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
|
| | | </u-upload>
|
| | | </view>
|
| | | </view>
|
| | |
| | | <view v-for="(item, index) in rentFormNum" :key="item" class="rent-box">
|
| | | <view class="box-title">
|
| | | <view class="l">
|
| | | <view class="line"></view> |
| | | <view class="line"></view>
|
| | | <view class="title">{{ '租客信息-#' + (index + 1) }}</view>
|
| | | </view>
|
| | | <view class="r" v-if="(index+1) > 1">
|
| | |
| | | </view>
|
| | | </u-form>
|
| | | <!-- 事件类型下拉框 -->
|
| | | <select-bus v-if="typeShow" :show="typeShow" v-model="form[selectBusModel]" type="radio"
|
| | | <!-- <select-bus v-if="typeShow" :show="typeShow" v-model="form[selectBusModel]" type="radio"
|
| | | :popupTitle="selectBusTitle" :dataLists="selectBusList" @cancel="typeShow = false" @submit="typeSelect">
|
| | | </select-bus>
|
| | | </select-bus> -->
|
| | | <u-picker :closeOnClickOverlay="true" v-if="typeShow" :show="typeShow" :columns="[selectBusList]"
|
| | | @close="typeShow = false" @cancel="typeShow = false" keyName="name" @confirm="typeSelect"></u-picker>
|
| | | <!--出租时间选择-->
|
| | | <u-datetime-picker v-model="currentTime" v-if="rentTimeShow" :closeOnClickOverlay="true"
|
| | | @close="rentTimeShow = false" :show="rentTimeShow" mode="date" @confirm="rentTimeConfirm"
|
| | |
| | | }]
|
| | | },
|
| | | rentTimeShow: false,
|
| | | dueTimeShow: false, |
| | | dueTimeShow: false,
|
| | | rentFormNum: 1,
|
| | | relationName: "",
|
| | | houseTypeName: "",
|
| | |
| | | this.typeShow = true
|
| | | },
|
| | | //类型选择确认
|
| | | typeSelect(item) {
|
| | | this[this.selectBusModel] = item.name
|
| | | this.form[this.selectBusKey] = item.value
|
| | | typeSelect(e) { |
| | | const [ result ] = e.value
|
| | | this[this.selectBusModel] = result.name
|
| | | this.form[this.selectBusKey] = result.value
|
| | | this.typeShow = !this.typeShow
|
| | | },
|
| | | rentTimeClick() {
|
| | |
| | | }
|
| | | }
|
| | | </script>
|
| | | |
| | | <style> |
| | | page { |
| | | background: #F5F5F5; |
| | | } |
| | |
|
| | | <style>
|
| | | page {
|
| | | background: #F5F5F5;
|
| | | }
|
| | | </style>
|
| | | <style scoped lang="scss">
|
| | | .container {
|
| | |
| | | padding: 30rpx;
|
| | | border-radius: 8rpx;
|
| | |
|
| | | |
| | |
|
| | |
|
| | | .pic {
|
| | | |
| | |
|
| | |
|
| | | // padding: 40rpx 30rpx;
|
| | | .title {
|
| | | font-size: 30rpx;
|
| | | margin: 20rpx 0;
|
| | | } |
| | | |
| | | /deep/ .u-upload__button { |
| | | border: 1rpx solid #EEEEEE; |
| | | background-color: #fff; |
| | | }
|
| | |
|
| | | /deep/ .u-upload__button {
|
| | | border: 1rpx solid #EEEEEE;
|
| | | background-color: #fff;
|
| | | }
|
| | | }
|
| | | }
|
| | |
| | | .rent-box {
|
| | | padding: 30rpx;
|
| | | background-color: #ffffff;
|
| | | margin-top: 30rpx; |
| | | margin-top: 30rpx;
|
| | | border-radius: 8rpx;
|
| | |
|
| | | .box-title {
|
| | | display: flex;
|
| | | justify-content: space-between;
|
| | |
| | | width: calc(100% - 40rpx);
|
| | | // border-top: 1rpx solid #e4e4e4;
|
| | | z-index: 999;
|
| | | padding: 20rpx; |
| | | |
| | | padding: 20rpx;
|
| | |
|
| | | /deep/ .u-button {
|
| | | color: #ffffff;
|
| | | font-weight: 700;
|
| | |
| | | }
|
| | | }
|
| | | }
|
| | | } |
| | | /deep/ .u-form-item { |
| | | padding: 5rpx 20rpx; |
| | | border-bottom: 1px solid #eff1f3; |
| | | }
|
| | |
|
| | | /deep/ .u-form-item {
|
| | | padding: 5rpx 20rpx;
|
| | | border-bottom: 1px solid #eff1f3;
|
| | | }
|
| | | </style> |
| | |
| | | <u-divider text="已经到底了"></u-divider>
|
| | | </view>
|
| | | </view>
|
| | | <u-toast ref="uToast"></u-toast>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | |
| | | this.getBuildingList()
|
| | | },
|
| | | methods: {
|
| | | async getBuildingList() { |
| | | uni.showToast({ |
| | | title: '数据加载中', |
| | | icon: 'loading' |
| | | async getBuildingList() {
|
| | | this.$refs.uToast.show({
|
| | | type: 'loading',
|
| | | message: '正在加载',
|
| | | duration: 9999999
|
| | | })
|
| | | this.isShowBuild = false
|
| | | this.isShowShop = false
|
| | |
| | | this.isShowShop = true
|
| | | this.shopList = shopList || []
|
| | | }
|
| | | this.$nextTick(() => {
|
| | | this.$refs.uToast.isShow = false
|
| | | })
|
| | | },
|
| | | pushPage(name, scItem) {
|
| | | const {
|
| | |
| | | <line-item :list="policeData"></line-item>
|
| | | <line-item :list="firemanData"></line-item>
|
| | | </view>
|
| | | </view>
|
| | | </view> |
| | | <u-toast ref="uToast"></u-toast>
|
| | | <view class="btn-box">
|
| | | <view class="sl-box" @click="csjlClick">
|
| | | <u-icon name="/static/icon/menu-01.png" size="30"></u-icon>
|
| | |
| | | value: '未完善'
|
| | | }
|
| | | ],
|
| | | id: 1, |
| | | id: 1,
|
| | | lngLat: {
|
| | | lat: '',
|
| | | lng: ''
|
| | |
| | | },
|
| | | methods: {
|
| | | async getBuildingDetail() {
|
| | | this.$refs.uToast.show({
|
| | | type: 'loading',
|
| | | message: '正在加载', |
| | | duration: 9999999
|
| | | })
|
| | | // const {
|
| | | // code,
|
| | | // data
|
| | |
| | | lat,
|
| | | lng
|
| | | } = data
|
| | | this.lngLat = { |
| | | lat, |
| | | lng |
| | | } |
| | | this.marker = [{ |
| | | id: 1, |
| | | width: 30, |
| | | this.lngLat = {
|
| | | lat,
|
| | | lng
|
| | | }
|
| | | this.marker = [{
|
| | | id: 1,
|
| | | width: 30,
|
| | | height: 40,
|
| | | latitude: lat,
|
| | | longitude: lng,
|
| | | }]
|
| | | }] |
| | | this.$nextTick(() => { |
| | | this.$refs.uToast.isShow = false |
| | | })
|
| | | },
|
| | | imgPreview(value) {
|
| | | uni.previewImage({
|
| | |
| | | height: 90rpx;
|
| | | background-color: #fff;
|
| | | display: flex;
|
| | | box-shadow: 0 2rpx 12rpx 0 rgba(0, 0, 0, .1); |
| | | position: fixed; |
| | | left: 0; |
| | | box-shadow: 0 2rpx 12rpx 0 rgba(0, 0, 0, .1);
|
| | | position: fixed;
|
| | | left: 0;
|
| | | bottom: 0;
|
| | |
|
| | | .sl-box {
|
| | |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
|
| | | <u-toast ref="uToast"></u-toast>
|
| | | <u-divider text="已经到底了"></u-divider>
|
| | | </view>
|
| | | </view>
|
| | |
| | | },
|
| | | methods: {
|
| | | async getHouseInfo() {
|
| | | this.$refs.uToast.show({
|
| | | type: 'loading',
|
| | | message: '正在加载',
|
| | | duration: 9999999
|
| | | })
|
| | | const param = {
|
| | | type: 2,
|
| | | code: this.currentId,
|
| | |
| | | title: '-'
|
| | | }]
|
| | | }
|
| | |
|
| | | this.$nextTick(() => {
|
| | | this.$refs.uToast.isShow = false
|
| | | })
|
| | | },
|
| | | pushPage(value) {
|
| | | const {
|
| | |
| | | <newBoxTitle :title="item.name"></newBoxTitle>
|
| | | <view class="label-btn-box">
|
| | | <view v-for="(item, k) in item.children" :key="k">
|
| | | <u-button size="mini" type="primary" |
| | | :color="item.color" |
| | | :style="{color: item.color && '#fff'}"
|
| | | :text="item.name" @click="showLabelPopup(item)"></u-button>
|
| | | <u-button size="mini" type="primary" :color="item.color"
|
| | | :style="{color: item.color && '#fff'}" :text="item.name"
|
| | | @click="showLabelPopup(item)"></u-button>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
| | | }
|
| | | },
|
| | | created() {},
|
| | | mounted() { |
| | | mounted() {
|
| | | this.getDoorPlateAddressDetail() |
| | | this.$nextTick(() => { |
| | | if (this.labelBtnList.length === 0) { |
| | | this.getLabelList() |
| | | } |
| | | })
|
| | | },
|
| | | onLoad(option) {
|
| | | const data = JSON.parse(option.data);
|
| | | this.householdInfo = data;
|
| | | this.houseCode = data.houseCode
|
| | | // this.getDoorPlateAddressDetail()
|
| | | },
|
| | | onShow() {
|
| | | this.getLabelList() |
| | | }, |
| | | onShow() { |
| | | this.getLabelList() |
| | | },
|
| | | methods: {
|
| | | // 获取房屋详情
|
| | |
| | | }
|
| | | }
|
| | | </script>
|
| | | <style> |
| | | page { |
| | | background-color: #fff; |
| | | } |
| | | <style>
|
| | | page {
|
| | | background-color: #fff;
|
| | | }
|
| | | </style>
|
| | | <style scoped lang="scss"> |
| | | |
| | | <style scoped lang="scss">
|
| | | .container {
|
| | | position: relative;
|
| | | width: 100%;
|
| | |
| | | margin: 0 20rpx 20rpx 0;
|
| | |
|
| | | /deep/ .u-button {
|
| | | padding: 6rpx 8rpx; |
| | | border-width: 0 !important; |
| | | background-color: #F5F5F5; |
| | | padding: 6rpx 8rpx;
|
| | | border-width: 0 !important;
|
| | | background-color: #F5F5F5;
|
| | | color: #999999;
|
| | | }
|
| | | }
|
| | |
| | | </view> |
| | | |
| | | <!-- 事件类型下拉框 --> |
| | | <select-bus v-if="typeShow" :show="typeShow" v-model="form[selectBusModel]" type="radio" |
| | | <!-- <select-bus v-if="typeShow" :show="typeShow" v-model="form[selectBusModel]" type="radio" |
| | | :popupTitle="selectBusTitle" :dataLists="selectBusList" @cancel="typeShow = false" @submit="typeSelect"> |
| | | </select-bus> |
| | | </select-bus> --> |
| | | <u-picker :closeOnClickOverlay="true" v-if="typeShow" :show="typeShow" :columns="[selectBusList]" |
| | | @close="typeShow = false" @cancel="typeShow = false" keyName="name" @confirm="typeSelect"></u-picker> |
| | | </view> |
| | | </template> |
| | | |
| | |
| | | }, |
| | | //类型选择确认 |
| | | typeSelect(item) { |
| | | this[this.selectBusModel] = item.name |
| | | this.form[this.selectBusModel] = item.value |
| | | const [ result ] = e.value |
| | | this[this.selectBusModel] = result.name |
| | | this.form[this.selectBusKey] = result.value |
| | | this.typeShow = !this.typeShow |
| | | }, |
| | | //表单提交 |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | background: #F5F5F5; |
| | | |
| | | |
| | | |
| | | .main { |
| | | position: relative; |
| | | height: 0; |
| | |
| | | height: 0; |
| | | flex: 1; |
| | | overflow-y: auto; |
| | | padding-bottom: 36rpx; |
| | | padding-bottom: 120rpx; |
| | | // padding-bottom: 36rpx; |
| | | } |
| | | |
| | | |
| | |
| | | justify-content: space-around; |
| | | align-items: center; |
| | | height: 116rpx; |
| | | position: fixed; |
| | | left: 0; |
| | | bottom: 0; |
| | | width: 100%; |
| | | } |
| | | } |
| | | |
| | |
| | | </view>
|
| | | </u-sticky>
|
| | | <view class="list">
|
| | | <view class="list-item bgc-ff mb-20" v-for="item in siteList" :key="item.id" @click="pushPage(item.placeId, item.id)">
|
| | | <view class="list-item bgc-ff mb-20" v-for="item in siteList" :key="item.id"
|
| | | @click="pushPage(item.placeId, item.id)">
|
| | | <view class="item-title flex a-i-c j-c-s-b mb-20">
|
| | | <text class="f-32 fw">{{ item.placeName ? item.placeName : '场所信息未完善' }}</text>
|
| | | <!-- <u-tag text="待审批" type="warning" plain plainFill></u-tag> -->
|
| | | <u-tag class="u_tag" size="mini" :text="findObjValue(item.confirmFlag, tabList).name" :type="findObjValue(item.confirmFlag, tabList).type" plain plainFill></u-tag>
|
| | | <u-tag class="u_tag" size="mini" :text="findObjValue(item.confirmFlag, tabList).name"
|
| | | :type="findObjValue(item.confirmFlag, tabList).type" plain plainFill></u-tag>
|
| | | <!-- <u-tag text="审核拒绝" type="error" plain plainFill></u-tag> -->
|
| | | </view>
|
| | | <view class="item-row flex a-i-c j-c-s-b">
|
| | |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <u-toast ref="uToast"></u-toast>
|
| | | <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
|
| | | </view>
|
| | | </template>
|
| | |
| | | },
|
| | | tabList: [{
|
| | | name: "待审核",
|
| | | status: 1, |
| | | status: 1,
|
| | | type: 'warning'
|
| | | },
|
| | | {
|
| | | name: "审核通过",
|
| | | status: 2, |
| | | status: 2,
|
| | | type: 'success'
|
| | | },
|
| | | {
|
| | | name: "审核不通过",
|
| | | status: 3, |
| | | status: 3,
|
| | | type: 'error'
|
| | | },
|
| | | ],
|
| | | tabIndex: 0,
|
| | | tabStatus: 1,
|
| | | keyWord: '',
|
| | | loadingStatus: 'nomore', |
| | | clickInfo: {}, |
| | | loadingStatus: 'nomore',
|
| | | clickInfo: {},
|
| | | currentRole: {}
|
| | | }
|
| | | },
|
| | | onShow() { |
| | | this.currentRole = uni.getStorageSync("activeRole") |
| | | onShow() {
|
| | | this.currentRole = uni.getStorageSync("activeRole")
|
| | | this.resetParams()
|
| | | this.getSiteList()
|
| | | },
|
| | |
| | | },
|
| | | methods: {
|
| | | async getSiteList() {
|
| | | this.$refs.uToast.show({
|
| | | type: 'loading',
|
| | | message: '正在加载',
|
| | | duration: 9999999
|
| | | })
|
| | | this.loadingStatus = 'loadingmore'
|
| | | const params = {
|
| | | placeName: this.keyWord,
|
| | | confirmFlag: this.tabStatus
|
| | | } |
| | | const { roleName } = this.currentRole
|
| | | }
|
| | | const {
|
| | | roleName
|
| | | } = this.currentRole
|
| | | const res = await getSiteMaintenanceData({
|
| | | ...params, |
| | | ...params,
|
| | | roleName,
|
| | | ...this.pagingParams
|
| | | }) |
| | | })
|
| | | console.log(res);
|
| | | const {
|
| | | code,
|
| | |
| | | } = res
|
| | | if (code !== 200) {
|
| | | uni.showToast({
|
| | | title: '数据请求失败', |
| | | title: '数据请求失败',
|
| | | icon: 'error'
|
| | | })
|
| | | return
|
| | | }
|
| | | this.siteList = [...this.siteList, ...records]
|
| | | this.$nextTick(() => {
|
| | | this.$refs.uToast.isShow = false
|
| | | })
|
| | | this.loadingStatus = 'nomore'
|
| | | },
|
| | | changeTab(e) {
|
| | |
| | | this.getSiteList()
|
| | | },
|
| | | clearConfirm() {
|
| | | this.keyWord = '' |
| | | this.resetParams() |
| | | this.keyWord = ''
|
| | | this.resetParams()
|
| | | this.searchConfirm()
|
| | | },
|
| | | resetParams() {
|
| | |
| | | })
|
| | | return res
|
| | | },
|
| | | pushPage(placeId, id) { |
| | | const { roleAlias } = this.currentRole |
| | | if (roleAlias === "inhabitant") { |
| | | return |
| | | pushPage(placeId, id) {
|
| | | const {
|
| | | roleAlias
|
| | | } = this.currentRole
|
| | | if (roleAlias === "inhabitant") {
|
| | | return
|
| | | }
|
| | | this.$u.func.globalNavigator(`/subPackage/workbench/views/examine?id=${id}&placeId=${placeId}`)
|
| | | }
|
| | |
| | | padding: 10rpx 0;
|
| | |
|
| | | .address {
|
| | | width: 65%; |
| | | width: 65%;
|
| | | text-align: right;
|
| | | }
|
| | | }
|
| | |
| | | </view>
|
| | | <view class="search">
|
| | | <u-search placeholder="请输入场所名称" v-model="iptContext" :clearabled="true" :showAction="true"
|
| | | :animation="true" @change="keyWordChange" @search="searchConfirm" @clear="clearConfirm"></u-search>
|
| | | :animation="true" @change="keyWordChange" @search="searchConfirm"
|
| | | @clear="clearConfirm"></u-search>
|
| | | </view>
|
| | | </view>
|
| | | </u-sticky>
|
| | |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | <u-toast ref="uToast"></u-toast>
|
| | | <u-loadmore :status="status" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="没有更多了" line />
|
| | | </view>
|
| | | </template>
|
| | |
| | | size: 10
|
| | | },
|
| | | tabsType: 1,
|
| | | status: 'nomore', |
| | | status: 'nomore',
|
| | | currentRole: {}
|
| | | }
|
| | | },
|
| | | onShow() { |
| | | this.recordsData = [] |
| | | onShow() {
|
| | | this.recordsData = []
|
| | | this.currentRole = uni.getStorageSync('activeRole')
|
| | | this.getrRecordList()
|
| | | },
|
| | |
| | | },
|
| | | methods: {
|
| | | async getrRecordList(placeName = this.iptContext, isPerfect = this.tabsType) {
|
| | | this.status = 'loadmore' |
| | | const { roleName } = this.currentRole |
| | | this.$refs.uToast.show({
|
| | | type: 'loading',
|
| | | message: '正在加载',
|
| | | duration: 9999999
|
| | | })
|
| | | this.status = 'loadmore'
|
| | | const {
|
| | | roleName
|
| | | } = this.currentRole
|
| | | console.log(this.currentRole);
|
| | | const {
|
| | | code,
|
| | |
| | | }
|
| | | } = await getLocationRecord({
|
| | | placeName,
|
| | | isPerfect, |
| | | isPerfect,
|
| | | roleName,
|
| | | ...this.pagingParams
|
| | | })
|
| | |
| | | return
|
| | | }
|
| | | this.recordsData = [...this.recordsData, ...records]
|
| | | this.$nextTick(() => {
|
| | | this.$refs.uToast.isShow = false
|
| | | })
|
| | | this.status = 'nomore'
|
| | | },
|
| | | tabClick({
|
| | |
| | | this.iptContext = ''
|
| | | this.searchConfirm()
|
| | | },
|
| | | pushPage({ id }) {
|
| | | pushPage({
|
| | | id
|
| | | }) {
|
| | | if (!id) {
|
| | | uni.showToast({
|
| | | title: "关键参数为空",
|
| | |
| | |
|
| | | }
|
| | |
|
| | | .info-box { |
| | | padding: 20rpx 30rpx; |
| | | .info-box {
|
| | | padding: 20rpx 30rpx;
|
| | |
|
| | | // background-color: #f6f6f6;
|
| | | .records-card {
|
| | | background: #fff;
|
| | | padding: 30rpx;
|
| | | border-radius: 10rpx; |
| | | border-radius: 10rpx;
|
| | | margin-bottom: 20rpx;
|
| | |
|
| | | .title {
|
| | |
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | |
|
| | | <u-toast ref="uToast"></u-toast>
|
| | | <u-loadmore :status="loadingStatus" loadmoreText="开始加载" loadingText="数据加载中" nomoreText="已经到底了" line />
|
| | | </view>
|
| | | </template>
|
| | |
| | | })
|
| | | }
|
| | | },
|
| | | onLoad() { |
| | | onLoad() {
|
| | | this.currentRole = uni.getStorageSync('activeRole')
|
| | | this.getStatistics()
|
| | | },
|
| | |
| | | scrollTop: 0, // 滚动到页面的目标位置(单位px)
|
| | | });
|
| | | },
|
| | | getStatistics(auditStatus = '') { |
| | | const { roleName } = this.currentRole
|
| | | let params = { |
| | | roleName |
| | | getStatistics(auditStatus = '') {
|
| | | const {
|
| | | roleName
|
| | | } = this.currentRole
|
| | | let params = {
|
| | | roleName
|
| | | }
|
| | | if (auditStatus) {
|
| | | params = {
|
| | | auditStatus, |
| | | auditStatus,
|
| | | roleName
|
| | | }
|
| | | }
|
| | |
| | | return res.name
|
| | | },
|
| | | async getRentalHouseInfo(params = {}) {
|
| | | this.loadingStatus = 'loadmore' |
| | | const { roleName } = this.currentRole
|
| | | this.loadingStatus = 'loadmore'
|
| | | this.$refs.uToast.show({
|
| | | type: 'loading',
|
| | | message: '正在加载',
|
| | | duration: 9999999
|
| | | })
|
| | | const {
|
| | | roleName
|
| | | } = this.currentRole
|
| | | const {
|
| | | code,
|
| | | data: {
|
| | |
| | | }
|
| | | } = await getRentalHouseContent({
|
| | | tenantName: this.keyword,
|
| | | ...this.pagingParams, |
| | | ...this.pagingParams,
|
| | | roleName,
|
| | | ...this.selectParams
|
| | | })
|
| | |
| | | return
|
| | | }
|
| | | this.tenantList = [...this.tenantList, ...records]
|
| | | this.$nextTick(() => {
|
| | | this.$refs.uToast.isShow = false
|
| | | })
|
| | | this.loadingStatus = 'nomore'
|
| | | },
|
| | | search() {
|
| | |
| | | width: 100%;
|
| | | padding: 30rpx 30rpx 0;
|
| | | box-sizing: border-box;
|
| | | margin-bottom: 20rpx; |
| | | margin-bottom: 20rpx;
|
| | | border-radius: 8rpx;
|
| | |
|
| | | .list-address {
|