123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253 |
- <template>
- <view class="check">
- <view class="cbox">
- <view class="chtop flexc">
- <view class="line"></view>
- <view>房屋信息</view>
- </view>
- <view class="chmain">
- <uni-forms ref="form" :model="datainfo" :rules="rules">
- <uni-forms-item label="房屋坐落" required name="location">
- <view class="flexc">
- <uni-easyinput :disabled="isdisabled" v-model="datainfo.location" :inputBorder='false' placeholder="请输入房屋坐落" />
- <view class="rimg"></view>
- </view>
- </uni-forms-item>
-
- <uni-forms-item label="房屋类型" required name="houseType">
- <picker range-key='dictLabel' :disabled="isdisabled" :value="fwlxidx" :range="fwlxList" @change='bindDateChangee'>
- <view class="flexc mh35">
- <view class="flex1 txr f13 co27" v-if="datainfo.houseType&&!fwlx">{{statusFormats(datainfo.houseType,fwlxList,'fwlx')}}</view>
- <view class="flex1 txr f13" v-else :class="fwlx?'co27':'coa'">{{fwlx||"请选择房屋类型"}}</view>
- <view class="rimg"><image :src="rimg"></image></view>
- </view>
- </picker>
- </uni-forms-item>
-
- <uni-forms-item label="权利人姓名" name="ownerName">
- <view class="flexc">
- <uni-easyinput :disabled="isdisabled" v-model="datainfo.ownerName" :inputBorder='false' placeholder="请输入权利人姓名" />
- <view class="rimg"></view>
- </view>
- </uni-forms-item>
- <uni-forms-item label="建筑面积" required name="area">
- <view class="flexc">
- <uni-easyinput :disabled="isdisabled" type="number" v-model="datainfo.area" :inputBorder='false' placeholder="请输入建筑面积" />
- <view class="tips">m²</view>
- <view class="rimg"></view>
- </view>
- </uni-forms-item>
- <uni-forms-item label="小区名称" name="communityName">
- <view class="flexc">
- <uni-easyinput :disabled="isdisabled" v-model="datainfo.communityName" :inputBorder='false' placeholder="请输入小区名称" />
- <view class="rimg"></view>
- </view>
- </uni-forms-item>
-
- <uni-forms-item label="楼栋" required name="loudong">
- <view class="flexcc">
- <view class="flexc ml10">
- <uni-easyinput :disabled="isdisabled" v-model="datainfo.loudong" :inputBorder='false' placeholder="请输入" />
- <view class="tips">栋</view>
- </view>
- <view class="flexc ml10">
- <uni-easyinput :disabled="isdisabled" v-model="datainfo.danyuan" :inputBorder='false' placeholder="请输入" />
- <view class="tips">单元</view>
- </view>
- <view class="rimg"></view>
- </view>
- </uni-forms-item>
- <uni-forms-item label="门牌号" required name="xxaddress">
- <view class="flexc">
- <uni-easyinput :disabled="isdisabled" v-model="datainfo.xxaddress" :inputBorder='false' placeholder="请输入门牌号" />
- <view class="rimg"></view>
- </view>
- </uni-forms-item>
- <uni-forms-item label="有无车位" name="hasParkingSpace">
- <picker range-key='dictLabel' :disabled="isdisabled" :value="ywcwidx" :range="ywcwList" @change='bindDateChanged'>
- <view class="flexc">
- <view class="flex1 txr f13 co27" v-if="datainfo.hasParkingSpace&&!ywcw">{{statusFormats(datainfo.hasParkingSpace,ywcwList,'ywcw')}}</view>
- <view class="flex1 txr f13" v-else :class="ywcw?'co27':'coa'">{{ywcw||"请选择有/无"}}</view>
- <view class="rimg"><image :src="rimg"></image></view>
- </view>
- </picker>
- </uni-forms-item>
- <uni-forms-item label="车位号" name="phonenumber">
- <view class="flexc">
- <uni-easyinput :disabled="isdisabled" v-model="datainfo.phonenumber" :inputBorder='false' placeholder="请输入车位号" />
- <view class="rimg"></view>
- </view>
- </uni-forms-item>
- </uni-forms>
- <view class="rhbtn mt30" @click="getSubmit">确定添加</view>
- </view>
- </view>
- <loading></loading>
- </view>
- </template>
- <script>
- import config from '@/config'
- import { checkPermi, checkRole } from "@/utils/permission"; // 权限判断函数
- import {uploadIdentify,selectValueKey,geocodeAddress} from '@/utils/common.js'
- import {getDictionaryFn} from "@/api/system/user.js"
- import {houseInfoAdd,houseInfoPut,houseInfoDet} from "@/api/work/work.js"
- export default{
- components:{},
- data(){
- return{
- rimg: require('@/people/static/people/rimg.png'),
- cmico:require('@/people/static/people/cmico.png'),
- baseUrl:config.baseUrl,
- datainfo:{
- // "houseId":"",//房屋信息主键
- "ownerName":null,//权利人姓名
- "location":null,//房屋坐落位置
- "rightType":null,//权利类型,如所有权、使用权等
- "area":null,//房屋面积,单位为平方米
- "loudong":null,//楼栋
- "danyuan":null,//单元
- "xxaddress":null,//详细
- "houseType":null,//房屋类型 1:普通住宅,2:洋房
- // "documentNumber":"",//房屋相关的字第号
- // "propertyUnitNumber":"",//不动产单元号
- // "coOwnership":"",//房屋的共有情况,如共有比例等
- // "usageType":"",//房屋用途,如住宅、商业等
- // "usagePeriod":"",//房屋使用期限
- // "registrationDate":"",//房屋登记日期
- // "coOwner":"",//共有人姓名,多个共有人可以用逗号分隔
- "detailedAddress":null,//房屋的门牌号
- "hasParkingSpace":null,//是否有车位,Y表示有,N表示无
- "communityName":this.$store.state.user.companyName,//房屋所在小区名称
- // "houseStatus":""//房屋状态:1-自住,2-出租,3-空闲,4-待售
- },
- rules: {
- location: {rules: [{required: true,errorMessage: '请输入房屋坐落位置' }]},
- houseType: {rules: [{required: true,errorMessage: '请选择房屋类型' }]},
- // detailedAddress: {rules: [{required: true,errorMessage: '请输入门牌号' }]},
- area: {rules: [{required: true,errorMessage: '请输入面积' }]},
- },
- id:'',
- ptype:'add',
- fwzt:'',
- qllx:'',
- fwyt:'',
- ywcw:'',
- fwlx:'',
- fwztidx:'',
- qllxidx:'',
- fwytidx:'',
- ywcwidx:'',
- fwlxidx:'',
- fwztList:[],
- qllxList:[],
- fwytList:[],
- fwlxList:[],
- ywcwList:[{dictLabel:'有',dictValue:'Y'},{dictLabel:'无',dictValue:'N'},],
- isdisabled:false,
- latitude:'',
- longitude:"",
- }
- },
- onLoad: function(e) {
- this.init()
- },
- methods:{
- checkPermi, checkRole,
- statusFormats(data, list,type) {
- var aite=selectValueKey(list, data);
- if(type=='ywcw'){
- this.ywcwidx=aite.key
- }else if(type=='fwlx'){
- this.fwlxidx=aite.key;
- }
- return aite.actions;
- },
- init(){
- // 房屋类型
- getDictionaryFn('house_type').then(res=>{
- if(res.code==200){
- this.fwlxList = res.data.map(v => {
- return {
- dictLabel: v.dictLabel,
- dictValue: v.dictValue
- }
- })
- }
- })
- },
- bindDateChangee(e){
- var val=e.detail.value;
- this.datainfo.houseType=this.fwlxList[val].dictValue;
- this.fwlx=this.fwlxList[val].dictLabel;
- },
- bindDateChanged(e){
- var val=e.detail.value;
- this.datainfo.hasParkingSpace=this.ywcwList[val].dictValue;
- this.ywcw=this.ywcwList[val].dictLabel;
- },
- getSubmit(){
- this.$refs.form.validate().then(res => {
- var params=JSON.parse(JSON.stringify(this.datainfo))
- if(!params.loudong||!params.danyuan){
- this.$toast("请输入楼栋")
- return
- }
- if(!params.xxaddress){
- this.$toast("请输入门牌号")
- return
- }
- params.detailedAddress=`${params.loudong?params.loudong+'栋':''}` + `${params.danyuan?params.danyuan+'单元':''}` + params.xxaddress;
-
- houseInfoAdd(params).then(res=>{
- if(res.code==200){
- this.$toast("新增成功")
- setTimeout(function(){
- uni.$emit("refHouseList")
- uni.navigateBack({
- delta:1
- })
- },1500)
- }
- })
- })
- },
- }
- }
- </script>
- <style>
- page{background: #F3F3F0;}
- </style>
- <style lang="scss" scoped>
- .coa /deep/ .uni-date__x-input{text-align: right;color: #AAAAAA;}
- .check /deep/ .uni-date-editor--x__disabled{opacity: 1;}
- .check /deep/ .uni-forms-item{min-height: 106rpx;box-sizing: border-box;display: flex;align-items: center;margin-bottom: 0;border-bottom: 2rpx solid #E6E6E6;padding:10rpx 0;}
- .check /deep/ .uni-forms-item__label{font-weight: bold;font-size: 26rpx;color: #222327;flex: 0 0 auto;width: auto !important;}
- .check /deep/ .uni-easyinput{flex: 1;text-align: right;font-size: 26rpx;color: #222327;}
- .check /deep/ .uni-easyinput__content-textarea{min-height: 40rpx;font-size: 26rpx;}
- .check /deep/ .uni-easyinput__placeholder-class{font-size: 26rpx;color: #AAAAAA;}
- .check /deep/ .uni-input-input{font-size: 26rpx;}
- .check /deep/ .uni-textarea-textarea{font-size: 26rpx;}
- .check /deep/ .uni-forms-item__label text{width: 110rpx;text-align-last: justify;}
- .check /deep/ .uni-forms-item__label .is-required{width: auto;}
- .check /deep/ .is-disabled{color: #222327;background-color: #ffffff !important;}
- .check{min-height: 100vh;padding: 20rpx 18rpx 22rpx;box-sizing: border-box;display: flex;box-sizing: border-box;}
- .cbox{background: #FFFFFF;border-radius: 20rpx;flex: 1;padding-bottom: 28rpx;
- .chtop{padding-top: 32rpx;margin-bottom: 22rpx;
- .line{width: 14rpx;height: 48rpx;background: #0256FD;border-radius:0 12rpx 12rpx 0;margin-right: 18rpx;}
- view{font-weight: bold;font-size: 32rpx;color: #272727;}
- }
- .chmain{
- padding: 0 32rpx;
- .upbox{height: 224rpx;background: #EFF4FF;border-radius: 20rpx;display: flex;align-items: center;justify-content: center;flex-direction: column;margin-bottom: 8rpx;overflow: auto;
- .img{width: 100%;height: 100%;}
- .addimg{width: 90rpx;height: 90rpx;margin-bottom: 8rpx;}
- view{font-weight: bold;font-size: 26rpx;color: #4C6686;}
- }
- }
- .rimg{width: 16rpx;height: 28rpx;flex: 0 0 auto;margin-left: 20rpx;
- image{width: 100%;height: 100%;}
- }
- }
- .tips{font-weight: bold;color: #272727;font-size: 26rpx;margin-left: 8rpx;}
- </style>
|