Browse Source

房屋功能完成 团购待完成

master
mk 2 years ago
parent
commit
fc5077350c
  1. 1
      epdc-resident-mp-yushan/.cloudbase/container/debug.json
  2. 584
      epdc-resident-mp-yushan/app.json
  3. BIN
      epdc-resident-mp-yushan/images/call.png
  4. BIN
      epdc-resident-mp-yushan/images/family/down.png
  5. BIN
      epdc-resident-mp-yushan/images/family/plus.png
  6. BIN
      epdc-resident-mp-yushan/images/family/reply.png
  7. BIN
      epdc-resident-mp-yushan/images/family/sub.png
  8. BIN
      epdc-resident-mp-yushan/images/family/user.png
  9. BIN
      epdc-resident-mp-yushan/images/home/jifen.png
  10. BIN
      epdc-resident-mp-yushan/images/home/yhym.gif
  11. BIN
      epdc-resident-mp-yushan/images/home/yhym.png
  12. BIN
      epdc-resident-mp-yushan/images/hswy.png
  13. BIN
      epdc-resident-mp-yushan/images/icon_user.png
  14. BIN
      epdc-resident-mp-yushan/images/louzhang.png
  15. BIN
      epdc-resident-mp-yushan/images/mine/delete.png
  16. BIN
      epdc-resident-mp-yushan/images/mine/edit.png
  17. BIN
      epdc-resident-mp-yushan/images/mine/rmb.png
  18. BIN
      epdc-resident-mp-yushan/images/rexian.png
  19. BIN
      epdc-resident-mp-yushan/images/signed2.png
  20. BIN
      epdc-resident-mp-yushan/images/unsignup.png
  21. BIN
      epdc-resident-mp-yushan/images/yhym.gif
  22. BIN
      epdc-resident-mp-yushan/images/youshi.png
  23. 66
      epdc-resident-mp-yushan/pages/groupBuyDetail/groupBuyDetail.js
  24. 8
      epdc-resident-mp-yushan/pages/groupBuyDetail/groupBuyDetail.json
  25. 95
      epdc-resident-mp-yushan/pages/groupBuyDetail/groupBuyDetail.wxml
  26. 159
      epdc-resident-mp-yushan/pages/groupBuyDetail/groupBuyDetail.wxss
  27. 58
      epdc-resident-mp-yushan/pages/index/index.js
  28. 23
      epdc-resident-mp-yushan/pages/index/index.wxml
  29. 54
      epdc-resident-mp-yushan/pages/index/index.wxss
  30. 82
      epdc-resident-mp-yushan/pages/mine/components/deleteHouse/deleteHouse.js
  31. 5
      epdc-resident-mp-yushan/pages/mine/components/deleteHouse/deleteHouse.json
  32. 11
      epdc-resident-mp-yushan/pages/mine/components/deleteHouse/deleteHouse.wxml
  33. 39
      epdc-resident-mp-yushan/pages/mine/components/deleteHouse/deleteHouse.wxss
  34. 44
      epdc-resident-mp-yushan/pages/mine/components/houseItem/houseItem.js
  35. 3
      epdc-resident-mp-yushan/pages/mine/components/houseItem/houseItem.json
  36. 34
      epdc-resident-mp-yushan/pages/mine/components/houseItem/houseItem.wxml
  37. 95
      epdc-resident-mp-yushan/pages/mine/components/houseItem/houseItem.wxss
  38. 34
      epdc-resident-mp-yushan/pages/mine/mine.js
  39. 1
      epdc-resident-mp-yushan/pages/mine/mine.json
  40. 19
      epdc-resident-mp-yushan/pages/mine/mine.wxml
  41. 16
      epdc-resident-mp-yushan/pages/mine/mine.wxss
  42. 3
      epdc-resident-mp-yushan/project.config.json
  43. 10
      epdc-resident-mp-yushan/project.private.config.json
  44. BIN
      epdc-resident-mp-yushan/subpages/family/images/icon_close.png
  45. BIN
      epdc-resident-mp-yushan/subpages/family/images/ig_tianjiatupian@2x.png
  46. BIN
      epdc-resident-mp-yushan/subpages/family/images/loading.gif
  47. BIN
      epdc-resident-mp-yushan/subpages/family/images/submit-bk.png
  48. BIN
      epdc-resident-mp-yushan/subpages/family/images/user.png
  49. 452
      epdc-resident-mp-yushan/subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.js
  50. 7
      epdc-resident-mp-yushan/subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.json
  51. 67
      epdc-resident-mp-yushan/subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.wxml
  52. 189
      epdc-resident-mp-yushan/subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.wxss
  53. 430
      epdc-resident-mp-yushan/subpages/family/pages/addHouse/addHouse.js
  54. 5
      epdc-resident-mp-yushan/subpages/family/pages/addHouse/addHouse.json
  55. 154
      epdc-resident-mp-yushan/subpages/family/pages/addHouse/addHouse.wxml
  56. 172
      epdc-resident-mp-yushan/subpages/family/pages/addHouse/addHouse.wxss
  57. 117
      epdc-resident-mp-yushan/subpages/family/pages/houseDetail/index.js
  58. 4
      epdc-resident-mp-yushan/subpages/family/pages/houseDetail/index.json
  59. 85
      epdc-resident-mp-yushan/subpages/family/pages/houseDetail/index.wxml
  60. 163
      epdc-resident-mp-yushan/subpages/family/pages/houseDetail/index.wxss
  61. 185
      epdc-resident-mp-yushan/subpages/family/pages/index/index.js
  62. 5
      epdc-resident-mp-yushan/subpages/family/pages/index/index.json
  63. 211
      epdc-resident-mp-yushan/subpages/family/pages/index/index.wxml
  64. 12
      epdc-resident-mp-yushan/subpages/family/utils/api.js
  65. 604
      epdc-resident-mp-yushan/subpages/family/wxss/family.wxss
  66. 19
      epdc-resident-mp-yushan/utils/api.js
  67. 272
      epdc-resident-mp-yushan/榆山.md

1
epdc-resident-mp-yushan/.cloudbase/container/debug.json

@ -0,0 +1 @@
{"containers":[],"config":{}}

584
epdc-resident-mp-yushan/app.json

