@ -0,0 +1 @@ |
|||
{"containers":[],"config":{}} |
@ -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=" |
|||
} |
After Width: | Height: | Size: 10 KiB |
After Width: | Height: | Size: 222 B |
After Width: | Height: | Size: 2.0 KiB |
After Width: | Height: | Size: 376 B |
After Width: | Height: | Size: 1.8 KiB |
After Width: | Height: | Size: 443 B |
After Width: | Height: | Size: 4.5 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 4.6 KiB |
After Width: | Height: | Size: 4.9 KiB |
After Width: | Height: | Size: 423 B |
After Width: | Height: | Size: 11 KiB |
After Width: | Height: | Size: 752 B |
After Width: | Height: | Size: 649 B |
After Width: | Height: | Size: 1016 B |
After Width: | Height: | Size: 45 KiB |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 78 KiB |
After Width: | Height: | Size: 26 KiB |
@ -0,0 +1,66 @@ |
|||
// pages/groupBuyDetail/groupBuyDetail.js
|
|||
Page({ |
|||
|
|||
/** |
|||
* 页面的初始数据 |
|||
*/ |
|||
data: { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面加载 |
|||
*/ |
|||
onLoad(options) { |
|||
console.log(options); |
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面初次渲染完成 |
|||
*/ |
|||
onReady() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面显示 |
|||
*/ |
|||
onShow() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面隐藏 |
|||
*/ |
|||
onHide() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 生命周期函数--监听页面卸载 |
|||
*/ |
|||
onUnload() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面相关事件处理函数--监听用户下拉动作 |
|||
*/ |
|||
onPullDownRefresh() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 页面上拉触底事件的处理函数 |
|||
*/ |
|||
onReachBottom() { |
|||
|
|||
}, |
|||
|
|||
/** |
|||
* 用户点击右上角分享 |
|||
*/ |
|||
onShareAppMessage() { |
|||
|
|||
} |
|||
}) |
@ -0,0 +1,8 @@ |
|||
{ |
|||
"navigationBarTitleText": "团购详情", |
|||
"usingComponents": { |
|||
"load-more": "/components/loadMore/loadMore", |
|||
"no-data": "/components/nodata/nodata", |
|||
"completeInfo-dialog": "/components/completeInfoDialog/completeInfoDialog" |
|||
} |
|||
} |
@ -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> |
@ -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 */ |
@ -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); |
|||
}) |
|||
} |
|||
}) |
@ -0,0 +1,5 @@ |
|||
{ |
|||
"usingComponents": {}, |
|||
"navigationBarTitleText": "删除房屋" |
|||
|
|||
} |
@ -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> |
@ -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; |
|||
} |
@ -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){ |
|||
} |
|||
} |
|||
}) |
@ -0,0 +1,3 @@ |
|||
{ |
|||
"component": true |
|||
} |
@ -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> |
@ -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 ; |
|||
} |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 22 KiB |
After Width: | Height: | Size: 3.8 KiB |
After Width: | Height: | Size: 8.6 KiB |
After Width: | Height: | Size: 443 B |
@ -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 () {}, |
|||
}) |
|||
}, |
|||
}) |
@ -0,0 +1,7 @@ |
|||
{ |
|||
"navigationBarTitleText": "发布", |
|||
"usingComponents": { |
|||
"date-time-picker": "../../../../components/DateTimePicker/index", |
|||
"wux-actionsheet": "../../../../dist/actionsheet/index" |
|||
} |
|||
} |
@ -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> |
|||
|
|||
|
@ -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; |
|||
} |
@ -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() |
|||
}) |
|||
} |
|||
|
|||
}, |
|||
}) |
@ -0,0 +1,5 @@ |
|||
{ |
|||
"usingComponents": { |
|||
"wux-actionsheet": "../../../../dist/actionsheet/index" |
|||
} |
|||
} |
@ -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> |
@ -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; |
|||
} |
|||
|
@ -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 |
|||
}) |
|||
}, |
|||
|
|||
}) |
@ -0,0 +1,4 @@ |
|||
{ |
|||
"navigationBarTitleText": "房屋详情", |
|||
"usingComponents": {} |
|||
} |
@ -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> |
@ -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; |
|||
|
|||
} |
@ -1,4 +1,7 @@ |
|||
{ |
|||
"navigationBarTitleText": "我的e家", |
|||
"usingComponents": {} |
|||
"usingComponents": { |
|||
"no-data": "/components/nodata/nodata", |
|||
"load-more": "/components/loadMore/loadMore" |
|||
} |
|||
} |
@ -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> |
@ -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; |
|||
} |
@ -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" |
|||
} |
|||
``` |
|||
|
|||
## 居民端-详情 |