Compare commits
46 Commits
Author | SHA1 | Date |
---|---|---|
|
1522f8bc4f | 2 years ago |
|
35768995f8 | 2 years ago |
|
48c9f10539 | 3 years ago |
|
3baeb9b88f | 3 years ago |
|
d11f1e271f | 3 years ago |
|
21d06ab1b0 | 3 years ago |
|
794cbfd54f | 3 years ago |
|
86c2b95be3 | 3 years ago |
|
331c3e6ad7 | 3 years ago |
|
5e38b2df49 | 3 years ago |
|
df5fcade41 | 3 years ago |
|
9eb27ba9e9 | 3 years ago |
|
0fd08e5baf | 3 years ago |
|
1bebe0339a | 3 years ago |
|
c92be5cc7c | 3 years ago |
|
bfad7dcef6 | 3 years ago |
|
78873f536e | 3 years ago |
|
022a3adb0b | 4 years ago |
|
f319aa35a5 | 4 years ago |
|
868d845a0d | 4 years ago |
|
dc69d60e0a | 4 years ago |
|
a44a46803b | 4 years ago |
|
61f6c6746f | 4 years ago |
|
a842e2ef0c | 4 years ago |
|
4f5799293f | 4 years ago |
|
159528e185 | 4 years ago |
|
837b88adfc | 4 years ago |
|
aea377a6ff | 4 years ago |
|
a9c356c867 | 4 years ago |
|
abdb768591 | 4 years ago |
|
aa9d849bb7 | 4 years ago |
|
56fa745835 | 4 years ago |
|
4966d19d86 | 4 years ago |
|
454d7a145b | 4 years ago |
|
c3a10f4827 | 4 years ago |
|
3c352c275a | 5 years ago |
|
58568855c8 | 5 years ago |
|
37ae1377fc | 5 years ago |
|
5530b4f356 | 5 years ago |
|
0571a0057d | 5 years ago |
|
6a28ad0e78 | 5 years ago |
|
42a6abfc84 | 5 years ago |
|
dcca67d670 | 5 years ago |
|
007c22292b | 5 years ago |
|
d8e06434c5 | 5 years ago |
|
759c7c16c0 | 5 years ago |
@ -0,0 +1,20 @@ |
|||||
|
var fly = require('../utils/request.js') |
||||
|
|
||||
|
module.exports = { |
||||
|
getHousesalerentinfo, |
||||
|
housesalerentinfoAudit, |
||||
|
} |
||||
|
|
||||
|
|
||||
|
// 获取审核列表
|
||||
|
function getHousesalerentinfo(params) { |
||||
|
return fly.get('work/custom/housesalerentinfo/list2audit', { |
||||
|
pageNum:params.pageNum, |
||||
|
pageSize:params.pageSize, |
||||
|
auditStatus:params.auditStatus, |
||||
|
}) |
||||
|
} |
||||
|
// 提交房屋处理
|
||||
|
function housesalerentinfoAudit(params) { |
||||
|
return fly.post('work/custom/housesalerentinfo/audit', params) |
||||
|
} |
@ -0,0 +1,41 @@ |
|||||
|
var fly = require('../utils/request.js') |
||||
|
/** |
||||
|
* @param userId 用户ID |
||||
|
* @param operationType 积分操作类型 0-减积分,1-加积分 |
||||
|
* @param points 操作积分值 |
||||
|
*/ |
||||
|
// 积分核销接口
|
||||
|
export function pointSverification(params) { |
||||
|
return fly.post('work/pointsverification/pointsverification', params) |
||||
|
} |
||||
|
/** |
||||
|
* @param typeKey 网格:grid_party |
||||
|
*/ |
||||
|
// 根据机构类型获取机构信息
|
||||
|
export function getDeptInfo(typeKey) { |
||||
|
return fly.get(`work/pointsverification/getdeptinfo/${typeKey}`) |
||||
|
} |
||||
|
/** |
||||
|
* 工作端积分核销记录接口 |
||||
|
* @param pageIndex Number 页码 |
||||
|
* @param pageSize Number 页容量 |
||||
|
* @param startTime 开始时间 |
||||
|
* @param endTime 结束时间 |
||||
|
* @param deptId 部门ID |
||||
|
*/ |
||||
|
|
||||
|
export function getVerificationLogs({ |
||||
|
pageIndex, |
||||
|
pageSize, |
||||
|
startTime, |
||||
|
endTime, |
||||
|
deptId, |
||||
|
}) { |
||||
|
return fly.get("work/pointsverification/verificationlogs", { |
||||
|
pageIndex, |
||||
|
pageSize, |
||||
|
startTime, |
||||
|
endTime, |
||||
|
deptId, |
||||
|
}) |
||||
|
} |
@ -0,0 +1,47 @@ |
|||||
|
Component({ |
||||
|
data: { |
||||
|
}, |
||||
|
properties: { |
||||
|
areaTop: { |
||||
|
type: Number, |
||||
|
value: 0 |
||||
|
}, |
||||
|
areaLeft: { |
||||
|
type: Number, |
||||
|
value: 0 |
||||
|
}, |
||||
|
areaWidth: { |
||||
|
type: String, |
||||
|
value: '100%' |
||||
|
}, |
||||
|
areaHeight: { |
||||
|
type: String, |
||||
|
value: '100%' |
||||
|
}, |
||||
|
buttonWidth: { |
||||
|
type: Number, |
||||
|
value: 178 |
||||
|
}, |
||||
|
buttonHeight: { |
||||
|
type: Number, |
||||
|
value: 178 |
||||
|
}, |
||||
|
buttonTop: { |
||||
|
type: Number, |
||||
|
value: 1000 |
||||
|
}, |
||||
|
buttonLeft: { |
||||
|
type: Number, |
||||
|
value: 580 |
||||
|
}, |
||||
|
imgUrl: { |
||||
|
type: String, |
||||
|
value: '' |
||||
|
} |
||||
|
}, |
||||
|
methods: { |
||||
|
onClickButton () { |
||||
|
this.triggerEvent('movebtnCallBack') |
||||
|
} |
||||
|
} |
||||
|
}) |
@ -0,0 +1,3 @@ |
|||||
|
{ |
||||
|
"component": true |
||||
|
} |
@ -0,0 +1,8 @@ |
|||||
|
<movable-area class="movable-area" style="top:{{areaTop}}rpx;left:{{areaLeft}}rpx;width:{{areaWidth}};height:{{areaHeight}};"> |
||||
|
<movable-view class="movable-view" direction="all" inertia="true" friction="10" |
||||
|
style="width:{{buttonWidth}}rpx;height:{{buttonHeight}}rpx;top:{{buttonTop}}rpx;left:{{buttonLeft}}rpx;"> |
||||
|
<view class="img-box" bindtap="onClickButton"> |
||||
|
<image src="{{imgUrl}}" /> |
||||
|
</view> |
||||
|
</movable-view> |
||||
|
</movable-area> |
@ -0,0 +1,34 @@ |
|||||
|
|
||||
|
/* 悬浮按钮 -start- */ |
||||
|
.movable-area{ |
||||
|
pointer-events:none; |
||||
|
z-index: 999; |
||||
|
width: 100%; |
||||
|
height: 90%; |
||||
|
position: fixed; |
||||
|
top: 60px; |
||||
|
left: 0; |
||||
|
right: 0; |
||||
|
bottom: 0; |
||||
|
} |
||||
|
.movable-view{ |
||||
|
pointer-events:auto; |
||||
|
width: 178rpx; |
||||
|
height: 178rpx; |
||||
|
transform: translateX(0rpx) translateY(0rpx) translateZ(0rpx) scale(1); |
||||
|
transform-origin: center center; |
||||
|
will-change: auto; |
||||
|
position: absolute; |
||||
|
top: 0rpx; |
||||
|
left: 0rpx; |
||||
|
} |
||||
|
.img-box { |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
||||
|
.img-box image { |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
object-fit: cover; |
||||
|
} |
||||
|
/* 悬浮按钮 -end- */ |
Before Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 2.4 KiB |
After Width: | Height: | Size: 705 B |
Before Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 222 B |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 376 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 443 B |
Before Width: | Height: | Size: 2.5 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 178 KiB |
Before Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 58 KiB |
After Width: | Height: | Size: 16 KiB |
After Width: | Height: | Size: 3.5 KiB |
Before Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.4 KiB |
@ -0,0 +1,7 @@ |
|||||
|
{ |
||||
|
"projectname": "榆山工作端", |
||||
|
"setting": { |
||||
|
"compileHotReLoad": true |
||||
|
}, |
||||
|
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html" |
||||
|
} |
Before Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 286 B |
After Width: | Height: | Size: 267 B |
After Width: | Height: | Size: 1.6 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 5.0 KiB |
After Width: | Height: | Size: 47 KiB |
@ -0,0 +1,293 @@ |
|||||
|
// @ts-nocheck
|
||||
|
import { |
||||
|
getHouseInfo, |
||||
|
updateHouseInfo |
||||
|
} from '../../utils/api.js'; |
||||
|
import validate from "../../utils/validate/index.js"; |
||||
|
Page({ |
||||
|
/** |
||||
|
* 页面的初始数据 |
||||
|
*/ |
||||
|
data: { |
||||
|
submitBtnIsAllowed: false, |
||||
|
fmData: { |
||||
|
houseId:'', |
||||
|
ownerName:'', // 房主姓名
|
||||
|
idCard: '', // 身份证
|
||||
|
mobile:'', // 房主电话
|
||||
|
}, |
||||
|
buildingunitlist: [], // 单元
|
||||
|
houseTypeIndex: 0, |
||||
|
houseType: [ // 房屋类型
|
||||
|
{ |
||||
|
value: "1", |
||||
|
label: "楼房", |
||||
|
}, |
||||
|
{ |
||||
|
value: "2", |
||||
|
label: "平房", |
||||
|
}, |
||||
|
{ |
||||
|
value: "3", |
||||
|
label: "别墅", |
||||
|
} |
||||
|
], |
||||
|
purposeIndex: 0, |
||||
|
purposeArr: [ // 房屋用途
|
||||
|
{ value: '1', label: '住宅' }, |
||||
|
{ value: '2', label: '商业' }, |
||||
|
{ value: '3', label: '办公' }, |
||||
|
{ value: '4', label: '工业' }, |
||||
|
{ value: '5', label: '仓储' }, |
||||
|
{ value: '6', label: '商住混用' }, |
||||
|
{ value: '7', label: '其他' } |
||||
|
], |
||||
|
rentFlagArrIndex: 0, |
||||
|
rentFlagArr: [ // 居住情况
|
||||
|
{ value: '1', label: '出租' }, |
||||
|
{ value: '2', label: '闲置' }, |
||||
|
{ value: '0', label: '自住' } |
||||
|
] |
||||
|
}, |
||||
|
/** |
||||
|
* 生命周期函数--监听页面加载 |
||||
|
*/ |
||||
|
async onLoad(options) { |
||||
|
wx.showLoading({ |
||||
|
title: "加载中", |
||||
|
mask: true, |
||||
|
}); |
||||
|
this.setData({ |
||||
|
fmData: options |
||||
|
}); |
||||
|
await this.getBuildingunitlist(); |
||||
|
wx.hideLoading() |
||||
|
}, |
||||
|
|
||||
|
// 单元
|
||||
|
async getBuildingunitlist() { |
||||
|
const { fmData } = this.data; |
||||
|
if (!fmData.roomCode) return |
||||
|
const res = await getHouseInfo({roomCode: fmData.roomCode}); |
||||
|
|
||||
|
if (res.msg === 'success' && res.code === 0) { |
||||
|
this.setData({ |
||||
|
fmData: res.data |
||||
|
}) |
||||
|
this.data.houseType.forEach((item, index) => { |
||||
|
if (item.value == res.data.roomType) { |
||||
|
this.setData({ |
||||
|
houseTypeIndex: index |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
this.data.purposeArr.forEach((item, index) => { |
||||
|
if (item.value == res.data.roomUse) { |
||||
|
this.setData({ |
||||
|
purposeArrIndex: index |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
this.data.rentFlagArr.forEach((item, index) => { |
||||
|
if (item.value == res.data.livingStatus) { |
||||
|
this.setData({ |
||||
|
rentFlagArrIndex: index |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
console.log(this.data.fmData); |
||||
|
} |
||||
|
}, |
||||
|
ownerNameSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.ownerName' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
ownerIdCardSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.ownerIdCard' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
ownerPhoneSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.ownerPhone' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
remarkSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.remark' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
// 房屋类型
|
||||
|
houseTypePicker(e){ |
||||
|
console.log('111111111', e) |
||||
|
this.setData({ |
||||
|
houseTypeIndex: e.detail.value, |
||||
|
'fmData.roomType' : this.data.houseType[e.detail.value].value |
||||
|
}) |
||||
|
}, |
||||
|
// 房屋途径
|
||||
|
housePurposePicker(e){ |
||||
|
this.setData({ |
||||
|
purposeArrIndex: e.detail.value, |
||||
|
'fmData.roomUse' : this.data.purposeArr[e.detail.value].value |
||||
|
}) |
||||
|
}, |
||||
|
// 房屋状态
|
||||
|
houseStatePicker(e){ |
||||
|
this.setData({ |
||||
|
rentFlagArrIndex: e.detail.value, |
||||
|
'fmData.livingStatus' : this.data.rentFlagArr[e.detail.value].value |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
// 身份证失去焦点
|
||||
|
handleValidBlur(e) { |
||||
|
let { fmData } = this.data; |
||||
|
const right = this.identityCodeValid(e.detail.value) |
||||
|
if (right) { |
||||
|
console.log('输入正确就没什么::::'); |
||||
|
} else { |
||||
|
fmData.gender = '' |
||||
|
this.setData({ fmData }) |
||||
|
wx.showToast({ |
||||
|
title: '身份证号不正确,请重新输入', |
||||
|
icon: "none", |
||||
|
duration: 1500, |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
// 校验身份证是否正确
|
||||
|
identityCodeValid (idcode) { |
||||
|
// 加权因子
|
||||
|
var weightFactor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] |
||||
|
// 校验码
|
||||
|
var checkCode = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'] |
||||
|
|
||||
|
var code = idcode + '' |
||||
|
var last = idcode[17]// 最后一位
|
||||
|
|
||||
|
var seventeen = code.substring(0, 17) |
||||
|
|
||||
|
// ISO 7064:1983.MOD 11-2
|
||||
|
// 判断最后一位校验码是否正确
|
||||
|
var arr = seventeen.split('') |
||||
|
var len = arr.length |
||||
|
var num = 0 |
||||
|
for (var i = 0; i < len; i++) { |
||||
|
num = num + arr[i] * weightFactor[i] |
||||
|
} |
||||
|
|
||||
|
// 获取余数
|
||||
|
var resisue = num % 11 |
||||
|
var lastNo = checkCode[resisue] |
||||
|
|
||||
|
// 格式的正则
|
||||
|
// 正则思路
|
||||
|
/* |
||||
|
第一位不可能是0 |
||||
|
第二位到第六位可以是0-9 |
||||
|
第七位到第十位是年份,所以七八位为19或者20 |
||||
|
十一位和十二位是月份,这两位是01-12之间的数值 |
||||
|
十三位和十四位是日期,是从01-31之间的数值 |
||||
|
十五,十六,十七都是数字0-9 |
||||
|
十八位可能是数字0-9,也可能是X |
||||
|
*/ |
||||
|
var idcardPatter = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/ |
||||
|
|
||||
|
// 判断格式是否正确
|
||||
|
var format = idcardPatter.test(idcode) |
||||
|
|
||||
|
// 返回验证结果,校验码和格式同时正确才算是合法的身份证号码
|
||||
|
return !!(last === lastNo && format) |
||||
|
}, |
||||
|
|
||||
|
// 修改提交
|
||||
|
async editSubmit () { |
||||
|
if (!this.computeSubmitBtnIsAllowed(false)) return; |
||||
|
|
||||
|
const { fmData } = this.data; |
||||
|
wx.showLoading({ |
||||
|
title: "提交中", |
||||
|
mask: true, |
||||
|
}); |
||||
|
const res = await updateHouseInfo({...fmData}); |
||||
|
wx.hideLoading(); |
||||
|
|
||||
|
if (res.msg === "success" && res.code === 0) { |
||||
|
wx.showToast({ |
||||
|
title: "修改成功", |
||||
|
duration: 2000, |
||||
|
}); |
||||
|
setTimeout(()=>{ |
||||
|
wx.reLaunch({ |
||||
|
url: `../index/index?roomCode=${!this.data.fmData.roomCode ? this.data.fmData.roomNo : this.data.fmData.roomCode}` |
||||
|
}) |
||||
|
},2000) |
||||
|
} |
||||
|
}, |
||||
|
// 更新data数据后需主动触发
|
||||
|
$afterUpdateData() { |
||||
|
this.computeSubmitBtnIsAllowed(); |
||||
|
}, |
||||
|
// 校验
|
||||
|
computeSubmitBtnIsAllowed(isQuiet = true) { |
||||
|
const { fmData } = this.data, |
||||
|
vlt = validate(fmData, { |
||||
|
buildingUnitId: [ |
||||
|
{ |
||||
|
rule: "required", |
||||
|
message: "请先选择【单元号】", |
||||
|
}, |
||||
|
], |
||||
|
|
||||
|
doorName: [ |
||||
|
{ |
||||
|
rule: "required", |
||||
|
message: "请先输入【门牌号】", |
||||
|
}, |
||||
|
], |
||||
|
|
||||
|
houseType: [ |
||||
|
{ |
||||
|
rule: "required", |
||||
|
message: "请先选择【房屋类型】", |
||||
|
}, |
||||
|
], |
||||
|
|
||||
|
purpose: [ |
||||
|
{ |
||||
|
rule: "required", |
||||
|
message: "请先选择【房屋用途】", |
||||
|
}, |
||||
|
], |
||||
|
|
||||
|
rentFlag: [ |
||||
|
{ |
||||
|
rule: "required", |
||||
|
message: "请先选择【房屋状态】", |
||||
|
}, |
||||
|
] |
||||
|
}); |
||||
|
if (!vlt.valid) { |
||||
|
if (!isQuiet) { |
||||
|
wx.showToast({ |
||||
|
title: vlt.error, |
||||
|
icon: "none", |
||||
|
duration: 1500, |
||||
|
}); |
||||
|
} |
||||
|
this.setData({ |
||||
|
submitBtnIsAllowed: false, |
||||
|
}); |
||||
|
return false; |
||||
|
} else { |
||||
|
this.setData({ |
||||
|
submitBtnIsAllowed: true, |
||||
|
}); |
||||
|
return true; |
||||
|
} |
||||
|
}, |
||||
|
}); |
@ -0,0 +1,4 @@ |
|||||
|
{ |
||||
|
"navigationBarTitleText": "编辑", |
||||
|
"usingComponents": {} |
||||
|
} |
@ -0,0 +1,244 @@ |
|||||
|
<view class="g-bd"> |
||||
|
<view class="m-fm"> |
||||
|
<view class="fm"> |
||||
|
<view class="fm-title">家庭房屋基本信息</view> |
||||
|
<view class="item-list"> |
||||
|
|
||||
|
<!-- 所属组织 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">所属组织</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
{{fmData.communityName ? fmData.communityName : ''}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<!-- 网格 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">网格</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
{{fmData.gridName ? fmData.gridName : ''}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<!-- 小区 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">小区</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
{{fmData.plotName ? fmData.plotName : ''}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 楼栋 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">楼栋</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
{{fmData.buildingName ? fmData.buildingName : ''}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 单元号 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">单元号</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
{{fmData.unit ? fmData.unit : ''}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- <view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">单元号</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<picker class="picker" |
||||
|
range="{{buildingunitlist}}" |
||||
|
range-key="label" |
||||
|
bindchange="inputSyncPicker"> |
||||
|
<view class="picker-text" wx:if="{{fmData.unitName}}">{{fmData.unitName}}</view> |
||||
|
<view class="picker-text z-weak" wx:else>请选择</view> |
||||
|
<image class="menu-arrow" src="/subpages/family/images/arrow.png" mode="aspectFit" /> |
||||
|
</picker> |
||||
|
</view> |
||||
|
</view> --> |
||||
|
<!-- 门牌号 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">门牌号</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
{{fmData.roomNo ? fmData.roomNo : ''}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- <view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">门牌号</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="text" |
||||
|
value="{{ fmData.doorName }}" |
||||
|
placeholder="请输入" |
||||
|
placeholder-class="z-ph" |
||||
|
data-fm="fmData" |
||||
|
data-name="doorName" |
||||
|
bindinput="inputSync" |
||||
|
cursor-spacing="14" |
||||
|
maxlength="100" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> --> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="fm"> |
||||
|
<view class="item-list"> |
||||
|
<!-- 房屋类型 --> |
||||
|
<view class="item" style="border-top: 0rpx"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">房屋类型</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<picker class="picker" |
||||
|
range="{{houseType}}" |
||||
|
range-key="label" |
||||
|
bindchange="houseTypePicker" value="{{houseTypeIndex}}"> |
||||
|
<view class="picker-text" wx:if="{{fmData.roomType}}">{{houseType[houseTypeIndex].label}}</view> |
||||
|
<view class="picker-text z-weak" wx:else>请选择</view> |
||||
|
<image class="menu-arrow" src="/subpages/family/images/arrow.png" mode="aspectFit" /> |
||||
|
</picker> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 房屋用途 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">房屋用途</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<picker class="picker" |
||||
|
range="{{purposeArr}}" |
||||
|
range-key="label" |
||||
|
bindchange="housePurposePicker" value="{{purposeArrIndex}}"> |
||||
|
<view class="picker-text" wx:if="{{fmData.roomUse}}">{{purposeArr[purposeArrIndex].label}}</view> |
||||
|
<view class="picker-text z-weak" wx:else>请选择</view> |
||||
|
<image class="menu-arrow" src="/subpages/family/images/arrow.png" mode="aspectFit" /> |
||||
|
</picker> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 居住情况 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">居住情况</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<picker class="picker" |
||||
|
range="{{rentFlagArr}}" |
||||
|
range-key="label" |
||||
|
bindchange="houseStatePicker" value="{{rentFlagArrIndex}}"> |
||||
|
<view class="picker-text" wx:if="{{fmData.livingStatus}}">{{rentFlagArr[rentFlagArrIndex].label}}</view> |
||||
|
<view class="picker-text z-weak" wx:else>请选择</view> |
||||
|
<image class="menu-arrow" src="/subpages/family/images/arrow.png" mode="aspectFit" /> |
||||
|
</picker> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 姓名 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">房主姓名</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="text" |
||||
|
value="{{ fmData.ownerName }}" |
||||
|
placeholder="请输入" |
||||
|
placeholder-class="z-ph" |
||||
|
bindinput="ownerNameSync" |
||||
|
cursor-spacing="14" |
||||
|
maxlength="100" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 身份证号 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">身份证号</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="text" |
||||
|
value="{{ fmData.idCard }}" |
||||
|
placeholder="请输入" |
||||
|
placeholder-class="z-ph" |
||||
|
bindinput="ownerIdCardSync" |
||||
|
cursor-spacing="14" |
||||
|
maxlength="100" |
||||
|
bindblur="handleValidBlur" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 联系电话 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">联系电话</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="number" |
||||
|
value="{{ fmData.mobile ? fmData.mobile : '' }}" |
||||
|
placeholder="请输入" |
||||
|
placeholder-class="z-ph" |
||||
|
bindinput="ownerPhoneSync" |
||||
|
cursor-spacing="14" |
||||
|
maxlength="100" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 备注 --> |
||||
|
<!-- <view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">备注</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="text" |
||||
|
value="{{ fmData.remark && fmData.remark != 'null' ? fmData.remark : '' }}" |
||||
|
placeholder="请输入" |
||||
|
placeholder-class="z-ph" |
||||
|
bindinput="remarkSync" |
||||
|
cursor-spacing="14" |
||||
|
maxlength="100" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> --> |
||||
|
</view> |
||||
|
</view> |
||||
|
|
||||
|
<view class="operate"> |
||||
|
<view class="btn" style="opacity:1;" bind:tap="editSubmit">确认修改</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
@ -0,0 +1 @@ |
|||||
|
@import '../../wxss/familyInfo.wxss'; |
@ -0,0 +1,405 @@ |
|||||
|
import { |
||||
|
addFamilyMember, |
||||
|
updateFamilyMember, |
||||
|
getFamilyMember, |
||||
|
householderRelation |
||||
|
} from '../../utils/api.js' |
||||
|
import validate from "../../utils/validate/index.js"; |
||||
|
|
||||
|
Page({ |
||||
|
|
||||
|
/** |
||||
|
* 页面的初始数据 |
||||
|
*/ |
||||
|
data: { |
||||
|
submitBtnIsAllowed: false, |
||||
|
isShowDialog: false, |
||||
|
pageType: null, // add 新增 edit 编辑 look 查看
|
||||
|
fmData: { |
||||
|
userName: '', |
||||
|
idCard: '', |
||||
|
gender: '', |
||||
|
birthday: '', |
||||
|
mobile: '', |
||||
|
nationValue: '', |
||||
|
nation: '', |
||||
|
householdRegisterName: "", |
||||
|
relation: "", |
||||
|
outLiveAddressName: "", |
||||
|
outLiveAddressDetail: "", |
||||
|
}, |
||||
|
nationList: [], |
||||
|
houseRelationList: [] |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 生命周期函数--监听页面加载 |
||||
|
*/ |
||||
|
async onLoad (options) { |
||||
|
wx.showLoading({ |
||||
|
title: "加载中", |
||||
|
mask: true, |
||||
|
}); |
||||
|
let idCard = options.idCard |
||||
|
this.setData({ |
||||
|
pageType:options.pageType |
||||
|
}) |
||||
|
if(options.pageType !== 'add'){ |
||||
|
await this.getMemberInfo(idCard) |
||||
|
}else{ |
||||
|
this.setData({ |
||||
|
'fmData.unitId':options.id |
||||
|
}) |
||||
|
} |
||||
|
await this.householderRelationFun() |
||||
|
wx.hideLoading() |
||||
|
}, |
||||
|
// 获取成员详情信息
|
||||
|
async getMemberInfo(idCard){ |
||||
|
const res = await getFamilyMember({idCard:idCard}) |
||||
|
if(res.msg === 'success' && res.code === 0){ |
||||
|
if (res.data) { |
||||
|
this.setData({ |
||||
|
'fmData':res.data, |
||||
|
}) |
||||
|
if (idCard) { |
||||
|
this.handleValidBlur('',idCard) |
||||
|
} |
||||
|
} else { |
||||
|
wx.showToast({ |
||||
|
title: '个人信息为空', |
||||
|
icon: 'none', |
||||
|
duration: 2500 |
||||
|
}) |
||||
|
} |
||||
|
} |
||||
|
}, |
||||
|
// 获取与户主关系
|
||||
|
async householderRelationFun(){ |
||||
|
const res = await householderRelation() |
||||
|
if(res.msg === 'success' && res.code === 0){ |
||||
|
this.setData({ |
||||
|
'houseRelationList':res.data, |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
nameSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.userName' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
idCardSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.idCard' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
mobileSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.mobile' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
nationSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.nation' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
nationSyncPicker(e){ |
||||
|
this.setData({ |
||||
|
'fmData.nationValue' : this.data.nationList[e.detail.value].dictValue, |
||||
|
'fmData.nation' : this.data.nationList[e.detail.value].dictName |
||||
|
}) |
||||
|
}, |
||||
|
houseSyncPicker(e){ |
||||
|
this.setData({ |
||||
|
'fmData.houseRelation' : this.data.houseRelationList[e.detail.value].dictValue, |
||||
|
'fmData.relation' : this.data.houseRelationList[e.detail.value].dictName |
||||
|
}) |
||||
|
}, |
||||
|
householdRegisterSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.householdRegisterName' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
outLiveAddressSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.outLiveAddressName' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
addressSync(e){ |
||||
|
this.setData({ |
||||
|
'fmData.outLiveAddressDetail' : e.detail.value |
||||
|
}) |
||||
|
}, |
||||
|
handleValidBlur (e,val) { |
||||
|
var fmData = this.data.fmData; |
||||
|
var right = this.identityCodeValid(val ? val : e.detail.value); |
||||
|
if (right) { |
||||
|
fmData.birthday = this.getBirthday(this.data.fmData.idCard); |
||||
|
fmData.gender = this.getGender(this.data.fmData.idCard); |
||||
|
this.setData({ fmData }); |
||||
|
}else { |
||||
|
fmData.idCard = ''; |
||||
|
this.setData({ fmData }); |
||||
|
wx.showToast({ |
||||
|
title: '身份证号不正确,请重新输入', |
||||
|
icon: "none", |
||||
|
duration: 1500, |
||||
|
}); |
||||
|
} |
||||
|
}, |
||||
|
// 校验身份证是否正确
|
||||
|
identityCodeValid (idcode) { |
||||
|
var weightFactor = [7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2] |
||||
|
// 校验码
|
||||
|
var checkCode = ['1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'] |
||||
|
|
||||
|
var code = idcode + '' |
||||
|
var last = idcode[17]// 最后一位
|
||||
|
|
||||
|
var seventeen = code.substring(0, 17) |
||||
|
|
||||
|
// ISO 7064:1983.MOD 11-2
|
||||
|
// 判断最后一位校验码是否正确
|
||||
|
var arr = seventeen.split('') |
||||
|
var len = arr.length |
||||
|
var num = 0 |
||||
|
for (var i = 0; i < len; i++) { |
||||
|
num = num + arr[i] * weightFactor[i] |
||||
|
} |
||||
|
|
||||
|
// 获取余数
|
||||
|
var resisue = num % 11 |
||||
|
var lastNo = checkCode[resisue] |
||||
|
|
||||
|
// 格式的正则
|
||||
|
// 正则思路
|
||||
|
/* |
||||
|
第一位不可能是0 |
||||
|
第二位到第六位可以是0-9 |
||||
|
第七位到第十位是年份,所以七八位为19或者20 |
||||
|
十一位和十二位是月份,这两位是01-12之间的数值 |
||||
|
十三位和十四位是日期,是从01-31之间的数值 |
||||
|
十五,十六,十七都是数字0-9 |
||||
|
十八位可能是数字0-9,也可能是X |
||||
|
*/ |
||||
|
var idcardPatter = /^[1-9][0-9]{5}([1][9][0-9]{2}|[2][0][0|1][0-9])([0][1-9]|[1][0|1|2])([0][1-9]|[1|2][0-9]|[3][0|1])[0-9]{3}([0-9]|[X])$/ |
||||
|
|
||||
|
// 判断格式是否正确
|
||||
|
var format = idcardPatter.test(idcode) |
||||
|
|
||||
|
// 返回验证结果,校验码和格式同时正确才算是合法的身份证号码
|
||||
|
return !!(last === lastNo && format) |
||||
|
}, |
||||
|
getBirthday: function (psidno) { |
||||
|
var birthdayno, birthdaytemp; |
||||
|
if (psidno.length === 18) { |
||||
|
birthdayno = psidno.substring(6, 14); |
||||
|
} |
||||
|
else if (psidno.length === 15) { |
||||
|
birthdaytemp = psidno.substring(6, 12); |
||||
|
birthdayno = '19' + birthdaytemp; |
||||
|
} |
||||
|
else { |
||||
|
return ''; |
||||
|
} |
||||
|
var birthday = birthdayno.substring(0, 4) + '-' + birthdayno.substring(4, 6) + '-' + birthdayno.substring(6, 8); |
||||
|
return birthday; |
||||
|
}, |
||||
|
getGender (psidno) { |
||||
|
var num = psidno.charAt(16); |
||||
|
if (num % 2 == 0) { |
||||
|
return '女'; |
||||
|
}else { |
||||
|
return '男'; |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// 编辑按钮点击事件
|
||||
|
editTap () { |
||||
|
if (this.data.fmData.idCard) { |
||||
|
this.handleValidBlur('',this.data.fmData.idCard) |
||||
|
} |
||||
|
this.setData({ |
||||
|
pageType: 'edit' |
||||
|
}) |
||||
|
}, |
||||
|
// 取消编辑
|
||||
|
closeEditTap () { |
||||
|
this.setData({ |
||||
|
pageType: 'look' |
||||
|
}) |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
// 注册
|
||||
|
async submit() { |
||||
|
if (!this.computeSubmitBtnIsAllowed(false)) return; |
||||
|
|
||||
|
const { fmData } = this.data; |
||||
|
if (fmData.gender === '男') { |
||||
|
fmData.gender = '1' |
||||
|
} else if (fmData.gender === '女') { |
||||
|
fmData.gender = '0' |
||||
|
} |
||||
|
this.setData({ fmData }) |
||||
|
wx.showLoading({ |
||||
|
title: "提交中", |
||||
|
mask: true, |
||||
|
}); |
||||
|
const res = await addFamilyMember({...fmData}) |
||||
|
wx.hideLoading(); |
||||
|
|
||||
|
if (res.msg === "success" && res.code === 0) { |
||||
|
wx.showToast({ |
||||
|
title: "提交成功", |
||||
|
duration: 2000, |
||||
|
}); |
||||
|
setTimeout(function () { |
||||
|
wx.navigateBack() |
||||
|
}, 1000) |
||||
|
|
||||
|
// wxRedirectTo("../index", {});
|
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
// 修改提交
|
||||
|
async editSubmit () { |
||||
|
if (!this.computeSubmitBtnIsAllowed(false)) return; |
||||
|
|
||||
|
const { fmData } = this.data; |
||||
|
if (fmData.gender === '男') { |
||||
|
fmData.gender = '1' |
||||
|
} else if (fmData.gender === '女') { |
||||
|
fmData.gender = '0' |
||||
|
} |
||||
|
this.setData({ fmData }) |
||||
|
wx.showLoading({ |
||||
|
title: "提交中", |
||||
|
mask: true, |
||||
|
}); |
||||
|
const res = await updateFamilyMember({...fmData}) |
||||
|
wx.hideLoading(); |
||||
|
|
||||
|
if (res.msg === "success" && res.code === 0) { |
||||
|
wx.showToast({ |
||||
|
title: "提交成功", |
||||
|
duration: 2000, |
||||
|
}); |
||||
|
|
||||
|
setTimeout(function () { |
||||
|
wx.navigateBack() |
||||
|
}, 1000) |
||||
|
} |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
// 更新data数据后需主动触发
|
||||
|
$afterUpdateData() { |
||||
|
this.computeSubmitBtnIsAllowed(); |
||||
|
}, |
||||
|
|
||||
|
|
||||
|
// 校验
|
||||
|
computeSubmitBtnIsAllowed(isQuiet = true) { |
||||
|
const { fmData } = this.data, |
||||
|
vlt = validate(fmData, { |
||||
|
// surname: [
|
||||
|
// {
|
||||
|
// rule: "required",
|
||||
|
// message: "请先输入成员【姓】",
|
||||
|
// },
|
||||
|
// ],
|
||||
|
|
||||
|
userName: [ |
||||
|
{ |
||||
|
rule: "required", |
||||
|
message: "请先输入成员【姓名】", |
||||
|
}, |
||||
|
], |
||||
|
|
||||
|
idCard: [ |
||||
|
{ |
||||
|
rule: "required", |
||||
|
message: "请先输入成员【身份证号】", |
||||
|
}, |
||||
|
], |
||||
|
|
||||
|
mobile: [ |
||||
|
{ |
||||
|
rule: "required", |
||||
|
message: "请先输入成员【手机号】", |
||||
|
}, |
||||
|
{ |
||||
|
rule: "mobile", |
||||
|
message: "【手机号】格式不正确", |
||||
|
}, |
||||
|
] |
||||
|
}); |
||||
|
if (!vlt.valid) { |
||||
|
if (!isQuiet) { |
||||
|
wx.showToast({ |
||||
|
title: vlt.error, |
||||
|
icon: "none", |
||||
|
duration: 1500, |
||||
|
}); |
||||
|
} |
||||
|
this.setData({ |
||||
|
submitBtnIsAllowed: false, |
||||
|
}); |
||||
|
return false; |
||||
|
} else { |
||||
|
this.setData({ |
||||
|
submitBtnIsAllowed: true, |
||||
|
}); |
||||
|
return true; |
||||
|
} |
||||
|
}, |
||||
|
/** |
||||
|
* 生命周期函数--监听页面初次渲染完成 |
||||
|
*/ |
||||
|
onReady: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 生命周期函数--监听页面显示 |
||||
|
*/ |
||||
|
onShow: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 生命周期函数--监听页面隐藏 |
||||
|
*/ |
||||
|
onHide: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 生命周期函数--监听页面卸载 |
||||
|
*/ |
||||
|
onUnload: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 页面相关事件处理函数--监听用户下拉动作 |
||||
|
*/ |
||||
|
onPullDownRefresh: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 页面上拉触底事件的处理函数 |
||||
|
*/ |
||||
|
onReachBottom: function () { |
||||
|
|
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 用户点击右上角分享 |
||||
|
*/ |
||||
|
onShareAppMessage: function () { |
||||
|
|
||||
|
} |
||||
|
}) |
@ -0,0 +1,4 @@ |
|||||
|
{ |
||||
|
"navigationBarTitleText": "基本信息", |
||||
|
"usingComponents": {} |
||||
|
} |
@ -0,0 +1,263 @@ |
|||||
|
<view class="g-bd"> |
||||
|
<view class="m-fm"> |
||||
|
<view class="fm"> |
||||
|
<view class="fm-title">基本信息</view> |
||||
|
<view class="item-list"> |
||||
|
<view wx:if="{{pageType === 'add' || pageType === 'edit'}}"> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">姓名</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="text" value="{{ fmData.userName }}" placeholder="请输入" placeholder-class="z-ph" bindinput="nameSync" cursor-spacing="14" maxlength="100" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">身份证号</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="idcard" value="{{ fmData.idCard }}" placeholder="请输入上报人身份证号" placeholder-class="z-ph" bindinput="idCardSync" cursor-spacing="14" maxlength="18" bindblur="handleValidBlur" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">性别</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.gender == '0' ? '女' : fmData.gender == '1' ? '男' : fmData.gender}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">出生日期</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.birthday}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">联系电话</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="number" value="{{ fmData.mobile }}" placeholder="请输入联系电话" placeholder-class="z-ph" data-fm="fmData" data-name="mobile" bindinput="mobileSync" cursor-spacing="14" maxlength="11" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view wx:if="{{pageType === 'look'}}"> |
||||
|
<!-- 姓名 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">姓名</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.userName}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 身份证号 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">身份证号</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.idCard}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 性别 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">性别</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
{{fmData.gender == '0' ? '女' : fmData.gender == '1' ? '男' : fmData.gender}} |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 出生日期 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">出生日期</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.birthday ? fmData.birthday : ''}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 联系电话 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="must">*</view> |
||||
|
<view class="field-text">联系电话</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.mobile ? fmData.mobile : ''}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="fm"> |
||||
|
<view class="item-list"> |
||||
|
<view wx:if="{{pageType === 'add' || pageType === 'edit'}}"> |
||||
|
<view class="item" style="border-top: 0rpx"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">民族</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="text" value="{{ fmData.nation }}" placeholder="请输入民族" |
||||
|
bindinput="nationSync" |
||||
|
placeholder-class="z-ph" data-fm="fmData" data-name="nation" cursor-spacing="14" maxlength="100" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- <view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">户籍地</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="picker" bind:tap="select5Addr"> |
||||
|
<view class="picker-text" wx:if="{{fmData.presentAddress}}"> |
||||
|
{{fmData.presentAddress}} |
||||
|
</view> |
||||
|
<view class="picker-text z-weak" wx:else>请选择</view> |
||||
|
<image class="menu-arrow" src="/subpages/family/images/arrow.png" mode="aspectFit" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">户籍地</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="text" value="{{ fmData.householdRegisterName }}" placeholder="xx省x市x区(县)x街道" placeholder-class="z-ph" bindinput="householdRegisterSync" cursor-spacing="14" maxlength="100" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">与户主关系</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<picker class="picker" range="{{houseRelationList}}" range-key="dictName" bindchange="houseSyncPicker"> |
||||
|
<view class="picker-text" wx:if="{{fmData.relation}}">{{fmData.relation}}</view> |
||||
|
<view class="picker-text z-weak" wx:else>请选择</view> |
||||
|
<image class="menu-arrow" src="/subpages/family/images/arrow.png" mode="aspectFit" /> |
||||
|
</picker> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- <view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">现居住地</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="picker" bind:tap="select5Addr"> |
||||
|
<view class="picker-text" wx:if="{{fmData.presentAddress}}"> |
||||
|
{{fmData.presentAddress}} |
||||
|
</view> |
||||
|
<view class="picker-text z-weak" wx:else>请选择</view> |
||||
|
<image class="menu-arrow" src="/subpages/family/images/arrow.png" mode="aspectFit" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">现居住地</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="text" value="{{ fmData.outLiveAddressName }}" placeholder="xx省x市x区(县)x街道" placeholder-class="z-ph" bindinput="outLiveAddressSync" cursor-spacing="14" maxlength="100" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">详细地址</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input"> |
||||
|
<input type="text" value="{{ fmData.outLiveAddressDetail }}" placeholder="xx小区(号)x号楼x单元x户" placeholder-class="z-ph" bindinput="addressSync" cursor-spacing="14" maxlength="100" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view wx:if="{{pageType === 'look'}}"> |
||||
|
<!-- 民族 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">民族</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.nation ? fmData.nation : ''}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 户籍地 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">户籍地</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.householdRegisterName ? fmData.householdRegisterName : ''}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 与户主关系 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">与户主关系</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.relation ? fmData.relation : ''}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 现居住地 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">现居住地</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.outLiveAddressName ? fmData.outLiveAddressName : ''}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- 详细地址 --> |
||||
|
<view class="item"> |
||||
|
<view class="field"> |
||||
|
<view class="field-text">详细地址</view> |
||||
|
</view> |
||||
|
<view class="value"> |
||||
|
<view class="input">{{fmData.outLiveAddressDetail ? fmData.outLiveAddressDetail : ''}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="operate" wx:if="{{pageType === 'add'}}"> |
||||
|
<view class="btn" style="opacity: 1;" bind:tap="submit">确认提交</view> |
||||
|
</view> |
||||
|
<view class="edit" wx:if="{{pageType === 'look'}}"> |
||||
|
<view class="editbtn" bindtap="editTap">编辑</view> |
||||
|
</view> |
||||
|
<view class="edit-two" wx:if="{{pageType === 'edit'}}"> |
||||
|
<view class="editbtn" bindtap="closeEditTap">取消编辑</view> |
||||
|
<view class="btn {{ submitBtnIsAllowed ? '' : 'z-disabled'}} right" bindtap="editSubmit"> |
||||
|
提交 |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
@ -0,0 +1,16 @@ |
|||||
|
@import '../../wxss/familyInfo.wxss'; |
||||
|
|
||||
|
|
||||
|
.editbtn{ |
||||
|
margin:100rpx auto; |
||||
|
width:240rpx; |
||||
|
height:80rpx; |
||||
|
line-height:80rpx; |
||||
|
border-radius:40rpx; |
||||
|
text-align:center; |
||||
|
font-size:32rpx; |
||||
|
font-family:Source Han Serif SC; |
||||
|
font-weight:400; |
||||
|
color:#fff; |
||||
|
background-color: #0399d8; |
||||
|
} |
@ -0,0 +1,206 @@ |
|||||
|
import { |
||||
|
getHouseInfo |
||||
|
} from '../../utils/api.js' |
||||
|
Page({ |
||||
|
|
||||
|
/** |
||||
|
* 页面的初始数据 |
||||
|
*/ |
||||
|
data: { |
||||
|
familyInfo:null, |
||||
|
showQr: true, |
||||
|
memberList:[], |
||||
|
roomCode:null, |
||||
|
selectedTabBar:"resiNew", |
||||
|
loadMoreVisible:false, |
||||
|
keyWord:'',//房屋搜索字段
|
||||
|
houseInfo:[], |
||||
|
houseFlag:'1' |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 生命周期函数--监听页面加载 |
||||
|
*/ |
||||
|
async onLoad(options) { |
||||
|
wx.showLoading({ |
||||
|
title: "加载中", |
||||
|
mask: true, |
||||
|
}); |
||||
|
this.setData({ |
||||
|
roomCode : options.roomCode |
||||
|
}) |
||||
|
// this.setData({
|
||||
|
// roomCode:'3702110100420037200006'
|
||||
|
// })
|
||||
|
wx.setStorage({ |
||||
|
key: 'roomCode', |
||||
|
data: this.data.roomCode |
||||
|
}) |
||||
|
await this.getInfo(this.data.roomCode) |
||||
|
wx.hideLoading() |
||||
|
}, |
||||
|
|
||||
|
/** |
||||
|
* 生命周期函数--监听页面显示 |
||||
|
*/ |
||||
|
async onShow() { |
||||
|
wx.showLoading({ |
||||
|
title: "加载中", |
||||
|
mask: true, |
||||
|
}); |
||||
|
let roomCode = wx.getStorageSync('roomCode') |
||||
|
this.setData({ |
||||
|
roomCode : roomCode |
||||
|
}) |
||||
|
await this.getInfo(this.data.roomCode) |
||||
|
wx.hideLoading() |
||||
|
}, |
||||
|
|
||||
|
// 获取房屋信息
|
||||
|
async getInfo(code){ |
||||
|
const res = await getHouseInfo({roomCode:code}) |
||||
|
if(res.msg === 'success' && res.code === 0){ |
||||
|
this.setData({ |
||||
|
'familyInfo':res.data, |
||||
|
}) |
||||
|
} |
||||
|
}, |
||||
|
// 跳转新增页面
|
||||
|
handleTo(){ |
||||
|
if(this.data.selectedTabBar=='resiNew'){ |
||||
|
wx.navigateTo({ |
||||
|
url: '/subpages/family/pages/familyInfo/familyInfo?pageType=add&id='+ this.data.familyInfo.id |
||||
|
}) |
||||
|
}else if(this.data.selectedTabBar=='housePrice'){ |
||||
|
wx.navigateTo({ |
||||
|
url: '/subpages/family/pages/addHouse/addHouse?name=卖房', |
||||
|
}) |
||||
|
}else if(this.data.selectedTabBar=='groupPrice'){ |
||||
|
wx.navigateTo({ |
||||
|
url: '/subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish', |
||||
|
}) |
||||
|
}else{ |
||||
|
|
||||
|
} |
||||
|
}, |
||||
|
chooseTabBar(e) { |
||||
|
this.data.pageNo = 1 |
||||
|
this.data.pageSize = 10 |
||||
|
if (e.currentTarget.dataset.type === 'resiNew') { |
||||
|
// this.getresiNewList()
|
||||
|
} else if (e.currentTarget.dataset.type === 'housePrice') { |
||||
|
this.data.pageNo = 1 |
||||
|
this.data.pageSize = 10 |
||||
|
// this.getHousesalerentinfo()
|
||||
|
} else if (e.currentTarget.dataset.type === 'groupPrice') { |
||||
|
|
||||
|
}else if (e.currentTarget.dataset.type === 'integral'){ |
||||
|
// this.getgroupPriceList()
|
||||
|
wx.showLoading({ |
||||
|
title: "加载中", |
||||
|
mask: true, |
||||
|
}); |
||||
|
this.navigateToIntegralCentre() |
||||
|
|
||||
|
} |
||||
|
this.setData({ |
||||
|
selectedTabBar: e.currentTarget.dataset.type, |
||||
|
}) |
||||
|
console.log(this.data.selectedTabBar); |
||||
|
}, |
||||
|
handleActiveHouse(e){ |
||||
|
this.setData({ |
||||
|
houseFlag:e.currentTarget.dataset.status, |
||||
|
loadMoreVisible: false |
||||
|
}) |
||||
|
this.getHousesalerentinfo() |
||||
|
}, |
||||
|
handelKeyword(e){ |
||||
|
this.setData({ |
||||
|
keyWord:e.detail.value |
||||
|
}) |
||||
|
this.getHousesalerentinfo() |
||||
|
}, |
||||
|
navigateToIntegralCentre() { |
||||
|
wx.navigateTo({ |
||||
|
url:'/subpages/pointManagement/pages/pointList/pointList' |
||||
|
}) |
||||
|
wx.hideLoading() |
||||
|
}, |
||||
|
getHousesalerentinfo(){ |
||||
|
let parmas = { |
||||
|
pageNum:this.data.pageNo, |
||||
|
pageSize:this.data.pageSize, |
||||
|
houseStatus:this.data.houseFlag, |
||||
|
search:this.data.keyWord |
||||
|
} |
||||
|
wx.showLoading({ |
||||
|
title: '加载中', |
||||
|
}) |
||||
|
api |
||||
|
.getHousesalerentinfo(parmas) |
||||
|
.then((res) => { |
||||
|
console.log('房屋列表', res) |
||||
|
for(let i in res.data.list){ |
||||
|
res.data.list[i].createdData = res.data.list[i].createdData.substr(0,10) |
||||
|
} |
||||
|
this.setData({ |
||||
|
houseInfo:res.data.list, |
||||
|
}) |
||||
|
}) |
||||
|
.catch((err) => { |
||||
|
console.log(err) |
||||
|
}) |
||||
|
wx.hideLoading() |
||||
|
}, |
||||
|
// 跳转查看页面
|
||||
|
toFamilyInfo(e){ |
||||
|
wx.navigateTo({ |
||||
|
url: '/subpages/family/pages/familyInfo/familyInfo?pageType=look&idCard='+ e.currentTarget.dataset.id |
||||
|
}) |
||||
|
}, |
||||
|
// 取消编辑
|
||||
|
cancel() { |
||||
|
this.setData({ |
||||
|
showQr: true, |
||||
|
}); |
||||
|
}, |
||||
|
// 点击保存二维码
|
||||
|
comfirmSave() { |
||||
|
wx.downloadFile({ |
||||
|
url: this.data.familyInfo.maUrl, |
||||
|
success: function (res) { |
||||
|
let imageFilePath = res.tempFilePath; |
||||
|
wx.saveImageToPhotosAlbum({ |
||||
|
filePath: imageFilePath, |
||||
|
success: function (data) { |
||||
|
wx.showToast({ |
||||
|
title: '保存成功', |
||||
|
icon: 'none', |
||||
|
duration: 1500 |
||||
|
}); |
||||
|
}, |
||||
|
fail: function (res) { |
||||
|
wx.showToast({ |
||||
|
title: '保存失败', |
||||
|
icon: 'none', |
||||
|
duration: 1500 |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
fail: (err) => { |
||||
|
wx.showToast({ |
||||
|
title: '下载失败', |
||||
|
icon: 'none', |
||||
|
duration: 1500 |
||||
|
}) |
||||
|
} |
||||
|
}) |
||||
|
}, |
||||
|
handlePreview() { |
||||
|
wx.navigateTo({ |
||||
|
url: `/subpages/family/pages/editHouseInfo/editHouseInfo?roomCode=`+this.data.roomCode |
||||
|
}) |
||||
|
}, |
||||
|
}) |
@ -0,0 +1,4 @@ |
|||||
|
{ |
||||
|
"navigationBarTitleText": "我的e家", |
||||
|
"usingComponents": {} |
||||
|
} |
@ -0,0 +1,126 @@ |
|||||
|
<view class="f-container"> |
||||
|
<!-- wx:if="{{familyInfo.roomCode}}" 恢复--> |
||||
|
<block > |
||||
|
<view class="f-top"> |
||||
|
<view class="f-card"> |
||||
|
<view class="flex-view"> |
||||
|
<view class="card-left"> |
||||
|
<view class="card-title">{{ familyInfo.plotName }} - {{familyInfo.buildingName}} - {{familyInfo.unit}} - {{familyInfo.roomNo}}</view> |
||||
|
<!-- <view wx:if="{{familyInfo.roomCodeShow.length <= 24}}" class="card-num"> |
||||
|
<text>No.{{ familyInfo.roomCodeShow }}</text> --> |
||||
|
<!-- <text >No.6666666666666666666666</text> --> |
||||
|
<!-- <image /> --> |
||||
|
<!-- </view> --> |
||||
|
</view> |
||||
|
<view class="card-right"> |
||||
|
<view class="card-qr {{ familyInfo.roomCodeShow.length > 24 && 'card-qr-long'}}" bind:tap="handlePreview"> |
||||
|
<image mode="widthFix" src="../../images/edit_info.png" /> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- <view wx:if="{{familyInfo.roomCodeShow.length > 24}}" class="card-num mt16"> |
||||
|
<text>No.{{ familyInfo.roomCodeShow }}</text> --> |
||||
|
<!-- <text >No.666666666666666666666666666666666666</text> --> |
||||
|
<!-- <image /> --> |
||||
|
<!-- </view> --> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="f-wr"> |
||||
|
<view class="tab-bar"> |
||||
|
<view class="type {{selectedTabBar === 'resiNew' ? 'selected-resiNew' : ''}}" data-type="resiNew" hover-class="hover-tabbar" hover-stay-time="300" bindtap="chooseTabBar"> |
||||
|
成员新了 |
||||
|
</view> |
||||
|
<view class="type {{selectedTabBar === 'housePrice' ? 'selected-housePrice' : ''}}" data-type="housePrice" hover-class="hover-tabbar" hover-stay-time="300" bindtap="chooseTabBar"> |
||||
|
房价涨了 |
||||
|
</view> |
||||
|
<view class="type {{selectedTabBar === 'groupPrice' ? 'selected-groupPrice' : ''}}" data-type="groupPrice" hover-class="hover-tabbar" hover-stay-time="300" bindtap="chooseTabBar"> |
||||
|
团购火了 |
||||
|
</view> |
||||
|
<view class="type {{selectedTabBar === 'integral' ? 'selected-integral' : ''}}" data-type="integral" hover-class="hover-tabbar" hover-stay-time="300" bindtap="chooseTabBar"> |
||||
|
积分多了 |
||||
|
</view> |
||||
|
|
||||
|
<view class="select-bar {{selectedTabBar === 'resiNew' ? 'selected-resiNew' : selectedTabBar === 'housePrice' ? 'selected-housePrice' : selectedTabBar === 'groupPrice' ? 'selected-groupPrice' :selectedTabBar === 'integral' ? 'selected-integral':''}}"></view> |
||||
|
</view> |
||||
|
<!-- 成员新了 --> |
||||
|
<view class="resiNew-list" wx:if="{{selectedTabBar === 'resiNew'}}"> |
||||
|
<view class="f-table mt40" wx:if="{{familyInfo.roomCodeShow}}"> |
||||
|
<view class="table-cell table-header"> |
||||
|
<view class="table-col">姓名</view> |
||||
|
<view class="table-col">成员关系</view> |
||||
|
<view class="table-col">手机号</view> |
||||
|
<view class="table-col">明细</view> |
||||
|
</view> |
||||
|
<block wx:if="{{familyInfo.members.length > 0}}"> |
||||
|
<view class="table-cell" wx:for="{{familyInfo.members}}" wx:key="userId" class="table-cell"> |
||||
|
<view class="table-col">{{ item.userName }}</view> |
||||
|
<view class="table-col">{{ item.relation }}</view> |
||||
|
<!-- --> |
||||
|
<view class="table-col">{{ item.mobile }}</view> |
||||
|
<view class="table-col table-col-4" wx:if="{{item.auditType == '0' && item.auditState == '0'}}">待审核</view> |
||||
|
<view class="table-col table-col-4" data-type="edit" data-id="{{item.idCard}}" bind:tap="toFamilyInfo" wx:else>查看</view> |
||||
|
</view> |
||||
|
</block> |
||||
|
<view wx:else class="no-data">暂无成员</view> |
||||
|
</view> |
||||
|
<!-- <view class="f-btns" data-type="add" data-id="{{ info.icResiUserId }}" bind:tap="handleTo"> |
||||
|
<view class="f-btns-icon">+</view> |
||||
|
<view class="f-btns-label">添加家庭成员</view> |
||||
|
</view> --> |
||||
|
<view class="no-data" wx:else>暂无家庭信息</view> |
||||
|
</view> |
||||
|
<!-- 房价涨了 --> |
||||
|
<view class="housePrice-list" wx:if="{{selectedTabBar === 'housePrice'}}"> |
||||
|
<view class="housePrice-hader"> |
||||
|
<view class="{{houseFlag==='1'?'active_btn':''}}" data-status="1" bindtap="handleActiveHouse"> 我要买房</view> |
||||
|
<view style="margin-left:20rpx" class="{{houseFlag === '2'?'active_btn':''}}" data-status="2" bindtap="handleActiveHouse"> 我要租房 </view> |
||||
|
</view> |
||||
|
<view class="search-box"> |
||||
|
<input type="text" bindblur="handelKeyword" value="{{keyWord}}" class="search-input" placeholder="请输入搜索关键字" /> |
||||
|
<image class="search-img" bindtap="handelKeyword" src="../../../../images/search.png" /> |
||||
|
</view> |
||||
|
<block wx:if="{{houseInfo.length!=0}}"> |
||||
|
<view class="housePrice-content" bindtap="handleClickHouse" data-obj="{{item}}" |
||||
|
wx:for="{{houseInfo}}" wx:key="index" > |
||||
|
<view class="housePrice-header"> |
||||
|
<image src="../../images/user.png"></image> |
||||
|
<view class="housePrice-header-name"> |
||||
|
<view class="housePrice-header-top"> |
||||
|
<text class="address">{{item.address}}</text> |
||||
|
<text class="tag">{{houseFlag == '1'?'在售':'在租'}}</text> |
||||
|
<text class="date">{{item.createdData}}</text> |
||||
|
</view> |
||||
|
<view class="price">{{item.price}}</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<view class="housePrice-body"> {{item.description}}</view> |
||||
|
<view class="housePrice-images"> |
||||
|
<image wx:for="{{item.photoList}}" wx:key="i" wx:for-item="img" src="{{img}}"></image> |
||||
|
</view> |
||||
|
</view> |
||||
|
</block> |
||||
|
<view class="no-data" wx:else>暂无房屋信息</view> |
||||
|
<view style="display: {{loadMoreVisible ? 'flex' : 'none'}}" class="nomore-tip">没有更多了~</view> |
||||
|
|
||||
|
</view> |
||||
|
<!-- 团购火了 --> |
||||
|
<view class="groupPrice-list" wx:if="{{selectedTabBar === 'groupPrice'}}"> |
||||
|
<view class="groupPrice-card" bindtap="handleClickGroupPrice" data-id="'12345'"> |
||||
|
<image src="../../../../images/relieve.png"></image> |
||||
|
<view class="right"> |
||||
|
<view class="title">【社区送达】 护手霜</view> |
||||
|
<view style="color: #999;font-size: 26rpx;"> <text style="color:#cf4133;font-size: 28rpx;">已截团</text > 2023-04-23 15:10:22</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
</view> |
||||
|
<!-- <view class="f-btns" data-type="add" data-id="{{ info.icResiUserId }}" bind:tap="handleTo"> |
||||
|
<view class="f-btns-icon">+</view> |
||||
|
<view class="f-btns-label">添加家庭成员</view> |
||||
|
</view> --> |
||||
|
</view> |
||||
|
</block> |
||||
|
<image src="../../../../images/family/plus.png" class="img_btn" bind:tap="handleTo"></image> |
||||
|
|
||||
|
<!-- <view wx:else class="no-data">暂无家庭信息</view> 恢复--> |
||||
|
</view> |
||||
|
|
@ -0,0 +1,21 @@ |
|||||
|
@import '../../wxss/family.wxss'; |
||||
|
|
||||
|
@import '../../wxss/c-popForm.wxss'; |
||||
|
|
||||
|
.card-qr { |
||||
|
width: 30rpx; |
||||
|
height: 30rpx; |
||||
|
} |
||||
|
.card-qr image { |
||||
|
display: block; |
||||
|
width: 100%; |
||||
|
height: 100%; |
||||
|
} |
||||
|
.title-label {flex:1} |
||||
|
.title-wr .flex{flex:1} |
||||
|
.f-top .f-card{ |
||||
|
height:auto |
||||
|
} |
||||
|
.f-top .f-card .card-title{ |
||||
|
height:auto |
||||
|
} |