@ -1,298 +1,304 @@
{
"pages": [
"pages/welcome/welcome",
"pages/index/index",
"pages/toRegister/toRegister",
"pages/heart/heart",
"pages/mine/mine",
"pages/association/association",
"pages/discussion/discussion",
"pages/toScan/toScan",
"pages/complete/complete",
"pages/formid/formid",
"pages/fromVirus/fromVirus",
"pages/register/register",
"pages/detail/detail",
"pages/fromVirus/detail/detail",
"pages/accept/accept",
"pages/gridLeaderRegister/gridLeaderRegister",
"pages/property/property"
],
"requiredPrivateInfos": [
"getLocation"
],
"subPackages": [
{
"root": "subpages/home",
"name": "home",
"pages": [
"pages/webview/webview",
"pages/agreement/agreement",
"pages/notice/notice",
"pages/consultation/consultation",
"pages/info/info",
"pages/noticeDetail/noticeDetail",
"pages/newsDetail/newsDetail"
]
},
{
"root": "subpages/changegrid",
"name": "changeGrid",
"pages": [
"pages/changeGrid/changeGrid"
]
},
{
"root": "subpages/association",
"name": "association",
"pages": [
"pages/joinassociation/joinassociation",
"pages/createassociation/createassociation",
"pages/associationMember/associationMember",
"pages/associationDetail/associationDetail",
"pages/inviteFriend/inviteFriend",
"pages/incomingVerify/incomingVerify",
"pages/unpassAssociation/unpassAssociation",
"pages/topicList/topicList",
"pages/addTopic/addTopic",
"pages/topicDetail/topicDetail",
"pages/replyOrRemark/replyOrRemark",
"pages/changeToIssue/changeToIssue"
]
},
{
"root": "subpages/heart",
"pages": [
"pages/heartDetail/heartDetail",
"pages/leaderboard/leaderboard",
"pages/myNews/myNews",
"pages/clockIn/clockIn",
"pages/volunteer/volunteer",
"pages/signed/signed",
"pages/refusedOrEndedDetail/refusedOrEndedDetail",
"pages/cancelDetail/cancelDetail",
"pages/joinVolunteerOrg/joinVolunteerOrg",
"pages/volunteerOrgList/volunteerOrgList",
"pages/moreList/moreList"
]
},
{
"root": "subpages/discussion",
"name": "discussion",
"pages": [
"pages/addIssue/addIssue",
"pages/discussionDetail/discussionDetail",
"pages/publishEvaluation/publishEvaluation",
"pages/remarkOrReply/remarkOrReply",
"pages/searchDiscussion/searchDiscussion",
"pages/categoryList/categoryList",
"pages/activeApply/activeApply",
"pages/societyOrgActiveApply/societyOrgActiveApply"
],
"plugins": {
"esuaEpdcMpPlugin": {
"version": "0.1.1",
"provider": "wxdd8530c5f4926766"
}
}
},
{
"root": "subpages/mine",
"name": "mine",
"pages": [
"pages/eventDetail/eventDetail",
"pages/company/company",
"pages/companyInfo/companyInfo",
"pages/inviteRecord/inviteRecord",
"pages/gridManage/gridManage"
]
},
{
"root": "subpages/integralCentre",
"name": "integralCentre",
"pages": [
"pages": [
"pages/welcome/welcome",
"pages/index/index",
"pages/record/record",
"pages/noticeDetail/noticeDetail",
"pages/exchangeIndex/exchangeIndex"
]
},
{
"root": "subpages/property",
"name": "property",
"pages": [
"pages/joinassociation/joinassociation",
"pages/createassociation/createassociation",
"pages/associationMember/associationMember",
"pages/associationDetail/associationDetail",
"pages/inviteFriend/inviteFriend",
"pages/incomingVerify/incomingVerify",
"pages/unpassAssociation/unpassAssociation",
"pages/topicList/topicList",
"pages/addTopic/addTopic",
"pages/topicDetail/topicDetail",
"pages/replyOrRemark/replyOrRemark",
"pages/changeToIssue/changeToIssue",
"pages/myTopic/myTopic"
]
},
{
"root": "subpages/safety",
"name": "safety",
"pages": [
"pages/index/index",
"pages/newsDetail/newsDetail",
"pages/consultIndex/consultIndex",
"pages/consultantDetail/consultantDetail",
"pages/consultantList/consultantList",
"pages/myQuestion/myQuestion",
"pages/addQuestion/addQuestion"
]
},
{
"root": "subpages/education",
"name": "education",
"pages": [
"pages/index/index",
"pages/hobby/hobby",
"pages/healthyLife/healthyLife",
"pages/class/class",
"pages/classDetail/classDetail"
]
},
{
"root": "subpages/extend",
"name": "extend",
"pages": [
"pages/vaccines/vaccines",
"pages/epidemicControl/epidemicControl",
"pages/tripReport/tripReport",
"pages/moreList/moreList"
]
},
{
"root": "subpages/communityNews",
"name": "communityNews",
"pages": [
"pages/index/index",
"pages/detail/detail"
]
},
{
"root": "subpages/status",
"name": "status",
"pages": [
"pages/brightStatus/brightStatus"
]
},
{
"root": "subpages/gridArmy",
"name": "gridArmy",
"pages": [
"pages/index/index",
"pages/communityList/communityList",
"pages/categoryList/categoryList"
]
},
{
"root": "subpages/workTodo",
"name": "workTodo",
"pages": [
"pages/index/index",
"pages/list/index",
"pages/toRegister/toRegister",
"pages/heart/heart",
"pages/mine/mine",
"pages/association/association",
"pages/discussion/discussion",
"pages/toScan/toScan",
"pages/complete/complete",
"pages/formid/formid",
"pages/fromVirus/fromVirus",
"pages/register/register",
"pages/detail/detail",
"pages/moduleList/moduleList"
]
},
{
"root": "subpages/submitAdvise",
"name": "submitAdvise",
"pages": [
"pages/activeApply/activeApply",
"pages/moreList/moreList"
]
},
{
"root": "subpages/fingertipYushan",
"name": "fingertipYushan",
"pages": [
"pages/index/index"
]
},
{
"root": "subpages/societyOrg",
"name": "societyOrg",
"pages": [
"pages/orgList/orgList",
"pages/orgDetail/orgDetail",
"pages/memberManage/memberManage",
"pages/verifyMember/verifyMember",
"pages/joinOrg/joinOrg",
"pages/memberDetail/memberDetail"
]
"pages/fromVirus/detail/detail",
"pages/accept/accept",
"pages/gridLeaderRegister/gridLeaderRegister",
"pages/property/property",
"pages/groupBuyDetail/groupBuyDetail",
"pages/mine/components/houseItem/houseItem",
"pages/mine/components/deleteHouse/deleteHouse"
],
"requiredPrivateInfos": [
"getLocation"
],
"subPackages": [
{
"root": "subpages/home",
"name": "home",
"pages": [
"pages/webview/webview",
"pages/agreement/agreement",
"pages/notice/notice",
"pages/consultation/consultation",
"pages/info/info",
"pages/noticeDetail/noticeDetail",
"pages/newsDetail/newsDetail"
]
},
{
"root": "subpages/changegrid",
"name": "changeGrid",
"pages": [
"pages/changeGrid/changeGrid"
]
},
{
"root": "subpages/association",
"name": "association",
"pages": [
"pages/joinassociation/joinassociation",
"pages/createassociation/createassociation",
"pages/associationMember/associationMember",
"pages/associationDetail/associationDetail",
"pages/inviteFriend/inviteFriend",
"pages/incomingVerify/incomingVerify",
"pages/unpassAssociation/unpassAssociation",
"pages/topicList/topicList",
"pages/addTopic/addTopic",
"pages/topicDetail/topicDetail",
"pages/replyOrRemark/replyOrRemark",
"pages/changeToIssue/changeToIssue"
]
},
{
"root": "subpages/heart",
"pages": [
"pages/heartDetail/heartDetail",
"pages/leaderboard/leaderboard",
"pages/myNews/myNews",
"pages/clockIn/clockIn",
"pages/volunteer/volunteer",
"pages/signed/signed",
"pages/refusedOrEndedDetail/refusedOrEndedDetail",
"pages/cancelDetail/cancelDetail",
"pages/joinVolunteerOrg/joinVolunteerOrg",
"pages/volunteerOrgList/volunteerOrgList",
"pages/moreList/moreList"
]
},
{
"root": "subpages/discussion",
"name": "discussion",
"pages": [
"pages/addIssue/addIssue",
"pages/discussionDetail/discussionDetail",
"pages/publishEvaluation/publishEvaluation",
"pages/remarkOrReply/remarkOrReply",
"pages/searchDiscussion/searchDiscussion",
"pages/categoryList/categoryList",
"pages/activeApply/activeApply",
"pages/societyOrgActiveApply/societyOrgActiveApply"
],
"plugins": {
"esuaEpdcMpPlugin": {
"version": "0.1.1",
"provider": "wxdd8530c5f4926766"
}
}
},
{
"root": "subpages/mine",
"name": "mine",
"pages": [
"pages/eventDetail/eventDetail",
"pages/company/company",
"pages/companyInfo/companyInfo",
"pages/inviteRecord/inviteRecord",
"pages/gridManage/gridManage"
]
},
{
"root": "subpages/integralCentre",
"name": "integralCentre",
"pages": [
"pages/index/index",
"pages/record/record",
"pages/noticeDetail/noticeDetail",
"pages/exchangeIndex/exchangeIndex"
]
},
{
"root": "subpages/property",
"name": "property",
"pages": [
"pages/joinassociation/joinassociation",
"pages/createassociation/createassociation",
"pages/associationMember/associationMember",
"pages/associationDetail/associationDetail",
"pages/inviteFriend/inviteFriend",
"pages/incomingVerify/incomingVerify",
"pages/unpassAssociation/unpassAssociation",
"pages/topicList/topicList",
"pages/addTopic/addTopic",
"pages/topicDetail/topicDetail",
"pages/replyOrRemark/replyOrRemark",
"pages/changeToIssue/changeToIssue",
"pages/myTopic/myTopic"
]
},
{
"root": "subpages/safety",
"name": "safety",
"pages": [
"pages/index/index",
"pages/newsDetail/newsDetail",
"pages/consultIndex/consultIndex",
"pages/consultantDetail/consultantDetail",
"pages/consultantList/consultantList",
"pages/myQuestion/myQuestion",
"pages/addQuestion/addQuestion"
]
},
{
"root": "subpages/education",
"name": "education",
"pages": [
"pages/index/index",
"pages/hobby/hobby",
"pages/healthyLife/healthyLife",
"pages/class/class",
"pages/classDetail/classDetail"
]
},
{
"root": "subpages/extend",
"name": "extend",
"pages": [
"pages/vaccines/vaccines",
"pages/epidemicControl/epidemicControl",
"pages/tripReport/tripReport",
"pages/moreList/moreList"
]
},
{
"root": "subpages/communityNews",
"name": "communityNews",
"pages": [
"pages/index/index",
"pages/detail/detail"
]
},
{
"root": "subpages/status",
"name": "status",
"pages": [
"pages/brightStatus/brightStatus"
]
},
{
"root": "subpages/gridArmy",
"name": "gridArmy",
"pages": [
"pages/index/index",
"pages/communityList/communityList",
"pages/categoryList/categoryList"
]
},
{
"root": "subpages/workTodo",
"name": "workTodo",
"pages": [
"pages/index/index",
"pages/list/index",
"pages/detail/detail",
"pages/moduleList/moduleList"
]
},
{
"root": "subpages/submitAdvise",
"name": "submitAdvise",
"pages": [
"pages/activeApply/activeApply",
"pages/moreList/moreList"
]
},
{
"root": "subpages/fingertipYushan",
"name": "fingertipYushan",
"pages": [
"pages/index/index"
]
},
{
"root": "subpages/societyOrg",
"name": "societyOrg",
"pages": [
"pages/orgList/orgList",
"pages/orgDetail/orgDetail",
"pages/memberManage/memberManage",
"pages/verifyMember/verifyMember",
"pages/joinOrg/joinOrg",
"pages/memberDetail/memberDetail"
]
},
{
"root": "subpages/family",
"name": "family",
"pages": [
"pages/index/index",
"pages/bindFamily/bindFamily",
"pages/familyInfo/familyInfo",
"pages/noAccess/noAccess",
"pages/houseDetail/index",
"pages/addHouse/addHouse",
"pages/addGroupBuyPublish/addGroupBuyPublish"
]
}
],
"preloadRule": {
"pages/index/index": {
"network": "all",
"packages": [
"subpages/changegrid",
"subpages/home"
]
},
"pages/discussion/discussion": {
"network": "all",
"packages": [
"discussion"
]
},
"pages/association/association": {
"network": "all",
"packages": [
"subpages/association"
]
},
"pages/mine/mine": {
"network": "all",
"packages": [
"mine"
]
},
"pages/property/property": {
"network": "all",
"packages": [
"subpages/property"
]
}
},
{
"root": "subpages/family",
"name": "family",
"pages": [
"pages/index/index",
"pages/bindFamily/bindFamily",
"pages/familyInfo/familyInfo",
"pages/noAccess/noAccess"
]
}
],
"preloadRule": {
"pages/index/index": {
"network": "all",
"packages": [
"subpages/changegrid",
"subpages/home"
]
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle": "black"
},
"pages/discussion/discussion": {
"network": "all",
"packages": [
"discussion"
]
"usingComponents": {
"complete-info-dialog": "/components/completeInfoDialog/completeInfoDialog",
"load-more": "/components/loadMore/loadMore"
},
"pages/association/association": {
"network": "all",
"packages": [
"subpages/association"
]
"networkTimeout": {
"request": 60000
},
"pages/mine/mine": {
"network": "all",
"packages": [
"mine"
]
"permission": {
"scope.userLocation": {
"desc": "现代榆山将获取您的位置信息"
}
},
"pages/property/property": {
"network": "all",
"packages": [
"subpages/property"
]
}
},
"window": {
"backgroundTextStyle": "light",
"navigationBarBackgroundColor": "#fff",
"navigationBarTitleText": "WeChat",
"navigationBarTextStyle": "black"
},
"usingComponents": {
"complete-info-dialog": "/components/completeInfoDialog/completeInfoDialog",
"load-more": "/components/loadMore/loadMore"
},
"networkTimeout": {
"request": 60000
},
"permission": {
"scope.userLocation": {
"desc": "现代榆山将获取您的位置信息"
}
},
"sitemapLocation": "sitemap84.json",
"serviceProviderTicket": "BhBC8k6Lkgi+6uDaV2haUUUH7ZC81tEpXdNMtSxiPnrYRxkRxMu5f6gprJ5i+leAKUxHM1E5YWc3P9vtgTtu2BULafIVikYURVk="
"sitemapLocation": "sitemap84.json",
"serviceProviderTicket": "BhBC8k6Lkgi+6uDaV2haUUUH7ZC81tEpXdNMtSxiPnrYRxkRxMu5f6gprJ5i+leAKUxHM1E5YWc3P9vtgTtu2BULafIVikYURVk="
}

BIN
epdc-resident-mp-yushan/images/call.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
epdc-resident-mp-yushan/images/family/down.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 222 B

BIN
epdc-resident-mp-yushan/images/family/plus.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
epdc-resident-mp-yushan/images/family/reply.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 376 B

BIN
epdc-resident-mp-yushan/images/family/sub.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
epdc-resident-mp-yushan/images/family/user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

BIN
epdc-resident-mp-yushan/images/home/jifen.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
epdc-resident-mp-yushan/images/home/yhym.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
epdc-resident-mp-yushan/images/home/yhym.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.6 KiB

BIN
epdc-resident-mp-yushan/images/hswy.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

BIN
epdc-resident-mp-yushan/images/icon_user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 423 B

BIN
epdc-resident-mp-yushan/images/louzhang.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

BIN
epdc-resident-mp-yushan/images/mine/delete.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 752 B

BIN
epdc-resident-mp-yushan/images/mine/edit.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

BIN
epdc-resident-mp-yushan/images/mine/rmb.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1016 B

BIN
epdc-resident-mp-yushan/images/rexian.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

BIN
epdc-resident-mp-yushan/images/signed2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
epdc-resident-mp-yushan/images/unsignup.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
epdc-resident-mp-yushan/images/yhym.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
epdc-resident-mp-yushan/images/youshi.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

66
epdc-resident-mp-yushan/pages/groupBuyDetail/groupBuyDetail.js

@ -0,0 +1,66 @@
// pages/groupBuyDetail/groupBuyDetail.js
Page({
/**
* 页面的初始数据
*/
data: {
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
console.log(options);
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})

8
epdc-resident-mp-yushan/pages/groupBuyDetail/groupBuyDetail.json

@ -0,0 +1,8 @@
{
"navigationBarTitleText": "团购详情",
"usingComponents": {
"load-more": "/components/loadMore/loadMore",
"no-data": "/components/nodata/nodata",
"completeInfo-dialog": "/components/completeInfoDialog/completeInfoDialog"
}
}

95
epdc-resident-mp-yushan/pages/groupBuyDetail/groupBuyDetail.wxml

@ -0,0 +1,95 @@
<!--pages/groupBuyDetail/groupBuyDetail.wxml-->
<view class="notice-new">
<!-- -->
<view class="notice-detail">
<view class="apply-item">
<view class="item-title">{{details.groupBuyTitle}}</view>
<view class="item-content">{{details.groupBuyContent}}</view>
<view class="image-box" wx:if="{{details.groupBuyImg.length > 0}}">
<image catchtap="previewImage" data-src="{{item}}" data-imgArry="{{details.groupBuyImg}}" src="{{item}}" mode="aspectFill" wx:for="{{details.groupBuyImg}}" wx:key="index" wx:for-index="index" wx:for-item="item"/>
</view>
</view>
<view class="apply-item">
<view class="item-title">联系电话</view>
<view class="item-content item-mobile">
<view >{{details.groupBuyMobile}}</view>
<view class="call-img" bindtap="callNumber"><image src="../../images/call.png" /></view>
</view>
</view>
<view class="apply-item">
<view class="item-title">价格</view>
<view class="item-content">
<block wx:for="{{details.groupBuyPriceNumber}}" wx:key="index">
<view class="item-price">人数达到{{item.groupBuyNumber}}人团购价格为{{item.groupBuyPrice}}元/件</view>
</block>
</view>
</view>
<view class="apply-item" wx:if="{{details.pickupMethod>0}}">
<view class="item-title">取货方式</view>
<view class="item-content">
{{details.pickupMethod == 1 ? '包邮到家' : '社区送达'}}
</view>
</view>
<view class="apply-item">
<view class="item-title">截止时间</view>
<view class="item-content">
{{details.groupBuyEndTime}}
</view>
</view>
<view class="apply-item">
<view class="item-title">报名人数</view>
<view class="item-content item-mobile">
<view>{{details.groupBuyNumber}}</view>
<view class="call-img" data-status="{{details.signUpStatus}}" data-groupbuystatus="{{details.groupBuyStatus}}" bindtap="signupCall" wx:if="{{!detailType}}">
<block wx:if="{{details.groupBuyStatus == 0}}">
<image src="../../images/{{details.signUpStatus == 0 ? 'signup' : (details.signUpStatus == 1 ? 'unsignup' : 'signed2')}}.png"/>
</block>
<block wx:elif="{{details.groupBuyStatus == 4}}">
<image src="../../images/{{details.signUpStatus == 1 ? 'unsignup' : 'signed2'}}.png" wx:if="{{details.signUpStatus != 0}}"/>
</block>
<block wx:else>
<image src="../../images/signed2.png" wx:if="{{details.signUpStatus != 0}}"/>
</block>
</view>
</view>
</view>
<view class="apply-item" wx:if="{{details.cancelReason}}">
<view class="item-title">取消原因</view>
<view class="item-content">
{{details.cancelReason}}
</view>
</view>
</view>
<view class="submit" bindtap="submit" wx:if="{{detailType}}">
<image class="submit-bk" src="../../images/submit-bk.png" />
<view class="submit-text">结束团购</view>
</view>
<!-- 评价 -->
<block wx:else>
<view class="evaluate-list" wx:if="{{evaluateList.length > 0}}">
<view class="evaluate-title">评价</view>
<block wx:for="{{evaluateList}}" wx:key="index">
<view class="evaluate">
<view class="userbox">
<image class="headlogo" src="{{item.faceImg || 'https://epdc-shibei.elinkservice.cn/epdcFile/M00/00/00/CgUipV3wgl6Afm4cAAAa8QfEb00266_big.png'}}" />
<view class="userinfo">
<view class="nickname">{{item.nickname}}</view>
<view class="time">{{item.evaluationTime}}</view>
</view>
</view>
<view class="evaluate-content">{{item.evaluationContent}}</view>
<view class="evaluate-image" wx:if="{{item.evaluationContent.length > 0}}">
<image wx:for="{{item.evaluationImg}}" wx:key="imgIndex" wx:for-item="imgItem" src="{{imgItem}}" catchtap="previewImage" data-src="{{imgItem}}" data-imgArry="{{item.evaluationImg}}" mode="aspectFill"/>
</view>
</view>
<view class="evaluate-line" wx:if="{{index < evaluateList.length-1}}"></view>
</block>
</view>
<load-more loadMoreType="{{loadMoreType}}" loadMoreVisible="{{loadMoreVisible}}"></load-more>
<!-- <no-data isShow="{{nodata}}"></no-data> -->
</block>
</view>
<completeInfo-dialog
completeInfoDialogVisible="{{completeInfoDialogVisible}}">
</completeInfo-dialog>

159
epdc-resident-mp-yushan/pages/groupBuyDetail/groupBuyDetail.wxss

@ -0,0 +1,159 @@
/* pages/groupBuyDetail/groupBuyDetail.wxss */
page {
width: 100%;
height: auto;
overflow-y: auto;
background: #f7f7f7;
}
.notice-detail {
margin-bottom: 20rpx;
}
.notice-detail .apply-item {
width: 100%;
background-color: white;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
padding: 40rpx 30rpx;
margin-top: 16rpx;
box-sizing: border-box;
}
.notice-detail .apply-item .item-title {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
}
.notice-detail .apply-item .item-content {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
margin-top: 28rpx;
}
.notice-detail .apply-item .item-content .item-price {
margin-bottom: 10rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.notice-detail .apply-item .image-box {
width: 690rpx;
display: flex;
justify-content: flex-start;
align-items: center;
margin-top: 30rpx;
}
.notice-detail .apply-item .image-box image {
width: 226rpx;
height: 150rpx;
border-radius: 10rpx;
margin-right: 8rpx;
}
.notice-detail .apply-item .item-mobile {
width: 100%;
display: flex;
align-items: center;
justify-content: space-between;
}
.notice-detail .apply-item .item-mobile .call-img {
width: 176rpx;
height: 76rpx;
}
.notice-detail .apply-item .item-mobile .call-img image{
width: 100%;
height: 100%;
}
.notice-detail .apply-item .line {
width: 100%;
height: 1px;
background: #F2F2F2;
border-radius: 1px;
margin: 28rpx 0rpx;
}
/* 评价列表 start */
.evaluate-list {
background-color: #fff;
padding: 30rpx;
margin-bottom: 60rpx;
}
.evaluate-title {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
margin-bottom: 28rpx;
}
.evaluate-line {
height: 1px;
background-color: #DCDCDC;
margin: 30rpx 0;
}
.userbox {
display: flex;
justify-content: flex-start;
align-items: center;
}
.userbox .headlogo {
width: 54rpx;
height: 54rpx;
border-radius: 50%;
}
.userbox .userinfo {
margin-left: 12rpx;
}
.userbox .userinfo .nickname {
font-size: 26rpx;
font-family: PingFang SC;
font-weight: 400;
color: #333333;
}
.userbox .userinfo .time {
font-size: 20rpx;
font-family: PingFang SC;
font-weight: 500;
color: #999999;
}
.evaluate-content {
margin: 20rpx 0;
}
.evaluate-image {
display: flex;
justify-content: flex-start;
align-items: center;
}
.evaluate-image image {
width: 226rpx;
height: 150rpx;
margin-right: 12rpx;
border-radius: 10rpx;
}
/* 评价列表 end */
/* 结束团购 start */
.submit {
width: 592rpx;
height: 116rpx;
position: relative;
margin: 78rpx auto 0rpx;
}
.submit .submit-bk {
width: 100%;
height: 100%;
position: absolute;
z-index: -1;
}
.submit .submit-text {
font-size: 34rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
height: 100rpx;
line-height: 100rpx;
text-align: center;
}
/* 结束团购 end */

58
epdc-resident-mp-yushan/pages/index/index.js

@ -29,18 +29,12 @@ Page({
communityNewsList: [],
currentIndex: 0,
moduleList: [
// {
// icon:
// 'https://epdc-yushan.elinkservice.cn/files-pro/20211009/db9d4408de344c419bb22be21ba163b9.png',
// tip: '积分排名',
// module: 'pointRank',
// },
{
icon:'../../images/my-home.png',
tip: '一户一码',
module: 'pointRank',
imgHeightFlag:true
},
{
icon:'../../images/home/yhym.png',
tip: '一户一码',
module: 'house',
imgHeightFlag:true
},
{
icon:
'https://epdc-yushan.elinkservice.cn/files-pro/20220324/118ea106d9ed40978f3e23cc51b43119.png',
@ -48,18 +42,24 @@ Page({
tip: '指尖榆山',
module: 'fingerYushan',
},
//志愿服务
{
icon:
'https://epdc-yushan.elinkservice.cn/files-pro/20211009/db945b5cc30147df80923f6c5928074f.png',
tip: '志愿服务',
'../../images/hswy.png',
tip: '红色物业',
module: 'volunteerService',
},
{
icon:
'https://epdc-yushan.elinkservice.cn/files-pro/20220324/1083316800d948b4a8a4206dcb857722.png',
tip: '个人中心',
module: 'personalCenter',
icon:'../../images/home/jifen.png',
tip: '积分排名',
module: 'pointRank',
},
// {
// icon:
// 'https://epdc-yushan.elinkservice.cn/files-pro/20220324/1083316800d948b4a8a4206dcb857722.png',
// tip: '个人中心',
// module: 'personalCenter',
// },
// {
// icon:
// 'https://epdc-yushan.elinkservice.cn/files-pro/20211009/ccbab2a8a4a847548a72972770009576.png',
@ -450,7 +450,7 @@ Page({
wx.navigateTo({
url: '/subpages/gridArmy/pages/communityList/communityList',
})
} else if (module === 'pointRank') {
} else if (module === 'house') {
if (!this.data.identityNo) {
wx.showToast({
title: '请先扫描房屋码,绑定家庭',
@ -480,9 +480,9 @@ Page({
// url: '/subpages/family/pages/index/index',
// })
} else if (module === 'volunteerService') {
wx.navigateTo({
url: '/pages/heart/heart',
})
// wx.navigateTo({
// url: '/pages/heart/heart',
// })
} else if (module === 'societyOrg') {
wx.navigateTo({
url: '/subpages/societyOrg/pages/orgList/orgList',
@ -495,7 +495,11 @@ Page({
wx.navigateTo({
url: '/pages/mine/mine'
})
}
} else if (module === 'pointRank') {
wx.navigateTo({
url: '/subpages/integralCentre/pages/index/index'
})
}
},
// 获取最新社区资讯
contentList() {
@ -639,7 +643,8 @@ Page({
tabList.push({ label: item.typeName, value: item.id })
})
this.setData({
tabList: [...[{ label: '最新资讯', value: '' }], ...tabList],
// , ...tabList
tabList: [...[{ label: '最新资讯', value: '' }]],
})
})
.catch((err) => {
@ -718,5 +723,10 @@ Page({
url: `/subpages/workTodo/pages/moduleList/moduleList?pid=1554022062541422594&typeCode=RDDB&name=风采录&style=2`,
})
console.log('wwwww')
},
navigateToMine(){
wx.navigateTo({
url: '/pages/mine/mine'
})
}
})

23
epdc-resident-mp-yushan/pages/index/index.wxml

@ -2,7 +2,13 @@
<view class="header" style="height: {{statusHeight + navigationHeight}}px;">
<!-- <image class="header-bg" src="https://epdc-kongcun.elinkit.com.cn/epdcFile/M00/00/06/rBAB7160-w6AJBH6AAAk6D4lsPc207.png" /> -->
<view class="navigation" style="height: {{navigationHeight}}px; top: {{statusHeight}}px;">
<image src="https://epdc-yushan.elinkservice.cn/files-pro/20220324/9be8371ee12d40f79be7974cdc6d79f5.png" />
<view class="header-left" bindtap="navigateToMine">
<image src="../../images/icon_user.png"></image> 个人中心
</view>
<view class="hedaer-center">
<image src="https://epdc-yushan.elinkservice.cn/files-pro/20220324/9be8371ee12d40f79be7974cdc6d79f5.png" />
</view>
<view></view>
</view>
</view>
<view class="home" style="margin-top: {{statusHeight + navigationHeight}}px">
@ -103,21 +109,21 @@
</view> -->
<view class="grid-list">
<view class="grid-item-left">
<image class="grid-item-left-1" src="https://epdc-yushan.elinkservice.cn/files-pro/20220323/4b9bb24aa8e3477fb946225b86bf251b.png" bindtap="callPhone" data-phone="{{servicePhone}}"/>
<image class="grid-item-left-1" src="../../images/rexian.png" bindtap="callPhone" data-phone="{{servicePhone}}"/>
</view>
<view class="grid-item-right">
<image class="grid-item-right-1" src="https://epdc-yushan.elinkservice.cn/files-pro/20220323/cb34833d541a4255abf84a7c82a0ff96.png" bindtap="navigateToDiscussion"/>
<image class="grid-item-right-2" src="https://epdc-yushan.elinkservice.cn/files-pro/20220323/6889b62a3b8c4cdc92d14751990ce8f3.png" data-module="gridArmy" bindtap="navigateToModule" style="margin-top: 2rpx;"/>
<image class="grid-item-right-1" src="../../images/youshi.png" bindtap="navigateToDiscussion"/>
<image class="grid-item-right-2" src="../../images/louzhang.png" data-module="gridArmy" bindtap="navigateToModule" style="margin-top: 2rpx;"/>
</view>
</view>
<view class="new-22-8-1" bindtap="goNews_8_1">
<!-- <view class="new-22-8-1" bindtap="goNews_8_1">
<image src="../../images/home/fcl.jpg" />
</view>
</view> -->
<!-- 积分排名、指尖榆山、网格队伍、志愿服务、社会组织模块 -->
<view class="module-list">
<view hover-class="hover-module-item" hover-stay-time="150" class="module-item" wx:for="{{moduleList}}" wx:key="index" wx:for-item="item" data-module="{{item.module}}" bindtap="navigateToModule">
<view class="icon">
<image class="{{item.imgHeightFlag?'house_img':''}}" src="{{item.icon}}" />
<image class="{{index == 0?'imgageRight':''}}" src="{{item.icon}}" />
</view>
<view class="tip">{{item.tip}}</view>
</view>
@ -127,7 +133,8 @@
<view class="community-news">
<scroll-view scroll-x="{{true}}" scroll-with-animation="{{true}}" scroll-into-view="{{currentView}}">
<view class="tab-list">
<view id="{{'item' + item.value}}" hover-class="item-hover" hover-stay-time="250" class="tab-item {{currentTab === item.value ? 'active' : ''}}" wx:for="{{tabList}}" wx:key="index" wx:for-item="item" wx:for-index="index" bindtap="changeTab" data-tab="{{item.value}}">
<!-- bindtap="changeTab" -->
<view id="{{'item' + item.value}}" hover-class="item-hover" hover-stay-time="250" class="tab-item {{currentTab === item.value ? 'active' : ''}}" wx:for="{{tabList}}" wx:key="index" wx:for-item="item" wx:for-index="index" data-tab="{{item.value}}">
{{item.label}}
<!-- <view class="select-tab"></view> -->
</view>

54
epdc-resident-mp-yushan/pages/index/index.wxss

@ -28,18 +28,36 @@ page {
width: 100%;
display: flex;
align-items: center;
justify-content: center;
justify-content: space-between;
color: rgba(255, 255, 255, 0.9);
font-size: 32rpx;
position: relative;
z-index: 100;
letter-spacing: 2rpx;
}
.header .navigation image {
.header .navigation view {
width: 33%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
/* .header .navigation image {
width: 150rpx;
height: 50rpx;
} */
.header .navigation .header-left {
justify-content: left;
}
.header .navigation hedaer-center image{
width: 150rpx;
height: 50rpx;
}
.header .navigation .header-left image{
width: 24rpx;
height: 30rpx;
margin: 0 14rpx 0 22rpx;
}
.belong-grid {
width: 100%;
height: 70rpx;
@ -369,7 +387,27 @@ page {
padding: 24rpx 20rpx 30rpx;
background: #ffF;
}
.module-list .pointRank{
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
font-size: 13px;
padding: 30rpx;
}
.module-list .pointRank .icon {
width: 150rpx;
height: 150rpx;
}
.module-list .pointRank .icon image {
width: 100%;
height: 100%;
float: left;
}
.imgageRight{
position: relative;
right: -8rpx;
}
.module-list .module-item {
display: flex;
flex-direction: column;
@ -492,10 +530,10 @@ image {
margin-right: 50rpx;
}
.module-list .module-item .icon .house_img {
width: 100% !important;
height: 90% !important;
position: relative;
top: 8rpx;
/* width: 150% ;
height: 150% ; */
/* position: relative;
top: 8rpx; */
}
.news-list .list-item .detail {

82
epdc-resident-mp-yushan/pages/mine/components/deleteHouse/deleteHouse.js

@ -0,0 +1,82 @@
// pages/mine/components/deleteHouse/deleteHouse.js
const api = require('../../../../utils/api')
Page({
/**
* 页面的初始数据
*/
data: {
id:''
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.setData({
id:options.id
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
handelClickClose(){
wx.navigateBack()
},
handelClickBack(){
api.deleteHouse(this.data.id).then(res=>{
if(res.code==0){
wx.navigateBack()
}
}).catch(err=>{
console.log(err);
})
}
})

5
epdc-resident-mp-yushan/pages/mine/components/deleteHouse/deleteHouse.json

@ -0,0 +1,5 @@
{
"usingComponents": {},
"navigationBarTitleText": "删除房屋"
}

11
epdc-resident-mp-yushan/pages/mine/components/deleteHouse/deleteHouse.wxml

@ -0,0 +1,11 @@
<!--pages/mine/components/deleteHouse/deleteHouse.wxml-->
<view class="message">
<view class="message_center">
<view>提示</view>
<view>确定删除此条房屋信息吗?</view>
<view class="btn_box">
<button bindtap="handelClickClose" style="background-color: #fff;color:#a4adb3;">取 消</button>
<button bindtap="handelClickBack">确 定</button>
</view>
</view>
</view>

39
epdc-resident-mp-yushan/pages/mine/components/deleteHouse/deleteHouse.wxss

@ -0,0 +1,39 @@
/* pages/mine/components/deleteHouse/deleteHouse.wxss */
.message{
background-color: #8c8c8c;
width: 100%;
height: 100%;
position: absolute;
display: flex;
justify-content: center;
align-items: center;
top: 0;
left: 0;
}
.message .message_center{
margin: 0 auto;
background-color: #fff;
display: flex;
width: 80%;
flex-direction: column;
justify-content: space-around;
align-items: center;
padding: 20rpx 50rpx;
}
.message .message_center view{
margin-top: 40rpx;
}
.message .message_center button{
background-color: #a4adb3;
color: #fff;
margin-top: 40rpx;
width:180rpx;
height: 60rpx;
line-height: 60rpx;
font-size: 32rpx;
margin-left: 30rpx;
}
.btn_box{
display: flex;
justify-content: space-around;
}

44
epdc-resident-mp-yushan/pages/mine/components/houseItem/houseItem.js

@ -0,0 +1,44 @@
const app = getApp()
Component({
data: {
imagesList: [],
btnList:[{btnName:'已售',imgUrl:'../../../../images/mine/rmb.png',type:'rmb'},{btnName:'删除',imgUrl:'../../../../images/mine/delete.png',type:'delete'},{btnName:'编辑',imgUrl:'../../../../images/mine/edit.png',type:'edit'},],
},
properties: {
houseobj: {
type: Object,
value: {}
}
},
methods: {
toDetail (e) {
this.triggerEvent('toHouseDetail',{ houseobj: this.data.houseobj})
},
previewImage (e) {
app.globalData.previewImage = true
wx.previewImage({
urls: this.data.projectObj.images,
current: e.currentTarget.dataset.src
})
},
handelClickBtn(e){
if(e.currentTarget.dataset.type == 'edit'){
let str = encodeURIComponent(JSON.stringify(this.data.houseobj))
wx.navigateTo({
url: '/subpages/family/pages/addHouse/addHouse?name=编辑&houseobj='+str,
})
}else if(e.currentTarget.dataset.type == 'delete'){
wx.navigateTo({
url: '/pages/mine/components/deleteHouse/deleteHouse?id=' + this.data.houseobj.id
})
} else if(e.currentTarget.dataset.type == 'rmb'){
console.log('点击已售');
}
}
},
observers:{
'houseobj':function(val){
}
}
})

3
epdc-resident-mp-yushan/pages/mine/components/houseItem/houseItem.json

@ -0,0 +1,3 @@
{
"component": true
}

34
epdc-resident-mp-yushan/pages/mine/components/houseItem/houseItem.wxml

@ -0,0 +1,34 @@
<!--pages/mine/components/houseItem/houseItem.wxml-->
<view>
<view class="housePrice-list" >
<view class="housePrice-content" >
<view bindtap="toDetail" data-item="item">
<view class="housePrice-header">
<image src="../../../../images/family/user.png"></image>
<view class="housePrice-header-name">
<view class="housePrice-header-top">
<text class="address">{{houseobj.address}}</text>
<view class="tags">{{houseobj.houseStatusDisplay}}
</view>
<text class="date">{{houseobj.createdData}}</text>
</view>
<view class="price">{{houseobj.price}}</view>
</view>
</view>
<view class="housePrice-body"> {{houseobj.description}}</view>
<view class="housePrice-images">
<image wx:for="{{houseobj.photoList}}" src="{{item}}"></image>
</view>
</view>
<view class="btn_view">
<view wx:for="{{btnList}}" bindtap="handelClickBtn" data-type="{{item.type}}" wx:key="index">
<image src="{{item.imgUrl}}"></image>
<text>{{item.btnName}}</text>
</view>
</view>
</view>
</view>
</view>

95
epdc-resident-mp-yushan/pages/mine/components/houseItem/houseItem.wxss

@ -0,0 +1,95 @@
.housePrice-list{
background-color: #fff;
margin-top: 20rpx;
}
.housePrice-list .housePrice-content .housePrice-header{
display: flex;
background-color: #fff;
box-sizing: border-box;
padding: 10rpx 20rpx;
border-radius: 5rpx 5rpx 0 0 ;
}
.housePrice-list .housePrice-content .housePrice-body{
padding: 0 20rpx;
}
.housePrice-list .housePrice-content .housePrice-header image{
width: 100rpx;
height: 100rpx;
}
.housePrice-list .housePrice-content .housePrice-header .housePrice-header-name {
display: flex;
flex-direction: column;
justify-content: center;
padding:0 0 0 20rpx;
flex: 1;
}
.housePrice-images{
display: flex;
justify-content: left;
padding: 20rpx 20rpx 0rpx 0rpx;
background-color: #fff;
height: 230rpx;
margin: 0 30rpx;
border-radius: 0 0 5rpx 5rpx;
}
.housePrice-header-top{
display: flex;
justify-content: space-between;
align-items: center;
}
.housePrice-header-top .tags{
background-color: #fff0e2;
color:#ffa822 ;
padding: 0rpx 20rpx;
font-size: 24rpx;
border-radius: 8rpx;
box-sizing: border-box;
margin-left: 20rpx;
height: 40rpx;
line-height: 40rpx;
}
.housePrice-header-name .price{
color: #e74636;
}
.housePrice-header-top .address {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
line-height: 63rpx;
max-width: 250rpx;
}
.housePrice-header-top .date{
color: #757775;
flex: 1;
text-align: right;
overflow: hidden;
height: 63rpx;
line-height: 63rpx;
}
.housePrice-images image{
margin-left: 20rpx;
border-radius: 5rpx;
float: left;
height: 207rpx;
width: 202rpx;
}
.btn_view{
width: 100%;
height: 100rpx;
display: flex;
align-items: center;
justify-content: space-around;
}
.btn_view view{
display: flex;
align-items: center;
/* height: 42rpx;
line-height: 42rpx; */
}
.btn_view image{
width: 32rpx;
height: 32rpx;
margin-right:20rpx ;
}

34
epdc-resident-mp-yushan/pages/mine/mine.js

@ -11,6 +11,7 @@ Page({
issueList: [],
projectList: [],
topicList: [],
houseList:[],
nomoreVisible: false,
nomoreStatus: 'loading',
preloadVisible: true,
@ -32,6 +33,7 @@ Page({
})
},
onShow() {
if (!app.globalData.previewImage) {
this.data.pageNo = 1
this.data.pageSize = 10
@ -46,6 +48,8 @@ Page({
this.getProjectList()
} else if (this.data.selectedTabBar === 'topic') {
this.getTopicList()
} else if (this.data.selectedTabBar === 'house') {
this.loadMoreHouseList()
}
}
app.globalData.previewImage = false
@ -69,7 +73,10 @@ Page({
if (this.data.nomoreStatus === 'loading') {
this.data.pageNo = this.data.pageNo + 1
this.loadMoreProjectList()
} else {
} else if (this.data.selectedTabBar === 'house') {
this.data.pageNo = this.data.pageNo + 1
this.loadMoreHouseList()
} else{
this.setData({
nomoreVisible: true,
})
@ -93,10 +100,13 @@ Page({
this.getProjectList()
} else if (e.currentTarget.dataset.type === 'topic') {
this.getTopicList()
}else if (e.currentTarget.dataset.type === 'house'){
this.loadMoreHouseList()
}
this.setData({
selectedTabBar: e.currentTarget.dataset.type,
})
console.log(this.data.selectedTabBar);
},
// 获取 我的话题列表
getTopicList() {
@ -233,6 +243,22 @@ Page({
console.log(err)
})
},
// 获取 我的房屋列表 上拉加载
loadMoreHouseList(){
let parms = {
pageNum:this.data.pageNo,
pageSize:this.data.pageSize
}
api.getmypublishedlist(parms).then(res=>{
this.setData({
nomoreStatus: res.data.length === 10 ? 'loading' : 'none',
houseList:res.data.list,
preloadVisible: false,
})
}).catch(err=>{
console.log(err);
})
},
// 获取用户信息
getUserInfo() {
api
@ -354,4 +380,10 @@ Page({
})
}
},
toHouseDetail(e){
let str = encodeURIComponent(JSON.stringify(e.detail.houseobj))
wx.navigateTo({
url: '/subpages/family/pages/houseDetail/index?houseObj='+str
})
},
})

1
epdc-resident-mp-yushan/pages/mine/mine.json

@ -4,6 +4,7 @@
"issue-item": "./components/issueItem/issueItem",
"preload-issue-item": "./components/preloadIssueItem/preloadIssueItem",
"project-item": "./components/projectItem/projectItem",
"house-item": "./components/houseItem/houseItem",
"preload-project-item": "./components/preloadProjectItem/preloadProjectItem",
"topic-item": "./components/topicItem/topicItem",
"preload-topic-item": "./components/preloadTopicItem/preloadTopicItem",

19
epdc-resident-mp-yushan/pages/mine/mine.wxml

@ -50,7 +50,7 @@
<view class="bright-status">
<image src="../../images/mine/bright-status-bac.png" class="bright-status-bac" />
<view class="bright-status-text" bind:tap="navigateToStatus" wx:if="{{userInfo.showIdentityFlag=='0'}}">点亮徽章</view>
<view bind:tap="navigateToStatus">
<view bind:tap="navigateToStatus" wx:if="{{userInfo.showIdentityFlag==1||userInfo.showIdentityFlag==2}}" >
<image src="../../images/mine/yiliangshenfen.png" class="bianji" wx:if="{{userInfo.showIdentityFlag==1}}" />
<image src="../../images/mine/right.png" class="right-icon" wx:if="{{userInfo.showIdentityFlag==1}}" />
</view>
@ -65,7 +65,10 @@
<view class="type {{selectedTabBar === 'topic' ? 'selected-topic' : ''}}" data-type="topic" hover-class="hover-tabbar" hover-stay-time="300" bindtap="chooseTabBar">
我的话题
</view>
<view class="select-bar {{selectedTabBar === 'issue' ? 'selected-issue' : selectedTabBar === 'project' ? 'selected-project' : selectedTabBar === 'topic' ? 'selected-topic' : ''}}"></view>
<view class="type {{selectedTabBar === 'house' ? 'selected-house' : ''}}" data-type="house" hover-class="hover-tabbar" hover-stay-time="300" bindtap="chooseTabBar">
我的房屋
</view>
<view class="select-bar {{selectedTabBar === 'issue' ? 'selected-issue' : selectedTabBar === 'project' ? 'selected-project' : selectedTabBar === 'topic' ? 'selected-topic' :selectedTabBar === 'house' ? 'selected-house':''}}"></view>
</view>
<view class="issue-list" wx:if="{{selectedTabBar === 'issue'}}">
<block wx:if="{{issueList.length === 0 && preloadVisible}}">
@ -113,6 +116,18 @@
<view class="tip">快到“左邻右舍”,到您的群里发布吧</view>
</view>
</view>
<view class="topic-list" wx:elif="{{selectedTabBar === 'house'}}">
<block wx:if="{{houseList.length === 0 && preloadVisible}}">
<preload-topic-item wx:for="{{[1]}}" wx:key="index" wx:for-index="index"></preload-topic-item>
</block>
<block wx:if="{{houseList.length > 0}}">
<house-item wx:for="{{houseList}}" houseobj="{{item}}" bind:toHouseDetail="toHouseDetail" wx:key="index"></house-item>
</block>
<view class="topic-nodata" wx:if="{{houseList.length === 0 && !preloadVisible}}">
<image class="no-data" src="../../images/mine/topic-nodata.png" />
<view class="tip">您还未发布房屋</view>
</view>
</view>
<load-more loadMoreVisible="{{nomoreVisible}}" loadMoreType="{{nomoreStatus}}"></load-more>
</view>
<completeInfo-dialog completeInfoDialogVisible="{{completeInfoDialogVisible}}"></completeInfo-dialog>

16
epdc-resident-mp-yushan/pages/mine/mine.wxss

@ -240,7 +240,10 @@ page {
color: #F82525;
font-weight: bolder;
}
.tab-bar .type.selected-house {
color: #F82525;
font-weight: bolder;
}
.tab-bar .select-bar {
position: absolute;
bottom: 0;
@ -253,20 +256,23 @@ page {
}
.tab-bar .select-bar.selected-issue {
left: 11%;
left: 8%;
transition: left 0.5s ease;
}
.tab-bar .select-bar.selected-project {
left: 44.5%;
left: 32%;
transition: left 0.5s ease;
}
.tab-bar .select-bar.selected-topic {
left: 78%;
left: 57%;
transition: left 0.5s ease;
}
.tab-bar .select-bar.selected-house {
left: 82%;
transition: left 0.5s ease;
}
.issue-list {
width: 100%;
box-sizing: border-box;

3
epdc-resident-mp-yushan/project.config.json

@ -40,7 +40,8 @@
"showES6CompileOption": false,
"useCompilerPlugins": false,
"ignoreUploadUnusedFiles": true,
"useStaticServer": true
"useStaticServer": true,
"minifyWXML": true
},
"compileType": "miniprogram",
"libVersion": "2.10.4",

10
epdc-resident-mp-yushan/project.private.config.json

@ -56,9 +56,17 @@
"pathName": "subpages/extend/pages/epidemicControl/epidemicControl",
"query": "",
"scene": null
},
{
"name": "",
"pathName": "subpages/appeal/pages/noAccess/noAccess",
"query": "",
"launchMode": "default",
"scene": null
}
]
}
},
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html"
"description": "项目私有配置文件。此文件中的内容将覆盖 project.config.json 中的相同字段。项目的改动优先同步到此文件中。详见文档:https://developers.weixin.qq.com/miniprogram/dev/devtools/projectconfig.html",
"projectname": "%25E7%258E%25B0%25E4%25BB%25A3%25E6%25A6%2586%25E5%25B1%25B1-%25E5%25B1%2585%25E6%25B0%2591%25E7%25AB%25AF"
}

BIN
epdc-resident-mp-yushan/subpages/family/images/icon_close.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

BIN
epdc-resident-mp-yushan/subpages/family/images/ig_tianjiatupian@2x.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

BIN
epdc-resident-mp-yushan/subpages/family/images/loading.gif

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

BIN
epdc-resident-mp-yushan/subpages/family/images/submit-bk.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.6 KiB

BIN
epdc-resident-mp-yushan/subpages/family/images/user.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 443 B

452
epdc-resident-mp-yushan/subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.js

@ -0,0 +1,452 @@
// subpages/heart/pages/groupBuyPublish/groupBuyPublish.js
import { $wuxActionSheet } from "../../../../dist/index"
import { getTimestamp } from '../../../../utils/common'
const api = require("../../utils/api")
const config = require("../../../../utils/config")
Page({
/**
* 页面的初始数据
*/
data: {
dialogVisible: false, //提示框
showPicker: false, //是否显示底部时间选择器插件
dataForm: {
id: '', //主键 更新时携带
groupBuyTitle: '', //标题
groupBuyContent: '', //内容
groupBuyEndTime: '', //截止时间
groupBuyMobile: '', //手机
groupBuyPriceNumber: [
{
groupBuyNumber: '',
groupBuyPrice: ''
}
], //groupBuyNumber, groupBuyPrice 团购价格人数(最多五条)
groupBuyImg: [], //团购图片(最多三张)
pickupMethod: 0, //取货方式:1-包邮到家,2-社区送达
},
violationsCount: 0, //内容审核计数
isConReview: false, //内容审核标志
lock: false, //锁定发布按钮状态,防止连击
uploadImageList: [],
imageId: 0,
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
this.setData({
'dataForm.id': options.id || ''
})
if (options.id) {
this.initDataForm()
}
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady: function () {
},
/**
* 生命周期函数--监听页面显示
*/
onShow: function () {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide: function () {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload: function () {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh: function () {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom: function () {
},
/**
* 用户点击右上角分享
*/
// onShareAppMessage: function () {
// }
onInputGroupBuyTitle (e) {
this.setData({
'dataForm.groupBuyTitle': e.detail.value
})
},
onInputGroupBuyNumber (e) {
let index = e.currentTarget.dataset.index
this.data.dataForm.groupBuyPriceNumber[index].groupBuyNumber = parseInt(e.detail.value)
this.setData({
'dataForm.groupBuyPriceNumber': this.data.dataForm.groupBuyPriceNumber
})
},
onInputGroupBuyPrice (e) {
let index = e.currentTarget.dataset.index
if (/^(\d?)+(\.\d{0,2})?$/.test(e.detail.value)) {
this.data.dataForm.groupBuyPriceNumber[index].groupBuyPrice = e.detail.value;
} else {
this.data.dataForm.groupBuyPriceNumber[index].groupBuyPrice = e.detail.value.substring(0, e.detail.value.length - 1);
}
this.setData({
'dataForm.groupBuyPriceNumber': this.data.dataForm.groupBuyPriceNumber
})
},
onInputGroupBuyMobile (e) {
this.setData({
'dataForm.groupBuyMobile': e.detail.value
})
},
onInputContent (e) {
this.setData({
'dataForm.groupBuyContent': e.detail.value
})
},
addPriceItem () {
this.data.dataForm.groupBuyPriceNumber.push({groupBuyNumber:'',groupBuyPrice:''})
this.setData({
'dataForm.groupBuyPriceNumber': this.data.dataForm.groupBuyPriceNumber
})
},
minusPriceItem (e) {
let index = e.currentTarget.dataset.index
this.data.dataForm.groupBuyPriceNumber.splice(index, 1)
this.setData({
'dataForm.groupBuyPriceNumber': this.data.dataForm.groupBuyPriceNumber
})
},
pickerCancel () {
console.log('取消日期选择')
this.setData({
showPicker: false,
'dataForm.groupBuyEndTime': ''
})
},
pickerConfirm (e) {
console.log('选择日期', e.detail.time)
if (e.detail.time < getTimestamp()) {
this.showToast("截止时间应该大于当前时间")
} else {
this.setData({
showPicker: false,
'dataForm.groupBuyEndTime': e.detail.time
})
}
},
//日期选择插件显示入口
selectTime (e) {
this.data.showPicker = !this.data.showPicker
this.setData({
showPicker: this.data.showPicker,
'dataForm.groupBuyEndTime': this.data.dataForm.groupBuyEndTime || getTimestamp()
})
},
//选择取货方式
pickupMethodChange (e) {
this.setData({
'dataForm.pickupMethod': parseInt(e.detail.value)
})
},
//发布
submitApply () {
if (this.data.lock) {
return false
}
console.log(this.data.dataForm.pickupMethod)
if (!this.data.dataForm.groupBuyTitle.trim('')) {
this.showToast("请填标题")
return false
}
if (this.data.dataForm.groupBuyTitle.length>50) {
this.showToast("标题限制在50字以内")
return false
}
if (!this.data.dataForm.pickupMethod) {
this.showToast("请选择取货方式")
return false
}
if (!this.data.dataForm.groupBuyEndTime) {
this.showToast("请填写截止时间")
return false
}
if (!this.data.dataForm.groupBuyContent.trim('')) {
this.showToast("请填写团购内容")
return false
}
if (this.data.dataForm.groupBuyContent.length>500) {
this.showToast("团购内容限制在500字以内")
return false
}
if (!this.data.dataForm.groupBuyPriceNumber[0].groupBuyNumber || !this.data.dataForm.groupBuyPriceNumber[0].groupBuyPrice) {
this.showToast("至少填写一条价格说明")
return false
}
if (!this.data.dataForm.groupBuyMobile.trim('')) {
this.showToast("请填写联系电话")
return false
}
if (this.data.dataForm.groupBuyMobile.length>20) {
this.showToast("联系电话限制在20字以内")
return false
}
wx.showLoading({
title: "发布中",
})
const imagesList = []
if (this.data.uploadImageList.length > 0) {
const isUploadDown = this.data.uploadImageList.some(item => !item.uploaded)
if (isUploadDown) {
wx.showToast({
title: "请等待图片上传完成",
icon: "none",
duration: 1000
})
return false
}
}
if (this.data.uploadImageList.length > 0) {
this.data.uploadImageList.forEach(item => {
imagesList.push(item.ossUrl)
})
}
this.data.dataForm.groupBuyPriceNumber.forEach(item => {
item.groupBuyPrice = parseFloat(item.groupBuyPrice)
})
this.setData({
lock: true
})
const para = { ...this.data.dataForm }
para.isConReview = this.data.isConReview
para.groupBuyImg = imagesList
console.log('submit', para)
let that = this
api.groupBuyUpdate(para).then(res => {
this.setData({
lock: false
})
if(res.code == 0) {
wx.hideLoading()
this.setData({
dialogVisible: !this.data.dialogVisible,
'dataForm.groupBuyTitle': '',
violationsCount: 0,
isConReview: false
})
} else if (res.code == 533) {
wx.hideLoading()
this.data.violationsCount++
console.log(this.data.violationsCount)
if (this.data.violationsCount == 1){
wx.showToast({
title: res.msg,
icon: "none",
duration: 2000
})
} else if (this.data.violationsCount == 2) {
wx.hideLoading()
wx.showModal({
title: '提示',
content: '您提交的内容再次被判定为违规,您确定是否要提交?',
success (res) {
if (res.confirm) {
console.log('用户点击确定')
that.data.isConReview = true
that.submitApply()
} else if (res.cancel) {
console.log('用户点击取消')
that.setData({
violationsCount: 0,
isConReview: false
})
}
}
})
}
}
}).catch(err => {
console.log('err',err)
wx.hideLoading()
this.setData({
lock: false
})
})
},
initDataForm () {
wx.showLoading({
title: '加载中...'
})
api.getGroupBuyDetail(this.data.dataForm.id).then(res => {
wx.hideLoading()
res.data.groupBuyImg.forEach( (item, index) => {
let ob = {
imageId: index,
ossUrl: item,
imgUrl: item,
uploaded: true
}
this.data.uploadImageList.push(ob)
})
this.setData({
dataForm: res.data,
uploadImageList: this.data.uploadImageList
})
console.log(this.data.uploadImageList)
})
},
//简化提示
showToast (title) {
wx.showToast({
title: title,
icon: "none",
duration: 2000
})
},
// 关闭弹框
closeDialog () {
wx.navigateBack({
delta: 1
})
},
// 弹框确定按钮
confirmDialog () {
wx.navigateBack({
delta: 1
})
},
// 删除选中的图片
deleteImage (e) {
console.log(e.currentTarget.dataset.imageid);
const index = this.data.uploadImageList.findIndex(item => item.imageId === e.currentTarget.dataset.imageid)
if (index > -1) {
this.data.uploadImageList.splice(index, 1)
this.setData({
uploadImageList: this.data.uploadImageList
})
}
},
// 选择图片 上传弹窗 - 上传图片方式 - 选择图片 - 上传图片 - 回调赋值
chooseImage () {
const _this = this
$wuxActionSheet().showSheet({
buttons: [
{ text: "拍照" },
{ text: "从相册中获取" },
],
className: "dialog-class",
buttonClicked (index) {
if (index === 0) {
wx.chooseImage({
count: 1,
sizeType: ["original", "compressed"],
sourceType: ["camera"],
success (res) {
const uploadImageList = [..._this.data.uploadImageList]
uploadImageList.push({
uploaded: false,
ossUrl: "",
imgUrl: res.tempFilePaths[0],
imageId: ++_this.data.imageId
})
_this.setData({
uploadImageList
})
wx.uploadFile({
url: `${config.BASEURL()}group/topic/upload`,
filePath: res.tempFilePaths[0],
name: "file",
header: {
"Content-type": "multipart/form-data"
},
success (fileRes){
uploadImageList[uploadImageList.length - 1].uploaded = true
uploadImageList[uploadImageList.length - 1].ossUrl = JSON.parse(fileRes.data).data
_this.setData({
uploadImageList
})
}
})
}
})
} else if (index === 1) {
wx.chooseImage({
count: 3 - _this.data.uploadImageList.length,
sizeType: ["original", "compressed"],
sourceType: ["album"],
success (res) {
const uploadImageList = []
const endIndex = _this.data.uploadImageList.length
res.tempFilePaths.forEach(item => {
uploadImageList.push({
uploaded: false,
ossUrl: "",
imgUrl: item,
imageId: ++_this.data.imageId
})
})
_this.setData({
uploadImageList: [..._this.data.uploadImageList,...uploadImageList]
})
uploadImageList.forEach((item, index) => {
return (function (index) {
wx.uploadFile({
url: `${config.BASEURL()}group/topic/upload`,
filePath: res.tempFilePaths[index],
name: "file",
header: {
"Content-type": "multipart/form-data"
},
success (fileRes){
uploadImageList[index].uploaded = true
uploadImageList[index].ossUrl = JSON.parse(fileRes.data).data
_this.data.uploadImageList = _this.data.uploadImageList.slice(0, endIndex)
_this.setData({
uploadImageList: [..._this.data.uploadImageList, ...uploadImageList]
})
}
})
})(index)
})
}
})
}
console.log(this.data.imageId);
return true
},
cancelText: "取消",
cancel () {},
destructiveButtonClicked () {},
})
},
})

7
epdc-resident-mp-yushan/subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.json

@ -0,0 +1,7 @@
{
"navigationBarTitleText": "发布",
"usingComponents": {
"date-time-picker": "../../../../components/DateTimePicker/index",
"wux-actionsheet": "../../../../dist/actionsheet/index"
}
}

67
epdc-resident-mp-yushan/subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.wxml

@ -0,0 +1,67 @@
<!--subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.wxml-->
<view class="my-apply">
<view class="content">
<view class="apply-item">
<view class="item-title">标题</view>
<input type="text" class="item-content" placeholder="请输入标题" value="{{dataForm.groupBuyTitle}}" bindinput="onInputGroupBuyTitle"></input>
</view>
<!-- <view class="apply-item">
<view class="item-title">团购时间</view>
<view class="select-time" bindtap="selectTime">{{dataForm.groupBuyTime||'请选择时间'}}</view>
</view> -->
<view class="apply-item">
<view class="item-title" style="margin-top:20rpx">内容</view>
<textarea class="item-content text-content" maxlength="500" placeholder="请输入内容" value="{{dataForm.groupBuyContent}}" bindinput="onInputContent">
<!-- <span class="text-length">{{dataForm.groupBuyContent.length}}/500</span> -->
</textarea>
<view class="image-list">
<view class="image-item" wx:for="{{uploadImageList}}" wx:for-index="index" wx:for-item="item" wx:key="imageId">
<image class="issue-image" src="{{item.imgUrl}}" />
<image wx:if="{{!item.uploaded}}" class="loading" src="../../images/loading.gif" />
<image bindtap="deleteImage" data-imageid="{{item.imageId}}" class="close" wx:else src="../../images/icon_close.png" />
</view>
<image wx:if="{{uploadImageList.length < 3}}" src="../../images/ig_tianjiatupian@2x.png" bindtap="chooseImage" />
</view>
</view>
<view class="apply-item">
<view class="item-title">价格</view>
<view class="price-item" wx:for="{{dataForm.groupBuyPriceNumber}}" wx:key="index">
<view class="tip">人数达到</view>
<input type="number" value="{{item.groupBuyNumber}}" data-index="{{index}}" bindinput="onInputGroupBuyNumber"></input>
<view class="tip">人团购价格为</view>
<input type="digit" value="{{item.groupBuyPrice}}" data-index="{{index}}" bindinput="onInputGroupBuyPrice"></input>
<view class="tip">元/件</view>
<view class="add" bindtap="addPriceItem" wx:if="{{(index < 4) && (index == dataForm.groupBuyPriceNumber.length-1)}}"><image src="../../../../images/family/plus.png" /></view>
<view class="add" data-index="{{index}}" bindtap="minusPriceItem" wx:else><image src="../../../../images/family/sub.png" /></view>
</view>
</view>
<view class="apply-item">
<view class="item-title">取货方式</view>
<radio-group class="radio-group" bindchange="pickupMethodChange">
<radio checked="{{dataForm.pickupMethod == 1}}" value="1" color="#F82525" class="radio">包邮到家</radio>
<radio checked="{{dataForm.pickupMethod == 2}}" value="2" color="#F82525" class="radio">社区送达</radio>
</radio-group>
</view>
<view class="apply-item">
<view class="item-title">截止时间</view>
<view class="select-time" bindtap="selectTime">{{dataForm.groupBuyEndTime||'请选择时间'}}</view>
</view>
<view class="apply-item">
<view class="item-title">联系电话</view>
<input type="text" class="item-content" maxlength="20" placeholder="请输入联系电话" value="{{dataForm.groupBuyMobile}}" bindinput="onInputGroupBuyMobile"></input>
</view>
</view>
<view class="submit" bindtap="submitApply">
<image class="submit-bk" src="../../images/submit-bk.png" />
<view class="submit-text">发布</view>
</view>
</view>
<wux-actionsheet id="wux-actionsheet" />
<view wx:if="{{showPicker}}">
<date-time-picker bind:cancel="pickerCancel" bind:confirm="pickerConfirm" init-time="{{dataForm.groupBuyEndTime}}"></date-time-picker>
</view>

189
epdc-resident-mp-yushan/subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.wxss

@ -0,0 +1,189 @@
/* subpages/family/pages/addGroupBuyPublish/addGroupBuyPublish.wxss */
page {
width: 100%;
overflow-y: auto;
background: #f7f7f7;
}
.content {
position: relative;
overflow: hidden;
}
.content .my-apply-img {
position: absolute;
right: -10rpx;
top: 16rpx;
}
.content .my-apply-img image {
width: 208rpx;
height: 76rpx;
}
.content .apply-item {
width: 100%;
min-height: 170rpx;
background-color: white;
display: flex;
flex-direction: column;
align-items: flex-start;
justify-content: center;
padding: 0rpx 30rpx;
margin-top: 16rpx;
box-sizing: border-box;
}
.content .text-item {
height: 220rpx;
}
.content .apply-item .item-title {
height: 50rpx;
line-height: 50rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: bold;
color: #333333;
margin-bottom: 28rpx;
}
.content .apply-item .price-item {
display: flex;
margin-bottom: 20rpx;
}
.content .apply-item .price-item input {
width: 110rpx;
height: 44rpx;
line-height: 44rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
text-align: center;
border-bottom: 1px solid #BFBFBF;
}
.content .apply-item .price-item .add {
height: 42rpx;
width: 42rpx;
margin-left: 20rpx;
}
.content .apply-item .price-item .add image {
width: 100%;
height: 100%;
}
.content .apply-item .price-item .tip {
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.content .apply-item .item-content, .select-time {
width: 100%;
height: 44rpx;
line-height: 44rpx;
font-size: 32rpx;
font-family: PingFang SC;
font-weight: 500;
color: #666666;
}
.content .apply-item .text-content {
font-weight: 400;
height: 280rpx;
margin-bottom: 20rpx;
}
.text-length {
position: absolute;
right: 0rpx;
bottom: -60rpx;
font-size: 28rpx;
font-family: PingFang SC;
font-weight: 400;
color: #999999;
}
.submit {
width: 592rpx;
height: 116rpx;
position: relative;
margin: 78rpx auto 0rpx;
}
.submit .submit-bk {
width: 100%;
height: 100%;
position: absolute;
z-index: -1;
}
.submit .submit-text {
font-size: 34rpx;
font-family: PingFang SC;
font-weight: 500;
color: #FFFFFF;
height: 100rpx;
line-height: 100rpx;
text-align: center;
}
.time-group {
width: 100%;
display: flex;
justify-content: space-around;
align-items: center;
}
.time-group .select-time {
width: 304rpx;
height: 50rpx;
/* background: #F7F7F7; */
border-radius: 25rpx;
display: flex;
justify-content: center;
align-items: center;
font-size: 24rpx;
font-family: PingFang SC;
font-weight: 500;
color: #333333;
}
.time-group .select-time image {
width: 26rpx;
height: 26rpx;
opacity: 0.76;
margin-right: 20rpx;
}
.image-list {
width: 100%;
display: grid;
grid-template-columns: 214rpx 214rpx 214rpx;
grid-template-rows: 214rpx;
grid-gap: 17rpx;
height: 214rpx;
margin-bottom: 40rpx;
}
.image-list .image-item {
width: 100%;
height: 100%;
position: relative;
}
.image-list image {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 8rpx;
}
.image-list .image-item .loading {
position: absolute;
left: 25%;
top: 25%;
width: 50%;
height: 50%;
}
.image-list .image-item .close {
position: absolute;
top: -10rpx;
right: -10rpx;
width: 40rpx;
height: 40rpx;
}
.apply-item .radio-group {
height: 100%;
display: flex;
align-items: center;
color: #999;
font-size: 28rpx;
}
.apply-item .radio-group radio + radio {
margin-left: 20rpx;
}

430
epdc-resident-mp-yushan/subpages/family/pages/addHouse/addHouse.js

@ -0,0 +1,430 @@
// subpages/family/pages/addHouse/addHouse.js
import { $wuxActionSheet } from "../../../../dist/index"
const api = require("../../utils/api")
const config = require("../../../../utils/config")
Page({
/**
* 页面的初始数据
*/
data: {
houseTypeList:['住宅','办公','门头'],
dataForm:{
houseType:'',//房屋用途
houseModel:'',//户型
insideArea:'',//套内面积
area:'',//面积
floor:'',//楼层
price:'',//价格
orientation:"",//朝向
hasElevator:'',//电梯 0无 1有
description:'',//房屋描述
houseStatus:'',//房屋状态1在售 2在租
contact:'',//联系方式
address:'',//地址
},
dtList:['无','有'],
houseStatusList:['在售','在租'],
message:true,
photoList: [],
imageId: 0,
messageContent:""
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
if (options.name=='编辑') {
let decodeObj = decodeURIComponent(options.houseobj)
let obj = JSON.parse(decodeObj)
let arr = []
obj.photoList.forEach((item,index)=>{
arr.push({
imgUrl:item,
ossUrl:item,
uploaded:true,
imageId:index+1
})
})
this.setData({
dataForm:obj,
photoList:arr
})
}
wx.setNavigationBarTitle({
title: options.name,
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
handleChangehouseType(e){
this.setData({
'dataForm.houseType': e.detail.value=='0'?'1': e.detail.value=='1'?'2':'3'
})
console.log(this.data.dataForm.houseType,'房屋用途');
},
handelClickSave(){
},
handelClickBack(){
this.setData({
message:true,
dataForm:{
houseType:'',
houseModel:'',
insideArea:'',
area:'',
floor:'',
price:'',
orientation:"",
hasElevator:'',
description:'',
houseStatus:'',
contact:'',
address:'',
},
photoList:[]
})
},
handelToFamily(){
wx.navigateBack()
},
// 删除选中的图片
deleteImage (e) {
console.log(e.currentTarget.dataset.imageid);
console.log(this.data.photoList);
const index = this.data.photoList.findIndex(item => item.imageId === e.currentTarget.dataset.imageid)
if (index > -1) {
this.data.photoList.splice(index, 1)
this.setData({
photoList: this.data.photoList
})
}
},
bindHouseModelInput(e){
this.setData({
'dataForm.houseModel':e.detail.value
})
},
bindInsideAreaInput(e){
this.setData({
'dataForm.insideArea':e.detail.value
})
},
bindAreaInput(e){
this.setData({
'dataForm.area':e.detail.value
})
},
bindFloorInput(e){
this.setData({
'dataForm.floor':e.detail.value
})
},
bindPriceInput(e){
this.setData({
'dataForm.price':e.detail.value
})
},
bindOrientationInput(e){
this.setData({
'dataForm.orientation':e.detail.value
})
},
bindOrientationInput(e){
this.setData({
'dataForm.orientation':e.detail.value
})
},
handleChangeHasElevator(e){
console.log(e.detail.value);
this.setData({
'dataForm.hasElevator':e.detail.value
})
console.log(this.data.dataForm.hasElevator,'电梯下拉');
},
bindDescriptionInput(e){
this.setData({
'dataForm.description':e.detail.value
})
},
bindContactInput(e){
this.setData({
'dataForm.contact':e.detail.value
})
},
bindAddressInput(e){
this.setData({
'dataForm.address':e.detail.value
})
},
handleChangeHouseStatus(e){
// console.log(e.detail.value);
this.setData({
'dataForm.houseStatus':e.detail.value=='0'?'1':'2'
})
console.log(this.data.dataForm.houseStatus,'房屋状态下拉');
},
// 选择图片 上传弹窗 - 上传图片方式 - 选择图片 - 上传图片 - 回调赋值
chooseImage () {
const _this = this
$wuxActionSheet().showSheet({
buttons: [
{ text: "拍照" },
{ text: "从相册中获取" },
],
className: "dialog-class",
buttonClicked (index) {
if (index === 0) {
wx.chooseImage({
count: 1,
sizeType: ["original", "compressed"],
sourceType: ["camera"],
success (res) {
const photoList = [..._this.data.photoList]
photoList.push({
uploaded: false,
ossUrl: "",
imgUrl: res.tempFilePaths[0],
imageId: ++_this.data.imageId
})
_this.setData({
photoList
})
wx.uploadFile({
url: `${config.BASEURL()}group/topic/upload`,
filePath: res.tempFilePaths[0],
name: "file",
header: {
"Content-type": "multipart/form-data"
},
success (fileRes){
photoList[photoList.length - 1].uploaded = true
photoList[photoList.length - 1].ossUrl = JSON.parse(fileRes.data).data
_this.setData({
photoList
})
}
})
}
})
} else if (index === 1) {
wx.chooseImage({
count: 3 - _this.data.photoList.length,
sizeType: ["original", "compressed"],
sourceType: ["album"],
success (res) {
const photoList = []
const endIndex = _this.data.photoList.length
res.tempFilePaths.forEach(item => {
photoList.push({
uploaded: false,
ossUrl: "",
imgUrl: item,
imageId: ++_this.data.imageId
})
})
_this.setData({
photoList: [..._this.data.photoList,...photoList]
})
photoList.forEach((item, index) => {
return (function (index) {
wx.uploadFile({
url: `${config.BASEURL()}group/topic/upload`,
filePath: res.tempFilePaths[index],
name: "file",
header: {
"Content-type": "multipart/form-data"
},
success (fileRes){
photoList[index].uploaded = true
photoList[index].ossUrl = JSON.parse(fileRes.data).data
_this.data.photoList = _this.data.photoList.slice(0, endIndex)
_this.setData({
photoList: [..._this.data.photoList, ...photoList]
})
}
})
})(index)
})
}
})
}
return true
},
cancelText: "取消",
cancel () {},
destructiveButtonClicked () {},
})
},
showToast (title) {
wx.showToast({
title: title,
icon: "none",
duration: 2000
})
},
submitHouse () {
if (!this.data.dataForm.houseType) {
this.showToast("请选择房屋用途")
return false
}
if (!this.data.dataForm.houseModel.trim('')) {
this.showToast("请填写户型")
return false
}
if (!this.data.dataForm.area.trim('')) {
this.showToast("请填写面积")
return false
}
if (!this.data.dataForm.insideArea.trim('')) {
this.showToast("请填写套内面积")
return false
}
if (!this.data.dataForm.floor.trim('')) {
this.showToast("请填写楼层")
return false
}
if (!this.data.dataForm.price.trim('')) {
this.showToast("请填写价格")
return false
}
if (!this.data.dataForm.orientation.trim('')) {
this.showToast("请填写朝向")
return false
}
if (!this.data.dataForm.hasElevator) {
this.showToast("请选择是否有电梯")
return false
}
if (!this.data.dataForm.description.trim('')) {
this.showToast("请填写房屋描述")
return false
}
if (this.data.dataForm.description.length>50) {
this.showToast("房屋描述在50字以内")
return false
}
if(this.data.photoList.length>3){
this.showToast("最多上传三张图片")
return false
}
if (!this.data.dataForm.contact.trim('')) {
this.showToast("请填写联系电话")
return false
}
if (this.data.dataForm.contact.length>20) {
this.showToast("联系电话限制在20字以内")
return false
}
if (!this.data.dataForm.address.trim('')) {
this.showToast("请填写地址")
return false
}
wx.showLoading({
title: "发布中",
})
const imagesList = []
if (this.data.photoList.length > 0) {
const isUploadDown = this.data.photoList.some(item => !item.uploaded)
if (isUploadDown) {
wx.showToast({
title: "请等待图片上传完成",
icon: "none",
duration: 1000
})
return false
}
}
if (this.data.photoList.length > 0) {
this.data.photoList.forEach(item => {
imagesList.push(item.ossUrl)
})
}
console.log(imagesList);
const para = { ...this.data.dataForm }
para.photoList = imagesList
console.log('submit', para)
let that = this
console.log(this.options);
if(this.options.name == '编辑'){
api.updataHouseInfo(para).then(res => {
if(res.code == 0) {
wx.hideLoading()
this.setData({
message:false,
messageContent:'房屋信息已保存!'
})
}
}).catch(err => {
console.log('err',err)
wx.hideLoading()
})
}else{
api.addHouseInfo(para).then(res => {
if(res.code == 0) {
wx.hideLoading()
this.setData({
message:false,
messageContent:'您的卖房信息已提交成功,待审核通过后进行发布,在个人中心我的房屋中查看进度。'
})
}
}).catch(err => {
console.log('err',err)
wx.hideLoading()
})
}
},
})

5
epdc-resident-mp-yushan/subpages/family/pages/addHouse/addHouse.json

@ -0,0 +1,5 @@
{
"usingComponents": {
"wux-actionsheet": "../../../../dist/actionsheet/index"
}
}

154
epdc-resident-mp-yushan/subpages/family/pages/addHouse/addHouse.wxml

@ -0,0 +1,154 @@
<!--subpages/family/pages/addHouse/addHouse.wxml-->
<view wx:if="message">
<view wx:if="{{message}}">
<view class="row">
<view class="left">
房屋用途
</view>
<view class='right'>
<picker range="{{houseTypeList}}" bindchange='handleChangehouseType' class="myPicker">
<view class=" {{dataForm.houseType?'font-color':'solve'}}">
{{dataForm.houseType == '1'?'住宅':dataForm.houseType == '2'?'办公':dataForm.houseType == '3'?'门头':'请选择房屋用途'}}
<image src="../../../../images/family/down.png" />
</view>
</picker>
</view>
</view>
<view class="row">
<view class="left">
户型
</view>
<view class="right">
<input confirm-type="next" bindblur="bindHouseModelInput" bindinput="bindHouseModelInput" value="{{dataForm.houseModel}}" placeholder-class="placeholder-style" placeholder="3室一厅" />
</view>
</view>
<view class="row">
<view class="left">
面积
</view>
<view class="right">
<input confirm-type="next" bindblur="bindAreaInput" bindinput="bindAreaInput" value="{{dataForm.area}}" placeholder-class="placeholder-style" placeholder="112平方米" />
</view>
</view>
<view class="row">
<view class="left">
套内面积
</view>
<view class="right">
<input confirm-type="next" bindblur="bindInsideAreaInput" bindinput="bindInsideAreaInput" value="{{dataForm.insideArea}}" placeholder-class="placeholder-style" placeholder="98平米" />
</view>
</view>
<view class="row">
<view class="left">
楼层
</view>
<view class="right">
<input confirm-type="next" bindblur="bindFloorInput" bindinput="bindFloorInput" value="{{dataForm.floor}}" placeholder-class="placeholder-style" placeholder="中楼层(共16层)" />
</view>
</view>
<view class="row">
<view class="left">
价格
</view>
<view class="right">
<input confirm-type="next" bindblur="bindPriceInput" bindinput="bindPriceInput" value="{{dataForm.price}}" placeholder-class="placeholder-style" placeholder="13021元/平" />
</view>
</view>
<view class="row">
<view class="left">
朝向
</view>
<view class="right">
<input confirm-type="next" bindblur="bindOrientationInput" bindinput="bindOrientationInput" value="{{dataForm.orientation}}" placeholder-class="placeholder-style" placeholder="南 北" />
</view>
</view>
<view class="row">
<view class="left">
电梯
</view>
<view class='right'>
<picker range="{{dtList}}" bindchange='handleChangeHasElevator' class="myPicker" range-key="label" mode="selector">
<!-- -->
<view class=" {{dataForm.hasElevator?'font-color':'solve'}}" >
{{dataForm.hasElevator=='0'?'无':dataForm.hasElevator=='1'?'有':'请选择是否有电梯'}}
<image src="../../../../images/family/down.png" />
</view>
</picker>
</view>
</view>
<view class="rows">
<view class="top">
房屋描述
</view>
<view class="bottom">
<textarea confirm-type="next" bindblur="bindDescriptionInput" bindinput="bindDescriptionInput" value="{{dataForm.description}}" placeholder-class="placeholder-style" placeholder="请输入房屋描述" />
</view>
</view>
<view class="image_row">
<view class="left">
<text>房屋图片</text>
</view>
<view class="right">
<view class="image-list">
<view class="image-item" wx:for="{{photoList}}" wx:for-index="index" wx:for-item="item" wx:key="imageId">
<image class="issue-image" src="{{item.imgUrl}}" />
<image wx:if="{{!item.uploaded}}" class="loading" src="../../images/loading.gif" />
<image bindtap="deleteImage" data-imageid="{{item.imageId}}" class="close" wx:else src="../../images/icon_close.png" />
</view>
<image wx:if="{{photoList.length < 3}}" src="../../images/ig_tianjiatupian@2x.png" bindtap="chooseImage" />
</view>
</view>
</view>
<view class="row">
<view class="left">
房屋状态
</view>
<view class='right'>
<picker range="{{houseStatusList}}" bindchange='handleChangeHouseStatus' class="myPicker">
<view class="solve" class=" {{dataForm.houseStatus?'font-color':'solve'}}">
{{dataForm.houseStatus=='1'?'在售':dataForm.houseStatus=='2'?'在租':'请选择房屋状态'}}
<image src="../../../../images/family/down.png" />
</view>
</picker>
</view>
</view>
<view class="row">
<view class="left">
联系方式
</view>
<view class="right">
<input confirm-type="next" bindblur="bindContactInput" bindinput="bindContactInput" value="{{dataForm.contact}}" placeholder-class="placeholder-style" placeholder="请输入联系方式" />
</view>
</view>
<view class="row">
<view class="left">
地址
</view>
<view class="right">
<input confirm-type="next" bindblur="bindAddressInput" bindinput="bindAddressInput" value="{{dataForm.address}}" placeholder-class="placeholder-style" placeholder="请输入地址" />
</view>
</view>
<view class="row_btn">
<view class="left_btn">
<button bindtap="handelToFamily">取消</button>
</view>
<view class="right_btn">
<button bindtap="submitHouse">保存</button>
</view>
</view>
</view>
<view wx:else class="message">
<view class="message_center">
<view>提示</view>
<view>{{messageContent}}</view>
<button bindtap="handelClickBack">确定</button>
</view>
</view>
<wux-actionsheet id="wux-actionsheet" />
</view>

172
epdc-resident-mp-yushan/subpages/family/pages/addHouse/addHouse.wxss

@ -0,0 +1,172 @@
/* subpages/family/pages/addHouse/addHouse.wxss */
page {
background: #fff;
box-sizing: border-box;
padding: 0 30rpx;
}
.row{
display: flex;
justify-content: space-around;
border-bottom:1rpx solid #eaeaea;
width: 100%;
height: 100rpx;
align-items: center;
justify-content: space-around;
}
.row .left {
width:200rpx;
height: 100rpx;
line-height: 100rpx;
}
.row .right{
flex: 1;
height: 100rpx;
line-height: 100rpx;
}
.row .right input{
width: 100%;
height: 100rpx;
line-height: 100rpx;
}
.row .right image{
width: 32rpx;
height: 32rpx;
position: absolute;
right: 20rpx;
top: 50%;
transform: translate(0rpx, -16rpx);
}
.row .right .myPicker{
width: 100%;
position: relative;
}
.myPicker .font-color{
width: 100%;
color: #000;
line-height: 100rpx;
}
.row .right .solve{
width: 100%;
color: #999;
line-height: 100rpx;
}
.row .right .black{
width: 100%;
color: #000;
line-height: 100rpx;
}
.rows{
display: flex;
flex-direction: column;
justify-content: space-around;
}
.rows .top{
margin-top: 20rpx;
}
.rows .bottom{
width: 100%;
color: #999;
border: 2rpx solid #999;
margin-top: 20rpx;
font-size: 28rpx;
}
.rows .bottom textarea{
height: 100rpx;
width: 100%;
padding: 10rpx;
}
.row_btn{
width: 100%;
display: flex;
justify-content: space-between;
}
.row_btn view{
width: 48%;
margin:30rpx 0 100rpx;
}
/* .row_btn .left_btn button{
width: 50%;
} */
.row_btn .right_btn button{
background-color: #a4adb3;
color: #fff;
}
.message{
background-color: #8c8c8c;
width: 100%;
height: 100%;
position: absolute;
display: flex;
justify-content: center;
align-items: center;
top: 0;
left: 0;
}
.message .message_center{
margin: 0 auto;
background-color: #fff;
display: flex;
width: 80%;
flex-direction: column;
justify-content: space-around;
align-items: center;
padding: 20rpx 50rpx;
}
.message .message_center view{
margin-top: 40rpx;
}
.message .message_center button{
background-color: #a4adb3;
color: #fff;
margin-top: 40rpx;
width:180rpx;
height: 60rpx;
line-height: 60rpx;
font-size: 32rpx;
}
.image_row{
display: flex;
}
.image_row .right{
flex: 1;
margin: 20rpx 0 0 20rpx;
}
.image-list {
width: 100%;
display: grid;
grid-template-columns: 120rpx 120rpx 120rpx;
grid-template-rows: 120rpx;
grid-gap: 17rpx;
height: 120rpx;
margin-bottom: 40rpx;
}
.image-list .image-item {
width: 100%;
height: 100%;
position: relative;
}
.image-list image {
width: 100%;
height: 100%;
object-fit: cover;
border-radius: 8rpx;
}
.image-list text{
width: 100rpx;
}
.image-list .image-item .loading {
position: absolute;
left: 25%;
top: 25%;
width: 50%;
height: 50%;
}
.image-list .image-item .close {
position: absolute;
top: -20rpx;
right: -20rpx;
width: 40rpx;
height: 40rpx;
}

117
epdc-resident-mp-yushan/subpages/family/pages/houseDetail/index.js

@ -0,0 +1,117 @@
// subpages/family/pages/houseDetail/index.js
Page({
/**
* 页面的初始数据
*/
data: {
houseDetailObj:{},
swiperCurrent:1,
// 输入框弹起事件
isShowInput: false,
readyText:'',
inputFlag:false
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
let decodeObj = decodeURIComponent(options.houseObj)
let obj = JSON.parse(decodeObj)
obj.createdTime = obj.createdTime.substr(0,10)
this.setData({
houseDetailObj:obj
})
console.log(this.data.houseDetailObj);
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
},
swiperChange(e){
this.setData({
swiperCurrent:e.detail.current + 1
})
},
navigatetoBannerDetail(){
wx.previewImage({
current: this.data.houseDetailObj.photoList[this.data.swiperCurrent-1], // 当前显示图片的http链接
urls: this.data.houseDetailObj.photoList // 需要预览的图片http链接列表
})
},
sendTextMsg(e){
console.log('我发送了一条评论',this.data.readyText);
this.setData({
readyText:'',
inputFlag:true
})
},
showInput() {
this.setData({
isShowInput: true
})
console.error('show+++++++++++')
},
//隐藏输入框
onHideInput() {
setTimeout(()=>{
this.setData({
isShowInput: false,
inputFlag:false
})
},300)
console.error('hide+++++++++++')
},
bindInputMsg(e){
this.setData({
readyText: e.detail.value
})
},
})

4
epdc-resident-mp-yushan/subpages/family/pages/houseDetail/index.json

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "房屋详情",
"usingComponents": {}
}

85
epdc-resident-mp-yushan/subpages/family/pages/houseDetail/index.wxml

@ -0,0 +1,85 @@
<!--subpages/family/pages/houseDetail/index.wxml-->
<view class="f-container">
<view class="card">
<!-- <view class="images">
<image src="../../../../images/rexian.png">
</image>
</view> -->
<view class="images">
<swiper bindchange="swiperChange">
<!-- wx:if="{{bannerList.length > 0}}" -->
<block>
<swiper-item wx:for="{{houseDetailObj.photoList}}" wx:key="index">
<!---->
<image data-src="{{item}}" mode="aspectFill" class="banner-img" src="{{item}}" bindtap="navigatetoBannerDetail" />
</swiper-item>
</block>
</swiper>
</view>
<view class="houseName">
<view> {{houseDetailObj.address}} <text>{{houseDetailObj.houseStatusDisplay}}</text></view>
<!-- wx:if="{{bannerList.length > 0}}" -->
<text>{{swiperCurrent}}/{{houseDetailObj.photoList.length}}</text>
</view>
<view class="row">
<view>单价 <text>{{houseDetailObj.price}}</text></view>
<view>朝向 <text>{{houseDetailObj.orientation}}</text></view>
</view>
<view class="row">
<view>楼层 <text>{{houseDetailObj.floor}}</text></view>
<view>电梯 <text>{{houseDetailObj.hasElevator==0?'无':'有'}}</text></view>
</view>
<view class="row">
<view>套内 <text>{{houseDetailObj.insideArea}}</text></view>
<view></view>
</view>
<view class="row">
<view>挂牌 <text>{{houseDetailObj.createdTime}}</text></view>
<view></view>
</view>
<view class="row">
<view>用途 <text>{{houseDetailObj.houseType==1?'住宅':houseDetailObj.houseType==2?'办公':'门头'}}</text></view>
<view></view>
</view>
<view class="describe">
<view>房屋描述</view>
<text>{{houseDetailObj.description}}</text>
</view>
</view>
<!-- <view class="card">
<view style="font-weight: 600;">咨询</view>
<view class="reply-header">
<view class="left">
<image src="../../../../images/family/plus.png"></image>
<text>昵称</text>
</view>
<view class="right">
<view></view>
<view>
<image src="../../../../images/family/reply.png" />
<text bindtap="showInput">回复</text>
<view class="input-section" wx:if="{{isShowInput}}">
<input class='input_input' model:value="{{readyText}}" focus="auto" placeholder="友善的回复是交流的起点" bindinput='bindInputMsg' bindblur="onHideInput" />
<view style="height:110rpx;width:170rpx;display:flex; align-items: center;justify-content: center;">
<button class="send_button" size="mini" bindtap="sendTextMsg">发布</button>
</view>
</view>
</view>
</view>
</view>
<view class="reply-content">
<view>您好请问房子现在还在吗?</view>
<view class="gray">2023.03.26 16:21:43</view>
</view>
<view class="replys-content">
<image src="../../../../images/family/plus.png"></image>
<view>
<view class="name">本人</view>
<view>在的</view>
<view class="gray">2023.03.26.16:21:43</view>
</view>
</view>
</view> -->
</view>

163
epdc-resident-mp-yushan/subpages/family/pages/houseDetail/index.wxss

@ -0,0 +1,163 @@
/* subpages/family/pages/houseDetail/index.wxss */
page {
background: #f7f7f7;
box-sizing: border-box
}
.f-container {
width: 100%;
box-sizing: border-box;
background: #f7f7f7;
}
.gray{
color: #999;
}
.f-container >.card{
background-color: #fff;
padding: 20rpx;
}
.images{
overflow: hidden;
width: 100%;
height: 300rpx;
}
.images image{
width: 100%;
height: 100%;
}
.houseName{
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 20rpx;
}
.houseName view>text{
background-color: #fff0e2;
color:#ffa822 ;
padding: 5rpx 20rpx;
font-size: 24rpx;
border-radius: 3rpx;
box-sizing: border-box;
margin-left: 20rpx;
}
.card .row{
display: flex;
align-items: center;
justify-content: space-around;
margin-top: 20rpx;
}
.card .row view{
width: 50%;
text-align: left;
color: #999;
float: left;
}
.card .row view text{
color: #000;
margin-left: 20rpx;
}
.describe{
background-color: #f0fbff;
padding: 20rpx;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: left;
font-weight: 600;
margin-top: 20rpx;
border-radius: 8rpx;
}
.describe text{
font-size: 28rpx;
font-weight: 300;
margin-top: 20rpx;
}
.card .reply-header{
display: flex;
align-items: center;
justify-content: space-around;
padding: 20rpx 20rpx 0;
box-sizing: border-box;
}
.card .reply-header>view{
width: 50%;
}
.card .reply-header .left{
display: flex;
align-items: center;
}
.card .reply-header .right{
display: flex;
justify-content: space-between;
align-items: center;
color: #999;
}
.card .reply-header .left image{
width: 100rpx;
height: 100rpx;
margin-right: 20rpx;
}
.card .reply-header .right image{
width: 32rpx;
height: 32rpx;
margin-right: 10rpx;
}
.card .reply-header .right>view{
display: flex;
align-items: center;
}
.card .reply-content{
display: flex;
flex-direction: column;
justify-content: space-around;
flex-wrap: none;
align-items: left;
padding-left: 140rpx;
}
.card .replys-content{
display: flex;
justify-content: space-around;
padding-left: 140rpx;
margin-top: 20rpx;
}
.card .replys-content>image{
width: 80rpx;
height: 80rpx;
margin-right: 20rpx;
}
.card .replys-content>view{
flex: 1;
display: flex;
flex-direction: column;
justify-content: space-around;
align-items: left;
}
.card .replys-content>view>view{
padding-top: 10rpx;
}
.card .replys-content>view .name{
padding: 0rpx;
height: 80rpx;
line-height: 80rpx;
}
.input-section {
position: absolute;
display: flex;
align-items: center;
height: 110rpx;
bottom: 0rpx;
left: 0rpx;
right: 0rpx;
z-index: 500;
background: #fff;
}
.input_input {
background: #fff;
margin-top: 12rpx;
z-index: 500;
width: 580rpx;
height: 110rpx;
padding-left: 35rpx;
}

185
epdc-resident-mp-yushan/subpages/family/pages/index/index.js

@ -1,6 +1,7 @@
import {
getHouseInfo
} from '../../utils/api.js'
import api from '../../../../utils/api.js'
Page({
/**
@ -11,16 +12,30 @@ Page({
showQr: true,
memberList:[],
roomCode:null,
selectedTabBar:"resiNew",
userInfo: {
faceImg: '',
nickname: '',
partyFlag: '', // 0不是党员 1是党员
points: 0,
grade: 0,
showIdentityFlag: 0, // 是否亮过身份 0 否 1 是
},
loadMoreVisible:false,
keyWord:'',//房屋搜索字段
houseInfo:[],
houseFlag:'1'
},
/**
* 生命周期函数--监听页面加载
* 生命周期函数--监听页面加载
*/
async onLoad(options) {
wx.showLoading({
title: "加载中",
mask: true,
});
this.getUserInfo()
//恢复
// wx.showLoading({
// title: "加载中",
// mask: true,
// });
this.setData({
roomCode : options.roomCode
})
@ -39,10 +54,11 @@ Page({
* 生命周期函数--监听页面显示
*/
async onShow() {
wx.showLoading({
title: "加载中",
mask: true,
});
//恢复
// wx.showLoading({
// title: "加载中",
// mask: true,
// });
let roomCode = wx.getStorageSync('roomCode')
this.setData({
roomCode : roomCode
@ -50,7 +66,19 @@ Page({
await this.getInfo(this.data.roomCode)
wx.hideLoading()
},
onReachBottom: function () {
this.setData({
loadMoreVisible: true
})
console.log(this.data.selectedTabBar);
if (this.data.selectedTabBar === "housePrice") {
this.setData({
pageNum: this.data.pageNum + 1
})
this.getHousesalerentinfo()
}
},
// 获取房屋信息
async getInfo(code){
const res = await getHouseInfo({roomCode:code})
@ -63,9 +91,22 @@ Page({
},
// 跳转新增页面
handleTo(){
wx.navigateTo({
url: '/subpages/family/pages/familyInfo/familyInfo?pageType=add&id='+ this.data.familyInfo.id
})
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{
}
},
// 跳转查看页面
toFamilyInfo(e){
@ -117,5 +158,119 @@ Page({
this.setData({
showQr: false,
});
},
},
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);
},
getUserInfo() {
api
.getUserInfo()
.then((res) => {
console.log('用户信息', res)
const userInfo = {}
for (const key in this.data.userInfo) {
userInfo[key] = res.data[key]
}
this.setData({
userInfo,
})
})
.catch((err) => {
this.setData({
userInfo: {
faceImg: '',
nickname: '',
points: 0,
grade: 0,
},
})
console.log(err)
})
},
handelKeyword(e){
this.setData({
keyWord:e.detail.value
})
this.getHousesalerentinfo()
},
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()
},
//跳转到积分中心
navigateToIntegralCentre() {
wx.navigateTo({
url:
'/subpages/integralCentre/pages/index/index?points=' +
this.data.userInfo.points,
})
wx.hideLoading()
},
handleActiveHouse(e){
this.setData({
houseFlag:e.currentTarget.dataset.status,
loadMoreVisible: false
})
this.getHousesalerentinfo()
},
handleClickHouse(e){
// 买房与租房用的是同一个卡片需要用houseFlag来区分
let str = encodeURIComponent( JSON.stringify( e.currentTarget.dataset.obj))
if(this.data.houseFlag){
wx.navigateTo({
url:
'/subpages/family/pages/houseDetail/index?houseObj=' +str,
})
}
},
handleClickGroupPrice(e){
wx.navigateTo({
url: '/pages/groupBuyDetail/groupBuyDetail?groupId='+
e.currentTarget.dataset.id,
})
},
})

5
epdc-resident-mp-yushan/subpages/family/pages/index/index.json

@ -1,4 +1,7 @@
{
"navigationBarTitleText": "我的e家",
"usingComponents": {}
"usingComponents": {
"no-data": "/components/nodata/nodata",
"load-more": "/components/loadMore/loadMore"
}
}

211
epdc-resident-mp-yushan/subpages/family/pages/index/index.wxml

@ -1,85 +1,148 @@
<view class="f-container">
<block wx:if="{{familyInfo.roomCodeShow}}">
<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 src="{{ familyInfo.qrCodeUrl }}" /> -->
<image mode="widthFix" src="../../images/family-qr.png" />
<!-- 恢复 wx:if="{{familyInfo.roomCodeShow}}"-->
<block >
<view class="f-top">
<view class="f-card">
<view class="flex-view">
<view class="card-right">
<view class="card-qr {{ familyInfo.roomCodeShow.length > 24 && 'card-qr-long'}}" bind:tap="handlePreview">
<!-- <image src="{{ familyInfo.qrCodeUrl }}" /> -->
<image mode="widthFix" src="../../images/family-qr.png" />
</view>
<view class="card-qr-name">需要我 扫扫我</view>
</view>
<view class="card-left">
<view class="card-title">一户一码 服务万家</view>
<view class="card-num">{{familyInfo.gridName}}{{ familyInfo.plotName }} </view>
<view class="card-num">
房号 <text>No.{{ familyInfo.roomCodeShow }}</text>
<!-- 房号 <text >6666666666666666666666</text>
<image /> -->
</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 wx:if="{{familyInfo.roomCodeShow.length <= 24}}" class="card-qr-name">我的"e家码"</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="title-wr">
<view class="title-label">成员新了</view>
<view class="title-label">房价涨了</view>
<view class="title-label">快递来了</view>
<view class="title-right">
<!-- <view class="title-right-label">明细</view> -->
<image class="right-icon" src="../../images/arrow-right.png" />
</view>
</view>
<view class="f-table mt40">
<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 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/discussion/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/mine/bg-mine.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>
<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>
</block>
<view wx:else class="no-data">暂无家庭信息</view>
</view>
</block>
<image src="../../../../images/family/plus.png" class="img_btn" bind:tap="handleTo"></image>
</view>
<view class="m-fm" hidden="{{ showQr }}">
<view class="fm">
<view class="btn-close" bind:tap="cancel">
<image mode="aspectFill" src="../../images/close.png"></image>
<!-- <image mode="aspectFill"
<view class="fm">
<view class="btn-close" bind:tap="cancel">
<image mode="aspectFill" src="../../images/close.png"></image>
<!-- <image mode="aspectFill"
src="/assets/images/common/close.png"></image> -->
</view>
<view class="fm-header">我的e家码</view>
<view class="fm-qr">
<!-- <image src="../../images/qr1.png" mode="aspectFill" /> -->
<image src="{{ familyInfo.maUrl }}" mode="aspectFill" />
</view>
<view class="fm-btn" bind:tap="comfirmSave">保存到相册</view>
<!-- <view class="operate">
</view>
<view class="fm-header">我的e家码</view>
<view class="fm-qr">
<!-- <image src="../../images/qr1.png" mode="aspectFill" /> -->
<image src="{{ familyInfo.maUrl }}" mode="aspectFill" />
</view>
<view class="fm-btn" bind:tap="comfirmSave">保存到相册</view>
<!-- <view class="operate">
<view class="btn" bind:tap="confirm">保存到相册</view>
</view> -->
</view>
</view>
</view>

12
epdc-resident-mp-yushan/subpages/family/utils/api.js

@ -69,3 +69,15 @@ export function getHouseOption (param) {
export function householderRelation () {
return request.get('imgconfig/heartImgType/householder_relation')
}
/**
* 添加房屋信息
*/
export function addHouseInfo (param) {
return request.post('custom/housesalerentinfo/publish', param)
}
/**
* 修改房屋信息
*/
export function updataHouseInfo (param) {
return request.post('custom/housesalerentinfo/resi/update', param)
}

604
epdc-resident-mp-yushan/subpages/family/wxss/family.wxss

@ -1 +1,603 @@
page{background:#fff;box-sizing:border-box}.f-container{width:100%;box-sizing:border-box}.f-top{position:relative;width:100%;height:200rpx;background:#e3271c;border-radius:0 0 30rpx 30rpx;-webkit-border-radius:0 0 30rpx 30rpx;-moz-border-radius:0 0 30rpx 30rpx;-ms-border-radius:0 0 30rpx 30rpx;-o-border-radius:0 0 30rpx 30rpx}.f-top .flex-view{display:flex;justify-content:space-between;}.f-top .f-card{position:absolute;left:50%;bottom:-64rpx;width:690rpx;height:200rpx;margin-left:-345rpx;background-color:#fff;box-sizing:border-box;padding:28rpx 30rpx 18rpx;box-shadow: rgba(184,184,184,.25) 0px 0px 30px 5px;overflow:hidden;border-radius:14rpx;-moz-border-radius:14rpx;-ms-border-radius:14rpx;-o-border-radius:14rpx;-webkit-border-radius:14rpx}.f-top .f-card .card-right{flex-shrink:0;margin-left:10rpx}.f-top .f-card .card-title{height:96rpx;font-family:PingFang-SC-Bold;font-size:34rpx;letter-spacing:1rpx;color:#333;overflow:hidden}.f-top .f-card .card-num{display:flex;align-items:center;font-family:PingFang-SC-Medium;font-size:28rpx;letter-spacing:1rpx;color:#333;overflow:hidden}.f-top .f-card .card-num image{flex-shrink:0;width:32rpx;height:18rpx}.f-top .f-card .card-qr{width:140rpx;height:140rpx;margin: auto;position: relative;top: -5px;}.f-top .f-card .card-qr image{display:block;width:100%;height:100%;border-radius: 10px;}.f-top .f-card .card-qr-long{width:100rpx;height:100rpx}.f-top .f-card .card-qr-name{font-family:PingFang-SC-Regular;font-size:22rpx;font-weight:400;font-stretch:normal;letter-spacing:1rpx;color:#333}.f-wr{width:100%;box-sizing:border-box;padding:100rpx 20rpx 0}.title-right,.title-wr{display:flex;align-items:center}.title-wr{justify-content:space-between;padding:28rpx 0;border-bottom:1rpx solid #e7eeee}.title-wr .title-label{position:relative;padding-left:25rpx;font-family:PingFang-SC-Bold;font-size:34rpx;font-weight:400;font-stretch:normal;letter-spacing:0;color:#333}.title-wr .title-label::after{content:'';position:absolute;top:50%;left:0;width:6rpx;height:30rpx;margin-top:-15rpx;background-color:#e60000;border-radius:3rpx;-webkit-border-radius:3rpx;-moz-border-radius:3rpx;-ms-border-radius:3rpx;-o-border-radius:3rpx}.title-wr .title-right-label{font-family:PingFang-SC-Light;font-size:26rpx;font-weight:400;font-stretch:normal;color:#999}.title-wr .right-icon{width:30rpx;height:30rpx}.f-table{background-color:#fbfbfb}.f-table .table-cell{display:flex;align-items:center;padding:26rpx 0;border:solid 1rpx #e3e3e3;border-top:0;font-family:PingFang-SC-Regular;font-size:30rpx;color:#000003}.f-table .table-cell .table-col{flex:1;text-align:center;line-height:1}.f-table .table-cell .table-col-4{color:#dd2a2a}.f-table .table-header{background:#f1f1f1;border:0;font-family:PingFang-SC-Regular;font-size:28rpx;color:#666}.f-btns{display:flex;align-items:center;padding:30rpx 0}.f-btns .f-btns-icon{width:30rpx;height:30rpx;font-size:28rpx;color:#dd2a2a;text-align:center;line-height:30rpx;border:1rpx solid #dd2a2a;border-radius:50%;-webkit-border-radius:50%;-moz-border-radius:50%;-ms-border-radius:50%;-o-border-radius:50%}.f-btns .f-btns-label{margin-left:10rpx;font-size:28rpx;color:#dd2a2a}.mt40{margin-top:40rpx}.mt16{margin-top:16rpx}.no-data{font-size:28rpx;color:#999;text-align:center;line-height:300rpx}.m-fm .fm{top:500rpx;width:600rpx;padding:0 0 40rpx 0;background:#fff;overflow:hidden}.m-fm .fm .btn-close{top:27rpx;padding:0 30rpx;font-size:36rpx;color:#fff;line-height:90rpx}.m-fm .fm .btn-close image{display:block;width:36rpx;height:36rpx}.m-fm .fm .fm-btn{width:240rpx;height:54rpx;margin:20rpx auto 0;font-family:PingFang-SC-Medium;font-size:28rpx;font-weight:400;font-stretch:normal;letter-spacing:0;color:#999;text-align:center;line-height:54rpx;border-radius:27rpx;border:solid 1rpx #eee;-webkit-border-radius:27rpx;-moz-border-radius:27rpx;-ms-border-radius:27rpx;-o-border-radius:27rpx}.m-fm .fm-header{width:100%;height:90rpx;margin-bottom:20rpx;text-align:center;line-height:90rpx;font-family:PingFang-SC-Bold;font-size:32rpx;color:#fff;background-image:linear-gradient(90deg,#ca151d 0,#e11c13 100%)}.m-fm .fm-qr{width:400rpx;height:400rpx;box-sizing:border-box;margin:0 auto}.m-fm .fm-qr image{display:block;width:100%;height:100%}.no-family{padding-top:200rpx}.no-family image{display:block;width:506rpx;margin:0 auto}.no-family .no-btn{width:220rpx;height:66rpx;margin:60rpx auto 0;font-size:32rpx;color:#fff;text-align:center;line-height:66rpx;background-image:linear-gradient(90deg,#ca151d 0,#e11c13 100%);border-radius:30rpx;-webkit-border-radius:30rpx;-moz-border-radius:30rpx;-ms-border-radius:30rpx;-o-border-radius:30rpx}
page {
background: #f7f7f7;
box-sizing: border-box
}
.f-container {
width: 100%;
box-sizing: border-box;
background: #f7f7f7;
}
.f-top {
position: relative;
width: 100%;
height: 200rpx;
background: #e3271c;
border-radius: 0 0 30rpx 30rpx;
-webkit-border-radius: 0 0 30rpx 30rpx;
-moz-border-radius: 0 0 30rpx 30rpx;
-ms-border-radius: 0 0 30rpx 30rpx;
-o-border-radius: 0 0 30rpx 30rpx
}
.f-top .flex-view {
display: flex;
justify-content: space-between;
}
.f-top .f-card {
position: absolute;
left: 50%;
bottom: -64rpx;
width: 690rpx;
height: 200rpx;
margin-left: -345rpx;
background-color: #fff;
box-sizing: border-box;
padding: 28rpx 30rpx 18rpx;
box-shadow: rgba(184, 184, 184, .25) 0px 0px 30px 5px;
overflow: hidden;
border-radius: 14rpx;
-moz-border-radius: 14rpx;
-ms-border-radius: 14rpx;
-o-border-radius: 14rpx;
-webkit-border-radius: 14rpx
}
.f-top .f-card .card-left {
flex-shrink: 0;
flex: 1;
margin-left: 10rpx
}
.f-top .f-card .card-title {
height: 60rpx;
font-family: PingFang-SC-Bold;
font-size: 34rpx;
letter-spacing: 1rpx;
font-weight: bold;
color: #333;
overflow: hidden;
text-align: left;
}
.f-top .f-card .card-num {
display: flex;
align-items: center;
font-family: PingFang-SC-Medium;
font-size: 28rpx;
letter-spacing: 1rpx;
color: #333;
overflow: hidden
}
.f-top .f-card .card-num image {
flex-shrink: 0;
width: 32rpx;
height: 18rpx
}
.f-top .f-card .card-qr {
width: 140rpx;
height: 140rpx;
margin: auto;
position: relative;
/* top: -5px; */
}
.f-top .f-card .card-qr image {
display: block;
width: 100%;
height: 100%;
border-radius: 10px;
}
.f-top .f-card .card-qr-long {
width: 100rpx;
height: 100rpx
}
.f-top .f-card .card-qr-name {
font-family: PingFang-SC-Regular;
font-size: 20rpx;
font-weight: 400;
font-stretch: normal;
letter-spacing: 1rpx;
color: #333
}
.f-wr {
width: 100%;
box-sizing: border-box;
padding: 100rpx 0 0
}
.title-right,
.title-wr {
display: flex;
align-items: center
}
.title-wr {
justify-content: space-between;
padding: 28rpx 0;
border-bottom: 1rpx solid #e7eeee
}
.title-wr .title-label {
position: relative;
padding-left: 25rpx;
font-family: PingFang-SC-Bold;
font-size: 34rpx;
font-weight: 400;
font-stretch: normal;
letter-spacing: 0;
color: #333
}
.title-wr .title-label::after {
content: '';
position: absolute;
top: 50%;
left: 0;
width: 6rpx;
height: 30rpx;
margin-top: -15rpx;
background-color: #e60000;
border-radius: 3rpx;
-webkit-border-radius: 3rpx;
-moz-border-radius: 3rpx;
-ms-border-radius: 3rpx;
-o-border-radius: 3rpx
}
.title-wr .title-right-label {
font-family: PingFang-SC-Light;
font-size: 26rpx;
font-weight: 400;
font-stretch: normal;
color: #999
}
.title-wr .right-icon {
width: 30rpx;
height: 30rpx
}
.f-table {
background-color: #fff
}
.f-table .table-cell {
display: flex;
align-items: center;
padding: 26rpx 0;
border: solid 1rpx #e3e3e3;
border-top: 0;
font-family: PingFang-SC-Regular;
font-size: 30rpx;
color: #000003
}
.f-table .table-cell .table-col {
flex: 1;
text-align: center;
line-height: 1
}
.f-table .table-cell .table-col-4 {
color: #dd2a2a
}
.f-table .table-header {
background: #f1f1f1;
border: 0;
font-family: PingFang-SC-Regular;
font-size: 28rpx;
color: #666
}
.f-btns {
display: flex;
align-items: center;
padding: 30rpx 0
}
.f-btns .f-btns-icon {
width: 30rpx;
height: 30rpx;
font-size: 28rpx;
color: #dd2a2a;
text-align: center;
line-height: 30rpx;
border: 1rpx solid #dd2a2a;
border-radius: 50%;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
-ms-border-radius: 50%;
-o-border-radius: 50%
}
.f-btns .f-btns-label {
margin-left: 10rpx;
font-size: 28rpx;
color: #dd2a2a
}
.mt40 {
margin-top: 40rpx
}
.mt16 {
margin-top: 16rpx
}
.no-data {
font-size: 28rpx;
color: #999;
text-align: center;
line-height: 300rpx
}
.m-fm .fm {
top: 500rpx;
width: 600rpx;
padding: 0 0 40rpx 0;
background: #fff;
overflow: hidden
}
.m-fm .fm .btn-close {
top: 27rpx;
padding: 0 30rpx;
font-size: 36rpx;
color: #fff;
line-height: 90rpx
}
.m-fm .fm .btn-close image {
display: block;
width: 36rpx;
height: 36rpx
}
.m-fm .fm .fm-btn {
width: 240rpx;
height: 54rpx;
margin: 20rpx auto 0;
font-family: PingFang-SC-Medium;
font-size: 28rpx;
font-weight: 400;
font-stretch: normal;
letter-spacing: 0;
color: #999;
text-align: center;
line-height: 54rpx;
border-radius: 27rpx;
border: solid 1rpx #eee;
-webkit-border-radius: 27rpx;
-moz-border-radius: 27rpx;
-ms-border-radius: 27rpx;
-o-border-radius: 27rpx
}
.m-fm .fm-header {
width: 100%;
height: 90rpx;
margin-bottom: 20rpx;
text-align: center;
line-height: 90rpx;
font-family: PingFang-SC-Bold;
font-size: 32rpx;
color: #fff;
background-image: linear-gradient(90deg, #ca151d 0, #e11c13 100%)
}
.m-fm .fm-qr {
width: 400rpx;
height: 400rpx;
box-sizing: border-box;
margin: 0 auto
}
.m-fm .fm-qr image {
display: block;
width: 100%;
height: 100%
}
.no-family {
padding-top: 200rpx
}
.no-family image {
display: block;
width: 506rpx;
margin: 0 auto
}
.no-family .no-btn {
width: 220rpx;
height: 66rpx;
margin: 60rpx auto 0;
font-size: 32rpx;
color: #fff;
text-align: center;
line-height: 66rpx;
background-image: linear-gradient(90deg, #ca151d 0, #e11c13 100%);
border-radius: 30rpx;
-webkit-border-radius: 30rpx;
-moz-border-radius: 30rpx;
-ms-border-radius: 30rpx;
-o-border-radius: 30rpx
}
.tab-bar {
width: 100%;
height: 90rpx;
background: #fff;
overflow-x: scroll;
display: flex;
align-items: center;
justify-content: space-around;
position: relative;
padding:0 60rpx;
box-sizing: border-box;
}
.tab-bar .type {
font-size: 30rpx;
color: #999;
flex: 1;
text-align: center;
/* width: 300rpx; */
height: 90rpx;
line-height: 90rpx;
}
.tab-bar .hover-tabbar {
background: #f3f3f3;
}
.tab-bar .type.selected-resiNew {
color: #F82525;
font-weight: bolder;
}
.tab-bar .type.selected-housePrice {
color: #F82525;
font-weight: bolder;
}
.tab-bar .type.selected-groupPrice {
color: #F82525;
font-weight: bolder;
}
.tab-bar .type.selected-integral {
color: #F82525;
font-weight: bolder;
}
.tab-bar .select-bar {
position: absolute;
bottom: 0;
left: 0;
width: 80rpx;
height: 6rpx;
background: #f95454;
border-radius: 4rpx;
transition: left 0.5s ease;
}
.tab-bar .select-bar.selected-resiNew {
left: 12%;
transition: left 0.5s ease;
}
.tab-bar .select-bar.selected-housePrice {
left: 34%;
transition: left 0.5s ease;
}
.tab-bar .select-bar.selected-groupPrice {
left: 54%;
transition: left 0.5s ease;
}
.tab-bar .select-bar.selected-integral {
left: 75%;
transition: left 0.5s ease;
}
.f-wr .housePrice-list {
overflow-y: scroll;
}
.f-wr .housePrice-list .housePrice-hader{
display: flex;
padding: 20rpx 61rpx;
background-color: #fff;
}
.f-wr .housePrice-list .housePrice-hader .active_btn{
background: #dc1e20;
color: #fff;
border: 1px solid #dc1e20;
opacity: 1;
}
.f-wr .housePrice-list .search-box{
display: flex;
margin-top: 20rpx;
height: 60rpx;
line-height: 60rpx;
align-items: center;
padding: 0 30rpx;
position: relative;
}
.f-wr .housePrice-list .housePrice-content{
width: 100%;
height: 440rpx;
border-radius: 5%;
margin-top: 20rpx;
box-sizing: border-box;
background-color: #fff;
}
.housePrice-images{
display: flex;
justify-content: left;
padding: 20rpx 20rpx 0rpx 0rpx;
background-color: #fff;
height: 230rpx;
border-radius: 0 0 5rpx 5rpx;
}
.housePrice-images image{
margin-left: 20rpx;
border-radius: 5rpx;
float: left;
height: 207rpx;
width: 202rpx;
}
.f-wr .housePrice-list .housePrice-content view{
background-color: #fff;
}
.f-wr .housePrice-list .housePrice-content .housePrice-header{
display: flex;
background-color: #fff;
box-sizing: border-box;
padding: 10rpx 0 10rpx 0;
border-radius: 5rpx 5rpx 0 0 ;
}
.f-wr .housePrice-list .housePrice-content .housePrice-body{
padding: 0 20rpx;
}
.f-wr .housePrice-list .housePrice-content .housePrice-header image{
width: 100rpx;
height: 100rpx;
border-radius: 50%;
}
.f-wr .housePrice-list .housePrice-content .housePrice-header .housePrice-header-name {
display: flex;
flex-direction: column;
justify-content: center;
padding:0 20rpx;
flex: 1;
}
.housePrice-header-top{
display: flex;
justify-content: space-between;
align-items: center;
}
.housePrice-header-top .tag{
background-color: #fff0e2;
color:#ffa822 ;
padding: 0rpx 20rpx;
font-size: 24rpx;
border-radius: 8rpx;
box-sizing: border-box;
margin-left: 20rpx;
height: 40rpx;
line-height: 40rpx;
}
.housePrice-header-name .price{
color: #e74636;
}
.housePrice-header-top .address {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
line-height: 63rpx;
max-width: 250rpx;
}
.housePrice-header-top .date{
color: #757775;
flex: 1;
text-align: right;
overflow: hidden;
height: 63rpx;
line-height: 63rpx;
}
.housePrice-header-name .price{
color: #e74636;
}
.f-wr .housePrice-list .search-img{
width:40rpx;
height:40rpx;
object-fit: cover;
margin: 0 7rpx 0 25rpx;
position: absolute;
z-index: 5;
}
.f-wr .housePrice-list .search-box .search-input{
background: #fff;
border-radius: 25rpx;
padding-left: 24rpx;
width:100%;
height: 100%;
}
.f-wr .housePrice-list .search-box .search-img{
position: absolute;
right: 38rpx;
width: 29rpx;
height: 32rpx;
top:12rpx ;
}
.f-wr .housePrice-list .housePrice-hader view{
width: 166rpx;
height: 56rpx;
line-height: 56rpx;
background: #FFFFFF;
border: 1px solid #828282a9;
border-radius: 28rpx;
text-align: center;
color: #333333;
font-family: PingFang SC;
font-weight: bold;
}
.img_btn{
width: 134rpx;
height: 134rpx;
position: fixed;
bottom: 30rpx;
left: 50%;
transform: translateX(-50rpx);
}
.groupPrice-list {
width: 100%;
overflow-y: scroll;
}
.groupPrice-list .groupPrice-card{
display: flex;
justify-content: space-around;
align-items: center;
margin-top: 14rpx;
padding: 30rpx;
box-sizing: border-box;
background-color: #fff;
}
.groupPrice-list .groupPrice-card image{
border-radius: 20rpx;
width: 220rpx;
height: 146rpx;
}
.groupPrice-list .groupPrice-card .right{
flex: 1;
/* */
height: 146rpx;
flex-direction: column;
justify-content: space-between;
padding-left: 20rpx;
}
.groupPrice-list .groupPrice-card .right view{
height: 50%;
display: flex;
align-items: center;
}
.nomore-tip {
width: 100%;
height: 100rpx;
background: #f7f7f7;
display: flex;
justify-content: center;
align-items: center;
color: #999;
font-size: 26rpx;
}

19
epdc-resident-mp-yushan/utils/api.js

@ -85,7 +85,10 @@ module.exports = {
bindingFamily,
getFamilyMember,
getSkipDirection,
getRoomCodeByIdCard
getRoomCodeByIdCard,
getHousesalerentinfo,
getmypublishedlist,
deleteHouse,
}
function getToken(wxCode) {
@ -628,4 +631,16 @@ function getSkipDirection (params) {
//
function getRoomCodeByIdCard (params) {
return fly.get('custom/personroom/getRoomCodeByIdCard', params)
}
}
//
function getHousesalerentinfo(params) {
return fly.get('custom/housesalerentinfo/resi/list', params)
}
//我的房屋列表
function getmypublishedlist(params) {
return fly.get('custom/housesalerentinfo/resi/mypublishedlist', params)
}
//删除房屋
function deleteHouse(id){
return fly.post(`custom/housesalerentinfo/resi/delete/${id}`)
}

272
epdc-resident-mp-yushan/榆山.md

@ -0,0 +1,272 @@
## 字典
```
HOUSE_STATUS:房屋状态。1在售,2在租,3售出,4租出
HOUSE_TYPE:房屋类别(用途)。1.住宅,2办公,3门头
AUDIT_STATUS:审核状态。-1不通过,0审核中,1已通过
PUBLISH_STATUS:发布状态。1上线,0下线
```
## 居民端-发布信息
```
curl --request POST \
--url http://localhost:9076/custom/housesalerentinfo/publish \
--header 'content-type: application/json' \
--header 'userId: 1' \
--data '{
"houseStatus": 2, // 房屋状态。1在售,2在租,3售出,4租出
"houseType": 2, // 房屋类别(用途)。1.住宅,2办公,3门头
"houseModel": "1室一厅",
"area": "78平",
"insideArea": "60平",
"floor": "18层",
"price": "2000/平方",
"orientation": "南北",s
"hasElevator": 1, // 电梯。0无,1有
"description": "领包入住",
"photoList": [
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20200610/ee924c03f2a94444927c77b706fe1d73.png","https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201105/f99fbb5d73464600942bc8626e7de899.png"
],
"contact": "1855555555",
"address": "人民路第一小学"
}'
```
```
{
"code": 0,
"data": null,
"msg": "success"
}
```
## 居民端-居民端列表
```
curl --request GET \
--url 'http://localhost:9076/custom/housesalerentinfo/resi/list?houseStatus=2&pageNum=1&pageSize=10&search=aaa'
```
```
{
"code": 0,
"data": {
"list": [
{
"address": "人民路第一小学",
"area": "78平",
"auditStatus": 1,
"auditStatusDisplay": "已通过",
"contact": "1855555555",
"createdData": "2023-05-06 09:19:54",
"createdTime": "2023-05-06 09:19:54",
"description": "领包入住",
"floor": "18层",
"hasElevator": 1,
"houseModel": "1室一厅",
"houseStatus": 2,
"houseStatusDisplay": "在租",
"houseType": 2,
"insideArea": "60平",
"orientation": "南北",
"photoList": [
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20200610/ee924c03f2a94444927c77b706fe1d73.png",
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201105/f99fbb5d73464600942bc8626e7de899.png"
],
"price": "2000/平方",
"publishStatus": 1,
"publishStatusDisplay": "上架"
}
],
"total": 1
},
"msg": "success"
}
```
## 居民端 -我发布的列表
```
curl --request GET \
--url 'http://localhost:9076/custom/housesalerentinfo/resi/mypublishedlist?pageNum=1&pageSize=10' \
--header 'userId: 2'
```
```
{
"code": 0,
"data": {
"list": [
{
"address": "人民路第一小学",
"area": "78平",
"auditStatus": 0,
"auditStatusDisplay": "审核中",
"contact": "1855555555",
"createdData": "2023-05-06 09:19:54",
"createdTime": "2023-05-06 09:19:54",
"description": "领包入住",
"floor": "18层",
"hasElevator": 1,
"houseModel": "1室一厅",
"houseStatus": 2,
"houseStatusDisplay": "在租",
"houseType": 2,
"insideArea": "60平",
"orientation": "南北",
"photoList": [
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20200610/ee924c03f2a94444927c77b706fe1d73.png",
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201105/f99fbb5d73464600942bc8626e7de899.png"
],
"price": "2000/平方",
"publishStatus": 0,
"publishStatusDisplay": "下架"
}
],
"total": 1
},
"msg": "success"
}
```
## 工作段 - 审核列表(包括待审核,审核通过,审核不通过三个状态,可以通过参数指定)
```
curl --request GET \
--url 'http://localhost:9076/custom/housesalerentinfo/work/list2audit?pageNum=0&pageSize=10&auditStatus=0'
```
```
{
"code": 0,
"data": {
"list": [
{
"id":"aaa",
"address": "人民路第一小学",
"area": "78平",
"auditStatus": 1,
"auditStatusDisplay": "已通过",
"contact": "1855555555",
"createdData": "2023-05-06 09:19:54",
"createdTime": "2023-05-06 09:19:54",
"description": "领包入住",
"floor": "18层",
"hasElevator": 1,
"houseModel": "1室一厅",
"houseStatus": 2,
"houseStatusDisplay": "在租",
"houseType": 2,
"insideArea": "60平",
"orientation": "南北",
"photoList": [
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20200610/ee924c03f2a94444927c77b706fe1d73.png",
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201105/f99fbb5d73464600942bc8626e7de899.png"
],
"price": "2000/平方",
"publishStatus": 1,
"publishStatusDisplay": "上架"
},
{
"address": "裕龙檀顶山",
"area": "100平",
"auditStatus": 1,
"auditStatusDisplay": "已通过",
"contact": "1855555555",
"createdData": "2023-05-06 09:18:56",
"createdTime": "2023-05-06 09:18:56",
"description": "领包入住",
"floor": "18层",
"hasElevator": 1,
"houseModel": "2室一厅",
"houseStatus": 1,
"houseStatusDisplay": "在售",
"houseType": 1,
"insideArea": "78平",
"orientation": "南北",
"photoList": [
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20200610/ee924c03f2a94444927c77b706fe1d73.png",
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20201105/f99fbb5d73464600942bc8626e7de899.png"
],
"price": "1666/平方",
"publishStatus": 1,
"publishStatusDisplay": "上架"
}
],
"total": 2
},
"msg": "success"
}
```
## 工作段 - 提交审核结果
```
curl --request POST \
--url http://localhost:9076/custom/housesalerentinfo/work/audit \
--header 'content-type: application/json' \
--data '{
"id": "522e40e62ede05b46aadd2347cbcadd0",
"auditStatus": 1
}'
```
```
{
"code": 500,
"data": null,
"msg": "该数据已经审核,无需再次审核。"
}
```
## 居民端-删除
```
curl --request POST \
--url http://localhost:9076/custom/housesalerentinfo/resi/delete/3451c8c6bbc6b8c9aa8e0fbb2862bebb
```
```
{
"code": 0,
"data": null,
"msg": "success"
}
```
## 居民端-修改
```
curl --request POST \
--url http://localhost:9076/custom/housesalerentinfo/resi/update \
--header 'content-type: application/json' \
--data '{
"id": "522e40e62ede05b46aadd2347cbcadd0",
"houseStatus": 3,
"houseType": 2,
"houseModel": "1室一厅",
"area": "78平",
"insideArea": "60平",
"floor": "18层",
"price": "2000/平方",
"orientation": "南北",
"hasElevator": 1,
"description": "领包入住",
"photoList": [
"https://elink-esua-epdc.oss-cn-qingdao.aliyuncs.com/epmet/test/20200610/ee924c03f2a94444927c77b706fe1d73.png"
],
"contact": "1855555555",
"address": "人民路第一小学111"
}'
```
```
{
"code": 0,
"data": null,
"msg": "success"
}
```
## 居民端-详情
Loading…
Cancel
Save