diff --git a/main.ts b/main.ts
index 94b8f57..44c70cb 100644
--- a/main.ts
+++ b/main.ts
@@ -23,16 +23,16 @@ import {
export function createApp() {
const app = createSSRApp(App)
app.use(pinia);
-
+
// 全局挂载 useUserInfo,使 nvue 页面可以使用
const userInfoStore = useUserInfo()
uni.$store = {
state: userInfoStore.$state,
- commit: (name: string, value: any) => {
+ commit: (name : string, value : any) => {
userInfoStore[name](value)
}
}
-
+
return {
app
}
diff --git a/pages.json b/pages.json
index 5d6f7ba..70962c4 100644
--- a/pages.json
+++ b/pages.json
@@ -180,40 +180,49 @@
}, {
"root": "pagesB",
"pages": [{
- "path": "complaint/index",
- "style": {
- "enablePullDownRefresh": true,
- "navigationBarTextStyle": "black",
- "navigationStyle": "custom",
- "navigationBarTitleText": "投诉管理"
+ "path": "complaint/index",
+ "style": {
+ "enablePullDownRefresh": true,
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "投诉管理"
+ }
+ }, {
+ "path": "complaint/detail",
+ "style": {
+ "enablePullDownRefresh": false,
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "投诉管理详情"
+ }
+ },
+ {
+ "path": "questionnaire/list",
+ "style": {
+ "enablePullDownRefresh": false,
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "问卷列表"
+ }
+ },
+ {
+ "path": "questionnaire/detail",
+ "style": {
+ "enablePullDownRefresh": false,
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "问卷详情"
+ }
+ }, {
+ "path": "call/index",
+ "style": {
+ "enablePullDownRefresh": false,
+ "navigationBarTextStyle": "black",
+ "navigationStyle": "custom",
+ "navigationBarTitleText": "物业催缴"
+ }
}
- },{
- "path": "complaint/detail",
- "style": {
- "enablePullDownRefresh": false,
- "navigationBarTextStyle": "black",
- "navigationStyle": "custom",
- "navigationBarTitleText": "投诉管理详情"
- }
- },
- {
- "path": "questionnaire/list",
- "style": {
- "enablePullDownRefresh": false,
- "navigationBarTextStyle": "black",
- "navigationStyle": "custom",
- "navigationBarTitleText": "问卷列表"
- }
- },
- {
- "path": "questionnaire/detail",
- "style": {
- "enablePullDownRefresh": false,
- "navigationBarTextStyle": "black",
- "navigationStyle": "custom",
- "navigationBarTitleText": "问卷详情"
- }
- }]
+ ]
}],
"condition": {
"current": 0, // 当前激活的条件,默认为 0
diff --git a/pages/index/index.vue b/pages/index/index.vue
index f560dde..ea4a904 100644
--- a/pages/index/index.vue
+++ b/pages/index/index.vue
@@ -153,7 +153,7 @@
{
image: uni.$globalData?.RESOURCE_URL + 'home/grid/cuijiao.png',
title: '物业催缴',
- type: ''
+ type: 'call'
},
{
image: uni.$globalData?.RESOURCE_URL + 'home/grid/tousu.png',
@@ -287,6 +287,12 @@
url: '/pagesB/questionnaire/list'
});
break;
+ case 'call':
+ // 问卷管理
+ uni.navigateTo({
+ url: '/pagesB/call/index'
+ });
+ break;
default:
break;
}
diff --git a/pagesB/call/index.vue b/pagesB/call/index.vue
new file mode 100644
index 0000000..d97deef
--- /dev/null
+++ b/pagesB/call/index.vue
@@ -0,0 +1,729 @@
+
+
+
+
+
+
+
+
+ 物业费催缴
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 选择单元
+
+
+
+ {{unit.label}}
+ {{getUnitUnpaidCount(unit.value)}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{house.unpaid}}
+
+
+ {{house.number}}
+
+
+ {{house.unpaid > 0 ? house.unpaid + '笔欠费' : '无欠费'}}
+
+
+
+
+
+
+
+
+
+
+
+ 该单元暂无数据
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 欠费账单
+ 共 {{selectedHouse.unpaid}} 笔
+
+
+
+ {{bill.type}}
+ ¥{{bill.amount}}
+
+
+ 账单期间:
+ {{bill.period}}
+
+
+ 逾期时间:
+ {{bill.overdueTime}}
+
+
+ 电话催缴
+ 发送通知
+
+
+
+
+
+ 该住户暂无欠费
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pagesB/questionnaire/list.vue b/pagesB/questionnaire/list.vue
index 8be0dc3..25a7160 100644
--- a/pagesB/questionnaire/list.vue
+++ b/pagesB/questionnaire/list.vue
@@ -31,10 +31,13 @@
-
+
+
+
+
+
+
+
+
+
@@ -143,7 +152,7 @@
const hasPermission = ref(true); // 实际项目中应该从用户信息或权限系统中获取
// 状态管理
- const selectedVillage = ref('1'); // 设置默认选中的小区
+ const selectedVillage = ref('ALL'); // 设置默认为全部小区
const activeStatus = ref('ALL');
const loading = ref(false);
const finished = ref(false);
@@ -362,6 +371,29 @@
resetList();
loadQuestionnaireList();
});
+
+ // 新增变量
+ const showVillagePicker = ref(false);
+ const pickerVillageList = ref([
+ [
+ { value: 'ALL', label: '全部小区' },
+ { value: '1', label: '阳光花园小区' },
+ { value: '2', label: '翠湖庭院' },
+ { value: '3', label: '金色家园' }
+ ]
+ ]);
+
+ // 新增方法
+ const getVillageName = (value) => {
+ const village = villageList.value.find(item => item.value === value);
+ return village ? village.label : '未知小区';
+ };
+
+ const handleVillageConfirm = (selectedItem) => {
+ selectedVillage.value = selectedItem[0].value;
+ resetList();
+ loadQuestionnaireList();
+ };
\ No newline at end of file
diff --git a/unocss/a-hua-unocss/index.scss b/unocss/a-hua-unocss/index.scss
index 139597f..2783821 100644
--- a/unocss/a-hua-unocss/index.scss
+++ b/unocss/a-hua-unocss/index.scss
@@ -1,2 +1,249 @@
+.li-items-center{align-items:center}
+.items-center{align-items:center}
+.justify-end{justify-content:end}
+.li-justify-center{justify-content:center}
+.justify-center{justify-content:center}
+.li-justify-between{justify-content:space-between}
+.justify-between{justify-content:space-between}
+.li-bg-white{background-color:rgb(255,255,255)}
+.li-flex{display:flex}
+.li-flex-center{display:flex;align-items:center;justify-content:center}
+.li-flex-col{flex-direction:column}
+.li-font-bold{font-weight:bold}
+.li-h-130{height:130rpx}
+.li-h-160{height:160rpx}
+.li-h-220{height:220rpx}
+.li-h-58{height:58rpx}
+.li-justify-around{justify-content:space-around}
+.li-ml-22{margin-left:22rpx}
+.li-ml-25{margin-left:25rpx}
+.li-ml-35{margin-left:35rpx}
+.li-mr-5{margin-right:5rpx}
+.li-mt-10{margin-top:10rpx}
+.li-mt-12{margin-top:12rpx}
+.li-mt-14{margin-top:14rpx}
+.li-mt-15{margin-top:15rpx}
+.li-mt-20{margin-top:20rpx}
+.li-mt-30{margin-top:30rpx}
+.li-mx-auto{margin-left:auto;margin-right:auto}
+.li-pt-15{padding-top:15rpx}
+.li-px-25{padding-left:25rpx;padding-right:25rpx}
+.li-px-30{padding-left:30rpx;padding-right:30rpx}
+.li-px-40{padding-left:40rpx;padding-right:40rpx}
+.li-px-50{padding-left:50rpx;padding-right:50rpx}
+.li-py-25{padding-top:25rpx;padding-bottom:25rpx}
+.li-rd-10{border-radius:10rpx}
+.li-rd-15{border-radius:15rpx}
+.li-text-010B3E-color{color:rgb(1,11,62)}
+.li-text-22{font-size:22rpx}
+.li-text-24{font-size:24rpx}
+.li-text-26{font-size:26rpx}
+.li-text-28{font-size:28rpx}
+.li-text-30{font-size:30rpx}
+.li-text-343333-color{color:rgb(52,51,51)}
+.li-text-43{font-size:43rpx}
+.li-text-AFB2B8-color{color:rgb(175,178,184)}
+.li-text-B1B0B0-color{color:rgb(177,176,176)}
+.li-text-F42429-color{color:rgb(244,36,41)}
+.li-w-130{width:130rpx}
+.li-w-310{width:310rpx}
+.li-w-58{width:58rpx}
+.li-w-full-70{width:70%}
+.li-w-full-88{width:88%}
+.border-4-white{border-style:solid;border-color:rgb(255,255,255);border-width:4rpx}
+.bg-f9f9f9{background-color:rgb(249,249,249)}
+.bg-FFFFFF{background-color:rgb(255,255,255)}
+.li-h-110{height:110rpx}
+.li-items-start{align-items:start}
+.li-mb-12{margin-bottom:12rpx}
+.li-mb-20{margin-bottom:20rpx}
+.li-mb-8{margin-bottom:8rpx}
+.li-ml-15{margin-left:15rpx}
+.li-ml-20{margin-left:20rpx}
+.li-mr-10{margin-right:10rpx}
+.li-mr-12{margin-right:12rpx}
+.li-mr-3{margin-right:3rpx}
+.li-mr-6{margin-right:6rpx}
+.li-mt-40{margin-top:40rpx}
+.li-mt-90{margin-top:90rpx}
+.li-pb-25{padding-bottom:25rpx}
+.li-pb-30{padding-bottom:30rpx}
+.li-pl-20{padding-left:20rpx}
+.li-pl-30{padding-left:30rpx}
+.li-pr-30{padding-right:30rpx}
+.li-pt-2{padding-top:2rpx}
+.li-pt-20{padding-top:20rpx}
+.li-pt-30{padding-top:30rpx}
+.li-py-6{padding-top:6rpx;padding-bottom:6rpx}
+.li-rd-20{border-radius:20rpx}
+.li-text-009aff-color{color:rgb(0,154,255)}
+.li-text-32{font-size:32rpx}
+.li-text-40{font-size:40rpx}
+.li-text-42{font-size:42rpx}
+.li-text-55{font-size:55rpx}
+.li-text-5f5f5f-color{color:rgb(95,95,95)}
+.li-text-666-color{color:rgb(102,102,102)}
+.li-text-70{font-size:70rpx}
+.li-text-9a9a9a-color{color:rgb(154,154,154)}
+.li-text-right{text-align:right}
+.li-w-110{width:110rpx}
+.li-w-150{width:150rpx}
+.li-w-400{width:400rpx}
+.li-w-full-85{width:85%}
+.li-w-full-92{width:92%}
+.overflow-hidden{overflow:hidden}
+.li-ml-6{margin-left:6rpx}
+.li-mt-300-important{margin-top:300rpx !important}
+.li-p-15{padding:15rpx}
+.li-pb-15{padding-bottom:15rpx}
+.li-pt-25{padding-top:25rpx}
+.li-pt-4{padding-top:4rpx}
+.li-text-333333-color{color:rgb(51,51,51)}
+.li-text-36{font-size:36rpx}
+.li-text-ff0000-color{color:rgb(255,0,0)}
+.li-w-full-100{width:100%}
+.li-h-100{height:100rpx}
+.li-h-240{height:240rpx}
+.li-h-250{height:250rpx}
+.li-h-50{height:50rpx}
+.li-h-60{height:60rpx}
+.li-items-end{align-items:end}
+.li-justify-start{justify-content:start}
+.li-mb-2{margin-bottom:2rpx}
+.li-ml-4{margin-left:4rpx}
+.li-ml-50{margin-left:50rpx}
+.li-mr-20{margin-right:20rpx}
+.li-mr-50{margin-right:50rpx}
+.li-mt-26{margin-top:26rpx}
+.li-mt-6{margin-top:6rpx}
+.li-mt-60{margin-top:60rpx}
+.li-mx-20{margin-left:20rpx;margin-right:20rpx}
+.li-mx-40{margin-left:40rpx;margin-right:40rpx}
+.li-pb-10{padding-bottom:10rpx}
+.li-pb-14{padding-bottom:14rpx}
+.li-pb-20{padding-bottom:20rpx}
+.li-pt-8{padding-top:8rpx}
+.li-py-20{padding-top:20rpx;padding-bottom:20rpx}
+.li-rd-full-50{border-radius:50%}
+.li-rd-tl-30-important{border-top-left-radius:30rpx !important}
+.li-rd-tr-30-important{border-top-right-radius:30rpx !important}
+.li-text-000000-color{color:rgb(0,0,0)}
+.li-text-19171B-color{color:rgb(25,23,27)}
+.li-text-20{font-size:20rpx}
+.li-text-34{font-size:34rpx}
+.li-text-38{font-size:38rpx}
+.li-text-706e70-color{color:rgb(112,110,112)}
+.li-text-B2B2B2-color{color:rgb(178,178,178)}
+.li-text-BBBDDA-color{color:rgb(187,189,218)}
+.li-text-F2F7FD-color{color:rgb(242,247,253)}
+.li-text-F8C883-color{color:rgb(248,200,131)}
+.li-text-FFFFFF-color{color:rgb(255,255,255)}
+.li-text-b1bbc7-color{color:rgb(177,187,199)}
+.li-w-100{width:100rpx}
+.li-w-240{width:240rpx}
+.li-w-50{width:50rpx}
+.li-w-60{width:60rpx}
+.li-w-full-94{width:94%}
+
+.li-ml-200{margin-left:200rpx}
+.li-ml-30{margin-left:30rpx}
+.li-mr-30{margin-right:30rpx}
+.li-text-25{font-size:25rpx}
+.li-text-35{font-size:35rpx}
+.li-text-46{font-size:46rpx}
+.li-w-full-80{width:80%}
+
+.li-mb-25{margin-bottom:25rpx}
+.li-w-full-90{width:90%}
+
+.li-font-550{font-weight:550}
+.li-h-68{height:68rpx}
+.li-mt-100{margin-top:100rpx}
+.li-mt-28{margin-top:28rpx}
+.li-mt-32{margin-top:32rpx}
+.li-mx-10{margin-left:10rpx;margin-right:10rpx}
+.li-pt-270{padding-top:270rpx}
+.li-rd-40{border-radius:40rpx}
+.li-text-2EA1EA-color{color:rgb(46,161,234)}
+.li-text-a5a5a5-color{color:rgb(165,165,165)}
+.li-w-420{width:420rpx}
+
+
+.li-font-400{font-weight:400}
+.li-m-30{margin:30rpx}
+.li-text-595959-color{color:rgb(89,89,89)}
+
+
+.li-mb-30{margin-bottom:30rpx}
+.li-ml-10{margin-left:10rpx}
+.li-mr-200{margin-right:200rpx}
+.li-mr-4{margin-right:4rpx}
+.li-mt-100-important{margin-top:100rpx !important}
+.li-mt-4{margin-top:4rpx}
+.li-mt-50{margin-top:50rpx}
+.li-mt-8{margin-top:8rpx}
+.li-py-40{padding-top:40rpx;padding-bottom:40rpx}
+.li-text-0070F0-color{color:rgb(0,112,240)}
+.li-text-333-color{color:rgb(51,51,51)}
+.li-text-44{font-size:44rpx}
+.li-text-48{font-size:48rpx}
+.li-text-90{font-size:90rpx}
+.li-text-999-color{color:rgb(153,153,153)}
+.li-text-center{text-align:center}
+.li-text-white{color:rgb(255,255,255)}
+.li-w-500{width:500rpx}
+
+
+
+.li-mb-10{margin-bottom:10rpx}
+.li-mb-15{margin-bottom:15rpx}
+.li-mb-40{margin-bottom:40rpx}
+.li-my-20{margin-top:20rpx;margin-bottom:20rpx}
+.li-p-30{padding:30rpx}
+.li-py-30{padding-top:30rpx;padding-bottom:30rpx}
+.li-text-07c160-color{color:rgb(7,193,96)}
+
+.li-h-90{height:90rpx}
+.li-text-47{font-size:47rpx}
+.li-w-90{width:90rpx}
+
+.li-block{display:block}
+.li-border-b{border-style:solid;border-color:b;border-width:1rpx}
+.li-items-baseline{align-items:baseline}
+.li-mr-15{margin-right:15rpx}
+.li-mt-5{margin-top:5rpx}
+.li-opacity-100{undefined:1}
+.li-py-60{padding-top:60rpx;padding-bottom:60rpx}
+.li-rd-12{border-radius:12rpx}
+.li-rd-16{border-radius:16rpx}
+.li-text-0a4696-color{color:rgb(10,70,150)}
+
+.li-flex-1{flex:1}
+.li-flex-wrap{flex-wrap:wrap}
+.li-line-clamp-2{overflow:hidden;display:-webkit-box;line-clamp:2;-webkit-box-orient:vertical;-webkit-line-clamp:2}
+.li-text-999999-color{color:rgb(153,153,153)}
+.li-w-160{width:160rpx}
+.li-w-full-96{width:96%}
+
+.li-mt-25{margin-top:25rpx}
+
+.li-text-52{font-size:52rpx}
+
+
+
+
+
+.li-h-100{height:100rpx}
+.li-ml-30{margin-left:30rpx}
+.li-mr-30{margin-right:30rpx}
+.li-pt-2{padding-top:2rpx}
+.li-rd-full-50{border-radius:50%}
+.li-text-25{font-size:25rpx}
+.li-text-35{font-size:35rpx}
+.li-text-46{font-size:46rpx}
+.li-w-100{width:100rpx}
+.li-w-full-80{width:80%}
+
+