diff --git a/components/zy/filterDropdown.vue b/components/zy/filterDropdown.vue
index caa9b6c..4bea082 100644
--- a/components/zy/filterDropdown.vue
+++ b/components/zy/filterDropdown.vue
@@ -1,7 +1,14 @@
-
-
+
@@ -94,7 +94,7 @@ export default {
async onShow() {
try {
- await this.$checkToken(this.$getToken())
+ // await this.$checkToken(this.$getToken())
this.getContractDetail()
} catch (e) {
return
@@ -132,20 +132,30 @@ export default {
methods: {
/** 合同详情 + 第一条资产 */
getContractDetail() {
- this.$u.get(`/contract/detail?contractNo=${this.contractNo}`, {},{
- WT: this.$getToken()
- }).then(res => {
- console.log(res)
- this.contract = res.data || {}
+ // TODO: 接口联调时取消注释,删除 mock 数据
+ // this.$u.get(`/contract/detail?contractNo=${this.contractNo}`, {},{
+ // WT: this.$getToken()
+ // }).then(res => {
+ // console.log(res)
+ // this.contract = res.data || {}
+ // // this.assetList = (res.assetsInfos.assets || []).map((item, index) => ({
+ // // ...item,
+ // // expanded: index === 0
+ // // }))
+ // // this.hasMoreAssets =
+ // // this.assetList.length < (res.totalAssets || 0)
+ // })
- // this.assetList = (res.assetsInfos.assets || []).map((item, index) => ({
- // ...item,
- // expanded: index === 0
- // }))
-
- // this.hasMoreAssets =
- // this.assetList.length < (res.totalAssets || 0)
- })
+ // Mock 静态数据
+ this.contract = {
+ contractNo: this.contractNo || 'HT-2026-001',
+ contractName: '东山大道435-2-1-104号房屋租赁合同',
+ signStatus: '待签署',
+ startDate: '2026-01-01',
+ endDate: '2026-12-31',
+ rentFee: 2500,
+ deposit: 5000
+ }
},
/** 加载更多资产 */
@@ -337,7 +347,7 @@ export default {
&::v-deep .u-btn {
font-size: 30rpx;
color: #fff;
- background: linear-gradient(90deg, #ff6f63 0%, #fb392a 100%);
+ background-color: #0088FE;
border-radius: 10rpx;
}
}
diff --git a/pages-biz/login/login.vue b/pages-biz/login/login.vue
index 25aa7a4..a232001 100644
--- a/pages-biz/login/login.vue
+++ b/pages-biz/login/login.vue
@@ -205,7 +205,7 @@
.login-btn {
width: 100%;
height: 88rpx;
- background-color: 0088FE;
+ background-color: #0088FE;
border-radius: 49rpx;
font-size: 36rpx;
color: #fff;
diff --git a/pages-biz/message/message.vue b/pages-biz/message/message.vue
index fafa5b4..9783e3c 100644
--- a/pages-biz/message/message.vue
+++ b/pages-biz/message/message.vue
@@ -47,9 +47,9 @@ export default {
},
async onShow() {
try {
- await this.$checkToken(this.$getToken())
- this.checkOaAuth()
- this.fetchMessageList()
+ // await this.$checkToken(this.$getToken())
+ // this.checkOaAuth()
+ // this.fetchMessageList()
} catch (e) {
return
}
@@ -96,32 +96,70 @@ export default {
}
},
fetchMessageList(){
- // ✅ 正确判断加载状态
if (this.loadStatus !== 'more') return;
this.loadStatus = 'loading';
-
- let url = '/message/queryPage'
- this.$u.post(url, {
- pageNo: this.pageNo,
- pageSize: this.pageSize
- }, {
- WT: this.$getToken()
- }).then(res => {
- const rows = res.data.result || [];
- if (this.pageNo === 1) this.flowList = [];
- this.flowList = this.flowList.concat(rows);
-
- // ✅ 判断是否还有更多
- if (rows.length < this.pageSize) {
- this.loadStatus = 'nomore';
- } else {
- this.pageNo++;
- this.loadStatus = 'more';
+
+ // TODO: 接口联调时取消注释,删除 mock 数据
+ // let url = '/message/queryPage'
+ // this.$u.post(url, {
+ // pageNo: this.pageNo,
+ // pageSize: this.pageSize
+ // }, {
+ // WT: this.$getToken()
+ // }).then(res => {
+ // const rows = res.data.result || [];
+ // if (this.pageNo === 1) this.flowList = [];
+ // this.flowList = this.flowList.concat(rows);
+ // if (rows.length < this.pageSize) {
+ // this.loadStatus = 'nomore';
+ // } else {
+ // this.pageNo++;
+ // this.loadStatus = 'more';
+ // }
+ // }).catch(err => {
+ // console.log("获取消息列表失败:", err)
+ // this.loadStatus = 'more';
+ // })
+
+ // Mock 静态数据
+ const mockData = [
+ {
+ id: '1',
+ icon: '/static/icon/msg-1.png',
+ title: '账单提醒',
+ desc: '您有一笔租金待支付,请及时处理',
+ time: '2026-06-27 10:30',
+ read: false
+ },
+ {
+ id: '2',
+ icon: '/static/icon/msg-2.png',
+ title: '合同签署',
+ desc: '您的租赁合同已生成,请尽快签署',
+ time: '2026-06-26 14:20',
+ read: false
+ },
+ {
+ id: '3',
+ icon: '/static/icon/msg-1.png',
+ title: '缴费成功',
+ desc: '您已成功缴纳5月份租金2500元',
+ time: '2026-06-25 09:15',
+ read: true
+ },
+ {
+ id: '4',
+ icon: '/static/icon/msg-2.png',
+ title: '预约确认',
+ desc: '您预约的看房申请已确认,管家将联系您',
+ time: '2026-06-24 16:45',
+ read: true
}
- }).catch(err => {
- console.log("获取消息列表失败:", err)
- this.loadStatus = 'more'; // ✅ 异常恢复
- })
+ ];
+
+ if (this.pageNo === 1) this.flowList = [];
+ this.flowList = this.flowList.concat(mockData);
+ this.loadStatus = 'nomore';
},
loadMore() {
this.fetchMessageList()
diff --git a/pages-biz/profile/setting.vue b/pages-biz/profile/setting.vue
index f395b48..5e7df00 100644
--- a/pages-biz/profile/setting.vue
+++ b/pages-biz/profile/setting.vue
@@ -4,7 +4,7 @@
-
+
+
-
-
-
-
- 预约时间:
- {{ formatDate(item.date) }}
-
+
+
-
-
- 地址:
- {{ item.assetAddress }}
-
-
-
-
- 管家:
- {{ item.managerName || '未知'}}({{ item.managerPhone || '未知'}})
+
+
+
+
+ {{ item.assetName }}
+
+
+ {{ item.assetAddress }}
+
+
+
+ {{ item.managerName || '未知' }}({{ item.managerPhone || '未知' }})
+
-
-
+
+
@@ -100,13 +86,18 @@ export default {
},
async onShow() {
try {
- await this.$checkToken(this.$getToken())
+ // await this.$checkToken(this.$getToken())
this.fetchReserve()
} catch (e) {
return
}
},
// ✅ 删除 scroll-view 冲突的 onReachBottom
+ computed: {
+ staticHost() {
+ return this.$config.staticUrl
+ }
+ },
methods: {
statusText(status) {
switch (status) {
@@ -132,31 +123,62 @@ export default {
return `${year}-${month}-${day} ${weekday} ${hours}:${minutes}`;
},
fetchReserve(){
- // ✅ 正确判断加载状态
if (this.loadStatus !== 'more') return;
- this.loadStatus = 'loading';
- let url = '/reservate/queryPage'
- this.$u.post(url, {
- pageNo: this.pageNo,
- pageSize: this.pageSize
- },{
- WT: this.$getToken()
- }).then(res => {
- const rows = res.data.result || [];
- if (this.pageNo === 1) this.flowList = [];
- this.flowList = this.flowList.concat(rows);
-
- // ✅ 判断是否还有更多数据
- if (rows.length < this.pageSize) {
- this.loadStatus = 'nomore';
- } else {
- this.pageNo++;
- this.loadStatus = 'more';
+ this.loadStatus = 'loading';
+
+ // TODO: 接口联调时取消注释,删除 mock 数据
+ // let url = '/reservate/queryPage'
+ // this.$u.post(url, {
+ // pageNo: this.pageNo,
+ // pageSize: this.pageSize
+ // },{
+ // WT: this.$getToken()
+ // }).then(res => {
+ // const rows = res.data.result || [];
+ // if (this.pageNo === 1) this.flowList = [];
+ // this.flowList = this.flowList.concat(rows);
+ // if (rows.length < this.pageSize) {
+ // this.loadStatus = 'nomore';
+ // } else {
+ // this.pageNo++;
+ // this.loadStatus = 'more';
+ // }
+ // }).catch(err => {
+ // console.log("获取预约记录失败:", err)
+ // this.loadStatus = 'more';
+ // })
+
+ // Mock 静态数据
+ const mockData = [
+ {
+ id: '1',
+ assetName: '东山大道435-2-1-104号',
+ status: 'pending',
+ date: '2026-06-28 14:00:00',
+ assetAddress: '宜昌市西陵区东山大道435号',
+ managerName: '张管家',
+ managerPhone: '13800138001',
+ lat: 30.7086,
+ lng: 111.2842,
+ coverImg: '/public/static/index/assets.jpg'
+ },
+ {
+ id: '2',
+ assetName: '夷陵大道418号',
+ status: 'done',
+ date: '2026-06-20 10:30:00',
+ assetAddress: '宜昌市西陵区夷陵大道418号',
+ managerName: '李管家',
+ managerPhone: '13800138002',
+ lat: 30.7120,
+ lng: 111.2900,
+ coverImg: '/public/static/index/assets.jpg'
}
- }).catch(err => {
- console.log("获取预约记录失败:", err)
- this.loadStatus = 'more'; // ✅ 异常恢复
- })
+ ];
+
+ if (this.pageNo === 1) this.flowList = [];
+ this.flowList = this.flowList.concat(mockData);
+ this.loadStatus = 'nomore';
},
viewLocation(item) {
uni.openLocation({
@@ -198,7 +220,6 @@ export default {
.reserve-records {
min-height: 100vh;
padding-top: 175rpx;
- background: linear-gradient(0deg, #F3F1ED 43%, #F5E9DB 100%);
box-sizing: border-box;
}
@@ -209,13 +230,13 @@ export default {
}
.record-list {
- padding: 30rpx 40rpx;
+ padding: 30rpx 20rpx;
}
.record-card {
background: #fff;
border-radius: 12rpx;
- padding: 32rpx;
+ padding: 25rpx;
margin-bottom: 30rpx;
box-shadow: 0 2rpx 12rpx rgba(0, 0, 0, 0.05);
}
@@ -224,63 +245,79 @@ export default {
display: flex;
justify-content: space-between;
align-items: center;
- margin-bottom: 24rpx;
+ padding-bottom: 20rpx;
}
-.asset-name {
- font-size: 32rpx;
+.reserve-time {
+ font-size: 30rpx;
font-weight: 500;
- color: #2D2B2C;
+ color: #333;
}
.record-status {
- font-size: 26rpx;
- padding: 10rpx 15rpx;
+ font-size: 28rpx;
+ padding: 6rpx 16rpx;
border-radius: 4rpx;
&.done {
- background: #FCE5E0;
- color: #ED7748;
+ background: #fff;
+ color: #0088FE;
}
&.pending {
- background: #F2F3F7;
- color: #86868C;
+ background: #fff;
+ color: #FF8D1A;
}
}
-.card-content {
- margin-bottom: 32rpx;
+.card-divider {
+ height: 1rpx;
+ background-color: #f0f0f0;
}
-.info-item {
+.card-body {
display: flex;
- align-items: flex-start;
+ padding: 24rpx 0;
}
-.info-item:last-child {
- margin-bottom: 0;
-}
-
-.info-label {
- font-size: 24rpx;
- color: #666;
- width: 120rpx;
+.cover-img {
+ width: 160rpx;
+ height: 160rpx;
+ border-radius: 8rpx;
flex-shrink: 0;
- line-height: 44rpx;
+ background-color: #f5f5f5;
}
-.info-value {
- font-size: 24rpx;
- color: #333;
+.card-info {
flex: 1;
- line-height: 44rpx;
+ margin-left: 20rpx;
+ display: flex;
+ flex-direction: column;
+ justify-content: space-between;
+}
+
+.asset-name {
+ font-size: 30rpx;
+ font-weight: 600;
+ color: #2D2B2C;
+ margin-bottom: 12rpx;
+}
+
+.info-row {
+ display: flex;
+ align-items: center;
+ margin-bottom: 8rpx;
+}
+
+.info-text {
+ font-size: 24rpx;
+ color: #999;
+ margin-left: 8rpx;
}
.action-buttons {
display: flex;
justify-content: flex-end;
gap: 20rpx;
- margin-top: 32rpx;
- padding-top: 32rpx;
+ padding-top: 20rpx;
border-top: 1rpx solid #f0f0f0;
}
@@ -288,20 +325,20 @@ export default {
width: 220rpx;
height: 72rpx;
background: #fff;
- color: #2D2B2C;
+ color: #0088FE;
font-size: 28rpx;
border-radius: 8rpx;
display: flex;
align-items: center;
justify-content: center;
box-sizing: border-box;
- border: 1px solid #222222;
+ border: 1px solid #0088FE;
}
.call-btn {
width: 220rpx;
height: 72rpx;
- background: #ff3b30;
+ background: #0088FE;
color: #fff;
font-size: 28rpx;
border-radius: 8rpx;
diff --git a/pages-biz/search/searchList.vue b/pages-biz/search/searchList.vue
index 513c3d5..6c5cf24 100644
--- a/pages-biz/search/searchList.vue
+++ b/pages-biz/search/searchList.vue
@@ -4,25 +4,29 @@
back-icon-color="#2D2B2C">
-
-
-
-
-
-
-
-
-
- {{ city ||'宜昌市'}}
-
-
-
-
-
+
+
+ {{ city ||'宜昌市'}}
+
+
+
+
-
+
+
+
+
+
+
+
+
+
{{ tag }}
@@ -96,7 +100,7 @@
tagGroupList: [],
selectedTags: [],
background: {
- backgroundImage: 'linear-gradient(-90deg, #F9DED9 0%, #F8DFC0 99%);'
+ backgroundImage: 'linear-gradient(-90deg, rgb(207,240,255),rgb(179,217,255) 0% 99%);'
},
}
},
@@ -167,49 +171,93 @@
this.loadStatus = 'loading';
- this.$u.post('/assets/queryPage', {
- assetsStatus:'闲置中',
- assetsType: type,
- pageNo: this.pageNo,
- pageSize: this.pageSize,
- keyWord: keyword,
- bizZone: this.searchData.bizZone,
- layout: this.searchData.layout,
- renovationStatus: this.searchData.decoration,
- features: this.searchData.feature
- }).then(result => {
- const rows = result.data.result || [];
-
- if (this.pageNo === 1 && rows.length === 0) {
- this.flowList = [];
- this.loadStatus = 'nomore';
- return;
- }
-
- rows.forEach(row => {
- if (row.coverImgUrl) {
- row.coverImgUrl = this.$config.staticUrl + row.coverImgUrl
- } else {
- row.coverImgUrl = this.$config.staticUrl + this.defaultImgUrl
- }
- })
-
- this.flowList = this.flowList.concat(rows);
-
- if (rows.length < this.pageSize) {
- this.loadStatus = 'nomore';
- } else {
- this.pageNo++;
- this.loadStatus = 'more'; // ✅ 恢复
- }
- this.keyWord = null
+ // TODO: 接口联调时取消注释,删除 mock 数据
+ // this.$u.post('/assets/queryPage', {
+ // assetsStatus:'闲置中',
+ // assetsType: type,
+ // pageNo: this.pageNo,
+ // pageSize: this.pageSize,
+ // keyWord: keyword,
+ // bizZone: this.searchData.bizZone,
+ // layout: this.searchData.layout,
+ // renovationStatus: this.searchData.decoration,
+ // features: this.searchData.feature
+ // }).then(result => {
+ // const rows = result.data.result || [];
+ // if (this.pageNo === 1 && rows.length === 0) {
+ // this.flowList = [];
+ // this.loadStatus = 'nomore';
+ // return;
+ // }
+ // rows.forEach(row => {
+ // if (row.coverImgUrl) {
+ // row.coverImgUrl = this.$config.staticUrl + row.coverImgUrl
+ // } else {
+ // row.coverImgUrl = this.$config.staticUrl + this.defaultImgUrl
+ // }
+ // })
+ // this.flowList = this.flowList.concat(rows);
+ // if (rows.length < this.pageSize) {
+ // this.loadStatus = 'nomore';
+ // } else {
+ // this.pageNo++;
+ // this.loadStatus = 'more';
+ // }
+ // this.keyWord = null
+ // }).catch(err => {
+ // console.log("获取资产信息失败:", err);
+ // this.loadStatus = 'more';
+ // }).finally(() => {
+ // uni.stopPullDownRefresh();
+ // });
- }).catch(err => {
- console.log("获取资产信息失败:", err);
- this.loadStatus = 'more'; // ✅ 恢复
- }).finally(() => {
+ // Mock 静态数据
+ const mockData = [
+ {
+ assetsNo: 'ASSET-001',
+ assetsName: '东山大道435-2-1-104号',
+ assetsType: '住宅',
+ footPrint: 120,
+ orientation: '南',
+ coverImgUrl: this.$config.staticUrl + this.defaultImgUrl,
+ tags: ['近地铁', '精装修']
+ },
+ {
+ assetsNo: 'ASSET-002',
+ assetsName: '夷陵大道418号商铺',
+ assetsType: '商铺',
+ footPrint: 85,
+ orientation: '东',
+ coverImgUrl: this.$config.staticUrl + this.defaultImgUrl,
+ tags: ['临街', '人流量大']
+ },
+ {
+ assetsNo: 'ASSET-003',
+ assetsName: '解放路88号写字楼',
+ assetsType: '写字楼',
+ footPrint: 200,
+ orientation: '南',
+ coverImgUrl: this.$config.staticUrl + this.defaultImgUrl,
+ tags: ['交通便利', '配套齐全']
+ },
+ {
+ assetsNo: 'ASSET-004',
+ assetsName: '沿江大道168号住房',
+ assetsType: '住宅',
+ footPrint: 95,
+ orientation: '南',
+ coverImgUrl: this.$config.staticUrl + this.defaultImgUrl,
+ tags: ['拎包入住', '采光好']
+ }
+ ];
+
+ setTimeout(() => {
+ if (this.pageNo === 1) this.flowList = [];
+ this.flowList = this.flowList.concat(mockData);
+ this.loadStatus = 'nomore';
+ this.keyWord = null;
uni.stopPullDownRefresh();
- });
+ }, 500);
},
loadMore() {
if (this.loadStatus !== 'more') return;
@@ -239,18 +287,26 @@
this.filterData = searchData;
},
async getFeatures(){
- const res = await this.$u.get('/assets/getFeatures');
- if (res.flag) {
- return res.data;
- }
- return [];
+ // TODO: 接口联调时取消注释,删除 mock 数据
+ // const res = await this.$u.get('/assets/getFeatures');
+ // if (res.flag) {
+ // return res.data;
+ // }
+ // return [];
+
+ // Mock 静态数据
+ return ['近地铁', '精装修', '拎包入住', '采光好', '临街', '配套齐全', '交通便利'];
},
async getBizZone(){
- const res = await this.$u.get('/assets/getBizZones');
- if (res.flag) {
- return res.data;
- }
- return [];
+ // TODO: 接口联调时取消注释,删除 mock 数据
+ // const res = await this.$u.get('/assets/getBizZones');
+ // if (res.flag) {
+ // return res.data;
+ // }
+ // return [];
+
+ // Mock 静态数据
+ return ['CBD商圈', '解放路商圈', '沿江大道', '东山大道', '夷陵大道'];
},
getImageSize(url, index) {
uni.getImageInfo({
@@ -306,13 +362,14 @@
}
.search-list-content {
- background: linear-gradient(-90deg, #F9DED9 0%, #F8DFC0 99%);
+ background: linear-gradient(-90deg, rgb(207,240,255),rgb(179,217,255) 0% 99%);
border-radius: 0rpx;
- padding-bottom: 20rpx;
+ padding-bottom: 0;
+ padding-top: var(--window-top, 0);
}
.search-bar-wrapper {
- padding: 10rpx 20rpx;
+ padding: 10rpx 20rpx 0;
}
.search-bar {
@@ -361,7 +418,7 @@
}
.filter-dropdown-wrapper {
- margin-bottom: 20rpx;
+ margin-bottom: 0;
}
.tag-group {
diff --git a/pages/center/center.vue b/pages/center/center.vue
index 3a274f7..740e8de 100644
--- a/pages/center/center.vue
+++ b/pages/center/center.vue
@@ -9,18 +9,18 @@
{{user.userName || '用户0564'}}
- {{user.oaAuth ? '已认证' : '未认证'}}
+
+
用户类型:{{user.userType ==='0' ? '个人' : '组织'}}
-
+
{{ unreadMsgCount > 99 ? '99+' : unreadMsgCount }}
-
@@ -28,95 +28,135 @@
- 我的合同
-
-
+
+
+ 我的合同
+
+
+
+
+ 待签署合同
{{unsignContractNum}}
- 份待签署合同
-
-
-
+
+
+
- 我的预约
-
-
+
+
+ 我的预约
+
+
+
+
+ 预约中
{{handlingReserveNum}}
- 个预约中
-
-
-
+
+
+
- 订单信息
+ 常用功能
-
+
-
+
- 账单
-
-
-
-
-
- 租赁资产
-
-
-
-
-
- {{ unpaidWaeCount > 99 ? '99+' : unpaidWaeCount }}
-
-
- 水电费待付
+ 我的合同
-
-
-
+
+
+
- 租金待付
+ 租赁账单
+
+
+
+
+
+
+ 水电账单
+
+
+
+
+
+
+ 收支记录
+
+
+
+
+
+
+ 看房预约
+
+
+
+
+
+
+ 退租申请
+
+
+
+
+
+
+ 我要留言
-
-
- {{ unpaidMargin > 99 ? '99+' : unpaidMargin }}
-
+
+
- 保证金待付
+ 维修需求
-
+
- 辅助工具
+ 其他功能
-
-
-
+
+
+
+ 实名认证
+ 个人实名信息认证
- 留言板
+ {{user.oaAuth ? '已认证' : '未认证'}}
+
-
-
-
-
- 计算器
+
+
+ 计算器
+ 便捷工具
+
+
+
+
+
+ 设置
+ 小程序相关设置
+
+
+
@@ -185,12 +225,12 @@
try {
// await this.$checkToken(this.$getToken())
this.loadUserInfo()
- this.countHandlingReserve()
- this.countUnHandleContract()
- this.countUnpayRentBills()
- this.countUnpayWaeBills()
- this.countUnreadMsg()
- this.countUnpaidRentMargin()
+ // this.countHandlingReserve()
+ // this.countUnHandleContract()
+ // this.countUnpayRentBills()
+ // this.countUnpayWaeBills()
+ // this.countUnreadMsg()
+ // this.countUnpaidRentMargin()
} catch (e) {
return
}
@@ -349,15 +389,21 @@
.name-text {
font-size: 38rpx;
- font-weight: 500;
+ font-weight: 700;
color: #2D2B2C;
margin-right: 16rpx;
}
+ .user-type-icon {
+ width: 34rpx;
+ height: 34rpx;
+ margin-right: 8rpx;
+ }
+
.auth-tag {
font-size: 26rpx;
color: #86868C;
- padding: 4rpx 12rpx;
+ padding: 8rpx 12rpx;
}
.user-type {
@@ -381,7 +427,7 @@
.contract-appointment {
display: flex;
gap: 30rpx;
- padding: 20rpx;
+ padding: 15rpx;
}
.card {
@@ -389,59 +435,66 @@
background-color: #fff;
border-radius: 10rpx;
padding: 24rpx;
- display: flex;
- flex-direction: column;
- }
-
- .card-title {
- font-size: 30rpx;
- font-weight: 500;
- color: #222222;
- }
-
- .card-main {
display: flex;
justify-content: space-between;
align-items: center;
- position: relative;
+ min-height: 160rpx;
}
- .card-content {
+ .card-left {
flex: 1;
}
- .card-number {
- font-size: 48rpx;
- font-weight: 600;
- color: #EC712E;
- margin-bottom: 8rpx;
+ .card-title {
+ display: flex;
+ align-items: center;
+ font-size: 35rpx;
+ font-weight: 700;
+ color: #222222;
+ margin-bottom: 16rpx;
+ }
+
+ .arrow-icon {
+ margin-left: 5rpx;
+ }
+
+ .card-info {
+ display: flex;
+ flex-direction: column;
}
.card-type {
font-size: 26rpx;
color: #86868C;
+ margin-bottom: 8rpx;
+ }
+
+ .card-number {
+ font-size: 48rpx;
+ font-weight: 600;
+ color: #258AE6;
+ }
+
+ .card-right {
+ display: flex;
+ align-items: center;
}
.card-icon {
- position: absolute;
- right: 0;
- bottom: -20rpx;
- }
-
- .card-icon image {
width: 120rpx;
- height: 111rpx;
+ max-height: 100rpx;
}
/* 我的服务 */
.my-service {
+ margin-top: 50rpx;
padding: 30rpx 40rpx;
margin-bottom: 30rpx;
}
.service-title {
- font-size: 30rpx;
- font-weight: 500;
+ font-size: 40rpx;
+ font-weight: 700;
color: #222222;
margin-bottom: 30rpx;
}
@@ -464,7 +517,7 @@
}
.service-icon image {
- width: 80rpx;
+ width: 70rpx;
height: 70rpx;
}
@@ -481,40 +534,49 @@
}
.tools-title {
- font-size: 30rpx;
- font-weight: 500;
+ font-size: 40rpx;
+ font-weight: 700;
color: #222222;
margin-bottom: 30rpx;
}
.tools-list {
- margin-top: 50rpx;
- margin-left: -20rpx;
- display: flex;
- flex-flow: row wrap;
+ background-color: #fff;
+ border-radius: 16rpx;
+ overflow: hidden;
}
.tool-item {
- width: 25%;
- margin-bottom: 40rpx;
display: flex;
- flex-direction: column;
align-items: center;
+ padding: 28rpx 24rpx;
+
+ &:active {
+ background-color: #f8f8f8;
+ }
}
.tool-icon {
- margin-bottom: 16rpx;
+ width: 48rpx;
+ height: 48rpx;
+ margin-right: 20rpx;
}
- .tool-icon image {
- width: 47rpx;
- height: 47rpx;
+ .tool-center {
+ flex: 1;
+ display: flex;
+ flex-direction: column;
}
.tool-name {
+ font-size: 30rpx;
+ color: #333;
+ margin-bottom: 6rpx;
+ }
+
+ .tool-desc {
font-size: 24rpx;
- color: #222222;
-
+ color: #999;
}
.badge-wrapper {
position: relative;
@@ -548,4 +610,9 @@
.msg-icon {
position: relative;
}
+
+ .msg-icon-img {
+ width: 48rpx;
+ height: 48rpx;
+ }
\ No newline at end of file
diff --git a/pages/index/index.vue b/pages/index/index.vue
index 43d914d..72b2aa8 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -1,7 +1,7 @@
-
+
新望资产
@@ -301,44 +301,83 @@
if (this.loadStatus !== 'more') return;
this.loadStatus = 'loading';
- let recommendType = this.recommendTabs[this.activeRecommendTab].type;
- let layoutList = this.activeFilterTabs.map(i => this.filterTabs[i].value);
- this.$u.post('/assets/queryPage', {
- assetsType: type,
- pageNo: this.pageNo,
- pageSize: this.pageSize,
- assetsStatus: '闲置中',
- recommendType: recommendType,
- layout: layoutList.length > 0 ? layoutList.join(',') : null
- }).then(result => {
- let rows = result.data.result || [];
- if (this.pageNo === 1 && rows.length === 0) {
- this.flowList = [];
- this.loadStatus = 'nomore';
- return;
- }
- rows.forEach(row => {
- if (row.coverImgUrl) {
- row.coverImgUrl = this.$config.staticUrl + row.coverImgUrl
- } else {
- row.coverImgUrl = this.$config.staticUrl + this.defaultImgUrl
- }
- })
- this.flowList = this.flowList.concat(rows);
- if (rows.length < this.pageSize) {
- this.loadStatus = 'nomore';
- } else {
- this.pageNo++;
- this.loadStatus = 'more';
- }
+ // TODO: 接口联调时取消注释,删除 mock 数据
+ // let recommendType = this.recommendTabs[this.activeRecommendTab].type;
+ // let layoutList = this.activeFilterTabs.map(i => this.filterTabs[i].value);
+ // this.$u.post('/assets/queryPage', {
+ // assetsType: type,
+ // pageNo: this.pageNo,
+ // pageSize: this.pageSize,
+ // assetsStatus: '闲置中',
+ // recommendType: recommendType,
+ // layout: layoutList.length > 0 ? layoutList.join(',') : null
+ // }).then(result => {
+ // let rows = result.data.result || [];
+ // if (this.pageNo === 1 && rows.length === 0) {
+ // this.flowList = [];
+ // this.loadStatus = 'nomore';
+ // return;
+ // }
+ // rows.forEach(row => {
+ // if (row.coverImgUrl) {
+ // row.coverImgUrl = this.$config.staticUrl + row.coverImgUrl
+ // } else {
+ // row.coverImgUrl = this.$config.staticUrl + this.defaultImgUrl
+ // }
+ // })
+ // this.flowList = this.flowList.concat(rows);
+ // if (rows.length < this.pageSize) {
+ // this.loadStatus = 'nomore';
+ // } else {
+ // this.pageNo++;
+ // this.loadStatus = 'more';
+ // }
+ // }).catch(err => {
+ // console.log("获取资产信息失败:", err);
+ // this.loadStatus = 'more';
+ // }).finally(() => {
+ // uni.stopPullDownRefresh();
+ // });
- }).catch(err => {
- console.log("获取资产信息失败:", err);
- this.loadStatus = 'more';
- }).finally(() => {
+ // Mock 静态数据
+ const mockData = [
+ {
+ assetsNo: 'ASSET-001',
+ assetsName: '东山大道435-2-1-104号',
+ assetsType: '住宅',
+ footPrint: 120,
+ coverImgUrl: this.$config.staticUrl + this.defaultImgUrl
+ },
+ {
+ assetsNo: 'ASSET-002',
+ assetsName: '夷陵大道418号商铺',
+ assetsType: '商铺',
+ footPrint: 85,
+ coverImgUrl: this.$config.staticUrl + this.defaultImgUrl
+ },
+ {
+ assetsNo: 'ASSET-003',
+ assetsName: '解放路88号写字楼',
+ assetsType: '写字楼',
+ footPrint: 200,
+ coverImgUrl: this.$config.staticUrl + this.defaultImgUrl
+ },
+ {
+ assetsNo: 'ASSET-004',
+ assetsName: '沿江大道168号住房',
+ assetsType: '住宅',
+ footPrint: 95,
+ coverImgUrl: this.$config.staticUrl + this.defaultImgUrl
+ }
+ ];
+
+ setTimeout(() => {
+ if (this.pageNo === 1) this.flowList = [];
+ this.flowList = this.flowList.concat(mockData);
+ this.loadStatus = 'nomore';
uni.stopPullDownRefresh();
- });
+ }, 500);
},
clickImage(assetsNo) {
console.log(assetsNo)
@@ -383,22 +422,30 @@
});
},
getNoticecList() {
- let url = "/notice/pageQuery";
- this.$u.post(url, {
- pageNo: 1,
- pageSize: 10
- }).then(obj => {
- if (obj.flag) {
- let data = obj.data.result
- if (data) {
- data.filter(item => {
- this.noticeList.push((item.noticeTitle || item.noticeContent))
- })
- }
- }
- }).catch(err => {
- console.log("获取招商公告失败:", err)
- });
+ // TODO: 接口联调时取消注释,删除 mock 数据
+ // let url = "/notice/pageQuery";
+ // this.$u.post(url, {
+ // pageNo: 1,
+ // pageSize: 10
+ // }).then(obj => {
+ // if (obj.flag) {
+ // let data = obj.data.result
+ // if (data) {
+ // data.filter(item => {
+ // this.noticeList.push((item.noticeTitle || item.noticeContent))
+ // })
+ // }
+ // }
+ // }).catch(err => {
+ // console.log("获取招商公告失败:", err)
+ // });
+
+ // Mock 静态数据
+ this.noticeList = [
+ '东山大道435号房屋招租公告',
+ '夷陵大道418号商铺招租',
+ '2026年第三季度资产招租计划'
+ ];
},
onBannerTap(item) {
if (item.url) {
@@ -585,7 +632,7 @@
.filter-item.active {
background: #d4e2ef;
- color: #258AE6;
+ color: #0088FE;
}
.demo-warter {
@@ -613,7 +660,7 @@
.item-price {
font-size: 32rpx;
- color: #258AE6;
+ color: #0088FE;
margin-bottom: 10rpx;
}
@@ -669,7 +716,7 @@
width: 100%;
height: 88rpx;
line-height: 88rpx;
- background: linear-gradient(135deg, #258AE6, #79b5ff);
+ background: linear-gradient(135deg, #0088FE, #79b5ff);
color: #fff;
font-size: 30rpx;
font-weight: 500;