6 files modified
1 files added
| New file |
| | |
| | | <template>
|
| | | <view class="box-title">
|
| | | <view class="line">
|
| | |
|
| | | </view>
|
| | | <view class="text">
|
| | | {{ title }}
|
| | | </view>
|
| | | </view>
|
| | | </template>
|
| | |
|
| | | <script>
|
| | | export default {
|
| | | props: {
|
| | | title: {
|
| | | type: String,
|
| | | default: ''
|
| | | }
|
| | | },
|
| | |
|
| | | data() {
|
| | | return {
|
| | |
|
| | | }
|
| | | }
|
| | | }
|
| | | </script>
|
| | |
|
| | | <style lang="scss" scoped>
|
| | | .box-title {
|
| | | display: flex; |
| | | align-items: center; |
| | | color: #333; |
| | | margin-bottom: 30rpx;
|
| | | .line {
|
| | | width: 6rpx;
|
| | | height: 30rpx;
|
| | | margin-right: 10rpx;
|
| | | background-color: #017BFC;
|
| | | } |
| | | .text { |
| | | font-size: 32rpx; |
| | | }
|
| | | }
|
| | | </style> |
| | |
| | | "pages": [{ |
| | | "path": "views/cscj", |
| | | "style": { |
| | | "navigationBarTitleText": "场所维护", |
| | | "navigationBarTitleText": "场所采集", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#4586fe", |
| | | "navigationBarTextStyle": "white" |
| | |
| | | { |
| | | "path": "views/audit", |
| | | "style": { |
| | | "navigationBarTitleText": "网格任务审核", |
| | | "navigationBarTitleText": "标签事件", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | |
| | | "path": "views/cshw", |
| | | "style": { |
| | | "onReachBottomDistance": 10, |
| | | "navigationBarTitleText": "网格任务审核", |
| | | "navigationBarTitleText": "场所维护", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | |
| | | { |
| | | "path": "views/report", |
| | | "style": { |
| | | "navigationBarTitleText": "网格任务审核", |
| | | "navigationBarTitleText": "保修报事", |
| | | "enablePullDownRefresh": false, |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black" |
| | |
| | | "path": "member/householdLabel", |
| | | "style": { |
| | | "navigationBarTitleText": "标签管理", |
| | | "navigationBarBackgroundColor": "#5887f9", |
| | | "navigationBarTextStyle": "white", |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | |
| | | "path": "roomControl/index", |
| | | "style": { |
| | | "navigationBarTitleText": "房屋管理", |
| | | "navigationBarBackgroundColor": "#5887f9", |
| | | "navigationBarTextStyle": "white", |
| | | "navigationBarBackgroundColor": "#fff", |
| | | "navigationBarTextStyle": "black", |
| | | "enablePullDownRefresh": false |
| | | } |
| | | }, |
| | |
| | | }, |
| | | onShow() { |
| | | this.curSelectSite = uni.getStorageSync('curSelectSite') |
| | | this.info.addressCode = this.curSelectSite.id |
| | | console.log(this.curSelectSite);
|
| | | }, |
| | | methods: { |
| | | sumitInfo() { |
| | |
| | | @cancel="dueTimeShow = false"></u-datetime-picker>
|
| | |
|
| | | <view class="bottom-tools">
|
| | | <u-button class="btn-item" type="error" @click="isModelShow = true" v-if="rentId !== ''">删除</u-button>
|
| | | <u-button class="btn-item" type="success" @click="verify" |
| | | v-if="!auditStatus && currentRole.roleAlias === 'wgy'">确认</u-button>
|
| | | <u-button class="btn-item" type="error" @click="isModelShow = true"
|
| | | v-if="btnControls.deleteBtn">删除</u-button>
|
| | | <u-button class="btn-item" type="success" @click="verify" v-if="btnControls.verifyBtn">确认</u-button>
|
| | | <u-button class="btn-item" color="linear-gradient(to right, #06B0FD, #027BFE)"
|
| | | @click="saveOrUpdate">{{ rentId === '' ? "保存" : "确认修改" }}</u-button>
|
| | | </view>
|
| | |
| | | auditStatus: null,
|
| | | currentTime: Number(new Date()),
|
| | | isModelShow: false,
|
| | | btnControls: {
|
| | | deleteBtn: false,
|
| | | verifyBtn: false
|
| | | }
|
| | |
|
| | | }
|
| | | },
|
| | |
| | | houseCode
|
| | | } = option
|
| | | this.houseCode = houseCode
|
| | | this.currentRole = uni.getStorageSync("activeRole")
|
| | | // 使用id来判断是不是修改
|
| | | if (id !== void 0) {
|
| | | this.rentId = id
|
| | | this.getCurrentRentInfo()
|
| | | }
|
| | | },
|
| | | mounted() {
|
| | | this.currentRole = uni.getStorageSync("activeRole") |
| | | console.log(this.currentRole);
|
| | | },
|
| | | methods: {
|
| | | showSelectBus(data, title, model, key) {
|
| | |
| | | id: this.rentId, |
| | | auditStatus |
| | | }).then(res => { |
| | | const { code, data } = res |
| | | const {
|
| | | code,
|
| | | data
|
| | | } = res
|
| | | if (code !== 200) { |
| | | uni.showToast({ |
| | | title: "确认失败", |
| | |
| | | this.$refs.rentform[index].form = item
|
| | | })
|
| | | })
|
| | | this.btnControls = { |
| | | deleteBtn: this.rentId !== '', |
| | | verifyBtn: !this.auditStatus && !!this.rentId && this.currentRole.roleAlias === 'wgy' |
| | | }
|
| | | },
|
| | | async deleteRent() {
|
| | | const {
|
| | |
| | | .l {
|
| | | display: flex;
|
| | | align-items: center;
|
| | |
|
| | | .line {
|
| | | width: 6rpx; |
| | | height: 60%;
|
| | |
| | | title: "公共维修", |
| | | type: 1, |
| | | bgImg: "/static/icon/nav-bg-06.png", |
| | | path: "addRepair", |
| | | path: `addRepair`, |
| | | background: "#63C875" |
| | | }, |
| | | { |
| | |
| | | onShow() { |
| | | this.getStatistics() |
| | | this.curSelectSite = uni.getStorageSync('curSelectSite') |
| | | console.log(this.curSelectSite); |
| | | }, |
| | | |
| | | methods: { |
| | |
| | | <template> |
| | | <view class="container"> |
| | | <view class="main"> |
| | | <view class="content"> |
| | | <view class="base b-c-w"> |
| | | <u-icon name="photo"></u-icon> {{ houseAddress}} |
| | | <u-icon name="/static/icon/map.png" width="15" height="18"></u-icon>
|
| | | <view>{{ houseAddress}}</view>
|
| | | </view> |
| | | <view class="content">
|
| | | <view class="l flex-1 flex"> |
| | | <view class="flex_base"> |
| | | <view class="head-img flex_base"> |
| | |
| | | </view> |
| | | </view> |
| | | </view> |
| | | <view v-for="(item, index) in labelBtnList" :key="index"> |
| | | <box-title :title="item.name"></box-title> |
| | | <view class="mt-20 flex label-btn-box b-c-w"> |
| | | <view v-for="(item, index) in labelBtnList" :key="index" class="label-crad">
|
| | | <newBoxTitle :title="item.name"></newBoxTitle>
|
| | | <view class="label-btn-box">
|
| | | <view v-for="(item, k) in item.children" :key="k"> |
| | | <u-button color="#000" size="mini" type="primary" |
| | | :style="{background: item.color}" |
| | | :plain="true" :text="item.name" |
| | | @click="showLabelPopup(item)"></u-button> |
| | | <u-button color="#000" size="mini" type="primary" :style="{background: item.color}"
|
| | | :plain="true" :text="item.name" @click="showLabelPopup(item)"></u-button>
|
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | |
| | | <u-radio-group class="mt-40" v-model="labelValue" placement="row"> |
| | | <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in labelList" :key="index" |
| | | :label="item.name" :name="item.name" :activeColor="item.color" @change="radioChange(item)"> |
| | | :label="item.name" :labelColor="item.color" :style="{color: item.color && '#fff'}" :name="item.name" :activeColor="item.color" @change="radioChange(item)">
|
| | | </u-radio> |
| | | </u-radio-group> |
| | | |
| | |
| | | |
| | | <script> |
| | | import uploadMixin from "@/mixin/uploadMixin"; |
| | | |
| | | import newBoxTitle from '@/components/boxTitle/index2.vue'
|
| | | import { |
| | | getLabelListByParentId |
| | | } from "@/api/label/label.js"; |
| | | import { |
| | | getDetail |
| | | } from "@/api/doorplateAddress/doorplateAddress.js"; |
| | | import {saveOrUpdateHouseholdLabel,removeHouseholdLabel} from "@/api/house/householdLabel.js" |
| | | import { getHouseholdDetail } from "@/api/house/household.js" |
| | | import {
|
| | | saveOrUpdateHouseholdLabel,
|
| | | removeHouseholdLabel
|
| | | } from "@/api/house/householdLabel.js"
|
| | | import {
|
| | | getHouseholdDetail
|
| | | } from "@/api/house/household.js"
|
| | | |
| | | export default { |
| | | mixins: [uploadMixin], |
| | | components: {
|
| | | newBoxTitle
|
| | | },
|
| | | data() { |
| | | return { |
| | | houseAddress:"", |
| | |
| | | { |
| | | name: '绿', |
| | | disabled: false, |
| | | color: '#07C160' |
| | | color: '#30D17C'
|
| | | }, |
| | | { |
| | | name: '黄', |
| | | disabled: false, |
| | | color: '#FF976A' |
| | | color: '#FFB42B'
|
| | | }, { |
| | | name: '红', |
| | | disabled: false, |
| | | color: '#EE0A24' |
| | | color: '#EA1F1F'
|
| | | } |
| | | ], |
| | | currentLabelInfo: {}, |
| | |
| | | number:0 |
| | | } |
| | | }, |
| | | created() { |
| | | }, |
| | | mounted() { |
| | | }, |
| | | created() {},
|
| | | mounted() {},
|
| | | onLoad(option) { |
| | | const data = JSON.parse(option.data); |
| | | this.householdInfo = data; |
| | |
| | | height: 100%; |
| | | display: flex; |
| | | flex-direction: column; |
| | | background: #F9F9FA; |
| | | background: #f6f6f6;
|
| | | |
| | | .main { |
| | | position: relative; |
| | |
| | | display: flex; |
| | | flex-direction: column; |
| | | |
| | | .base {
|
| | | padding: 20rpx 18rpx;
|
| | | display: flex;
|
| | | color: #333333;
|
| | | background: #fff;
|
| | | min-height: 38rpx;
|
| | | font-size: 30rpx;
|
| | |
|
| | | view {
|
| | | margin-left: 15rpx;
|
| | | }
|
| | | }
|
| | |
|
| | | .content { |
| | | height: 0; |
| | | flex: 1; |
| | | overflow-y: auto; |
| | | |
| | | .base{ |
| | | padding-left: 20rpx; |
| | | background-color:#ffffff; |
| | | display: flex; |
| | | flex-direction: row; |
| | | align-items: center; |
| | | height: 90rpx; |
| | | font-size: 32rpx; |
| | | letter-spacing: 3rpx; |
| | | border-bottom: 1rpx solid #EBEDF0; |
| | | } |
| | | margin: 20rpx 30rpx;
|
| | | |
| | | .l { |
| | | height: 170rpx; |
| | | background-color: #ffffff; |
| | | align-items: center; |
| | | padding: 30rpx 30rpx;
|
| | | border-radius: 8rpx;
|
| | | |
| | | .head-img { |
| | | margin-left: 20rpx; |
| | | width: 124rpx; |
| | | height: 124rpx; |
| | | background: #EBEDF0; |
| | | border-radius: 50%; |
| | | } |
| | | |
| | |
| | | padding: 40rpx 30rpx; |
| | | } |
| | | |
| | | .label-crad { |
| | | background-color: #fff; |
| | | margin-top: 20rpx; |
| | | padding: 30rpx; |
| | | border-radius: 8rpx;
|
| | | .label-btn-box { |
| | | display: flex; |
| | | flex-direction: row; |
| | | flex-wrap: wrap; |
| | | padding: 10rpx 0; |
| | | |
| | | |
| | | &>view { |
| | | margin: 10rpx 10rpx; |
| | | margin: 0 20rpx 20rpx 0; |
| | | |
| | | .u-button { |
| | | padding: 6rpx 8rpx; |
| | | border-width: 0 !important; |
| | | background-color: #EFEFF0; |
| | | color: #999999 !important; |
| | | |
| | | } |
| | | } |
| | | } |
| | | }
|
| | |
|
| | |
|
| | | |
| | | } |
| | | } |
| | |
| | | <view class="main">
|
| | | <view class="content">
|
| | | <u-form labelWidth="70" :model="form" ref="form" :rules="rules">
|
| | | <box-title title=""></box-title>
|
| | |
|
| | | <view class="basic-info mt-20">
|
| | | <view class="basic-info">
|
| | | <u-form-item class="form-item" labelWidth="100" label="绑定手机" required prop="phone">
|
| | | <u--input border="none" v-model="form.phone" placeholder="请输入">
|
| | | </u--input>
|
| | |
| | | </u-form-item>
|
| | | </view>
|
| | |
|
| | | <box-title class="mt-20" title="房屋外观"></box-title>
|
| | | <view class="pic mt-20">
|
| | | <view class="pic">
|
| | | <newBoxTitle title="房屋外观"></newBoxTitle>
|
| | | <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
|
| | | :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
|
| | | :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
|
| | | @delete="deletePic">
|
| | | </u-upload>
|
| | | </view>
|
| | |
|
| | | <box-title title="房屋标签"></box-title>
|
| | | <view class="mt-20 flex label-btn-box b-c-w">
|
| | | <view class=" flex label-btn-box b-c-w">
|
| | | <newBoxTitle title="房屋标签"></newBoxTitle>
|
| | | <view class="list">
|
| | | <view v-for="(item, index) in labelBtnList" :key="index">
|
| | | <u-button color="#000" size="mini" type="primary" :style="{background: item.color}"
|
| | | <u-button size="mini" type="primary" :style="{background: item.color, color: item.color && '#fff'}"
|
| | | :plain="true" :text="item.name" @click="showLabelPopup(item)"></u-button>
|
| | | </view>
|
| | | </view>
|
| | | </view>
|
| | | </u-form>
|
| | | </view>
|
| | |
|
| | | <view class="edit-btn">
|
| | | <u-button type="primary" text="修改数据" @click="updateHouseInfo(item)"></u-button>
|
| | | <u-button type="primary" color="linear-gradient(163deg, #01BDFC 0%, #017BFC 100%)" text="修改数据" @click="updateHouseInfo(item)"></u-button>
|
| | | </view>
|
| | | </view>
|
| | |
|
| | |
| | |
|
| | | <u-radio-group class="mt-40" v-model="labelValue" placement="row">
|
| | | <u-radio :customStyle="{marginBottom: '8px'}" v-for="(item, index) in labelList" :key="index"
|
| | | :label="item.name" :name="item.name" :activeColor="item.color" @change="radioChange(item)">
|
| | | :label="item.name" :labelColor="item.color" :name="item.name" :activeColor="item.color" @change="radioChange(item)">
|
| | | </u-radio>
|
| | | </u-radio-group>
|
| | |
|
| | |
| | |
|
| | | <script>
|
| | | import uploadMixin from "@/mixin/uploadMixin";
|
| | | import newBoxTitle from '@/components/boxTitle/index2.vue'
|
| | | import {
|
| | | uploadFile
|
| | | } from "@/api/doorplateAddress/doorplateAddress";
|
| | |
| | | } from "echarts";
|
| | | export default {
|
| | | mixins: [uploadMixin],
|
| | | components: {
|
| | | newBoxTitle
|
| | | },
|
| | | data() {
|
| | | return {
|
| | | houseCode: '',
|
| | |
| | | {
|
| | | name: '绿',
|
| | | disabled: false,
|
| | | color: '#07C160'
|
| | | color: '#30D17C'
|
| | | },
|
| | | {
|
| | | name: '黄',
|
| | | disabled: false,
|
| | | color: '#FF976A'
|
| | | color: '#FFB42B'
|
| | | }, {
|
| | | name: '红',
|
| | | disabled: false,
|
| | | color: '#EE0A24'
|
| | | color: '#EA1F1F'
|
| | | }
|
| | | ],
|
| | | currentLabelInfo: {},
|
| | |
| | | display: flex;
|
| | | flex-direction: column;
|
| | | background: #F9F9FA;
|
| | | font-size: 30rpx;
|
| | |
|
| | | .main {
|
| | | position: relative;
|
| | |
| | | height: 0;
|
| | | flex: 1;
|
| | | overflow-y: auto;
|
| | | padding: 20rpx 30rpx;
|
| | |
|
| | | .basic-info {
|
| | | background-color: #fff;
|
| | | padding: 30rpx;
|
| | |
|
| | | .form-item {
|
| | | background-color: #ffffff;
|
| | | padding: 5rpx 20rpx;
|
| | | border-bottom: 1px solid #eff1f3;
|
| | |
|
| | | &:first-child {
|
| | | padding-top: 0;
|
| | | }
|
| | |
|
| | | &:last-child {
|
| | | padding-bottom: 0;
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | .pic {
|
| | | background-color: #ffffff;
|
| | | padding: 40rpx 30rpx;
|
| | | padding: 30rpx;
|
| | | margin-top: 20rpx;
|
| | | }
|
| | |
|
| | | .label-btn-box {
|
| | | padding: 10rpx 0;
|
| | |
|
| | | padding: 30rpx;
|
| | | margin-top: 20rpx;
|
| | | display: flex; |
| | | flex-direction: column;
|
| | | .list { |
| | | display: flex; |
| | | flex-wrap: wrap;
|
| | | &>view {
|
| | | margin: 0 10rpx;
|
| | |
|
| | | width: calc((100% - 80rpx) / 5);
|
| | | margin: 0 20rpx 20rpx 0; |
| | | &:nth-child(5n) { |
| | | margin-right: 0; |
| | | }
|
| | | .u-button {
|
| | | padding: 6rpx 8rpx;
|
| | | border-width: 0 !important; |
| | | background-color: #F5F5F5; |
| | | color: #999999;
|
| | | }
|
| | | }
|
| | | }
|
| | |
|
| | | }
|
| | |
|
| | | }
|
| | |
| | | justify-content: space-around;
|
| | | align-items: center;
|
| | | background: #fff;
|
| | | border-top: 1rpx solid #ccc;
|
| | | box-shadow: 0 2px 12px 0 rgba(0,0,0,.1);
|
| | | }
|
| | | }
|
| | | }
|