wangzhibo
2025-10-23 cad64c1de2c45856b0774933c5801b05b64984e8
1
{"version":3,"file":"my-advice.js","sources":["pages/ucenter/my-advice.vue","../../HBuilderX/plugins/uniapp-cli-vite/uniPage:/cGFnZXMvdWNlbnRlci9teS1hZHZpY2UudnVl"],"sourcesContent":["<template>\r\n\t<view class=\"page-wrapper\">\r\n\t\t<div class=\"bg-top\"></div>\r\n\r\n\t\t<div class=\"content-wrapper\">\r\n\r\n\t\t\t<!-- 页面标题 -->\r\n\t\t\t<view class=\"text-2xl font-bold mb-4 text-center\">我的投诉建议</view>\r\n\r\n\t\t\t<!-- 投诉列表 -->\r\n\t\t\t<view class=\"space-y-6 relative\">\r\n\t\t\t\t<view v-for=\"(item, index) in complaints\" :key=\"index\"\r\n\t\t\t\t\tclass=\"relative bg-white rounded-xl shadow-md p-4 pt-6 mt-10\">\r\n\t\t\t\t\t<!-- 编号圆形 -->\r\n\t\t\t\t\t<view\r\n\t\t\t\t\t\tclass=\"absolute -top-3 -left-3 w-8 h-8 bg-blue-500 text-white text-center leading-8 rounded-full font-semibold shadow\">\r\n\t\t\t\t\t\t{{ index + 1 }}\r\n\t\t\t\t\t</view>\r\n\r\n\t\t\t\t\t<!-- 时间 -->\r\n\t\t\t\t\t<view class=\"text-sm text-gray-500 mb-1\">{{ item.time }}</view>\r\n\r\n\t\t\t\t\t<!-- 用户提交内容 -->\r\n\t\t\t\t\t<view class=\"text-base leading-snug mt-2\">\r\n\t\t\t\t\t\t投诉建议:\r\n\t\t\t\t\t\t<text class=\"text-color-question\">\r\n\t\t\t\t\t\t\t{{ item.content }}\r\n\t\t\t\t\t\t</text>\r\n\t\t\t\t\t</view>\r\n\r\n\r\n\t\t\t\t\t<!-- 后台回复 -->\r\n\t\t\t\t\t<view class=\"text-base leading-snug mt-2\">\r\n\t\t\t\t\t\t处理状态:\r\n\t\t\t\t\t\t<text :class=\"\r\n            item.status === '未处理' ? 'text-color-status-0' :\r\n            item.status === '处理中' ? 'text-color-status-1' :\r\n            item.status === '已处理' ? 'text-color-status-2' : ''\r\n          \">\r\n\t\t\t\t\t\t\t{{ item.status || '暂未回复' }}\r\n\t\t\t\t\t\t</text>\r\n\t\t\t\t\t</view>\r\n\r\n\t\t\t\t\t<view class=\"text-base text-gray-600 mt-2\">\r\n\t\t\t\t\t\t回复:\r\n\t\t\t\t\t\t<text :class=\"\r\n\t\t    item.status === '未处理' ? 'text-color-status-0' :\r\n\t\t    item.status === '处理中' ? 'text-color-status-1' :\r\n\t\t    item.status === '已处理' ? 'text-color-status-2' : ''\r\n\t\t  \">\r\n\t\t\t\t\t\t\t{{ item.reply ? item.reply : '暂未回复' }}\r\n\t\t\t\t\t\t</text>\r\n\t\t\t\t\t</view>\r\n\t\t\t\t</view>\r\n\t\t\t</view>\r\n\r\n\t\t\t<!-- 提示为空 -->\r\n\t\t\t<view v-if=\"complaints.length === 0\" class=\"text-center text-color-reply-none mt-10\">\r\n\t\t\t\t还没有提交任何投诉或建议\r\n\t\t\t</view>\r\n\t\t</div>\r\n\t\t<div class=\"bg-bottom\"></div>\r\n\r\n\t</view>\r\n</template>\r\n\r\n<script setup>\r\n\timport {\r\n\t\tref,\r\n\t\tonMounted\r\n\t} from 'vue'\r\n\timport {\r\n\t\tapiService\r\n\t} from '@/apiservice/apiService'\r\n\timport {\r\n\t\tuseUserStore\r\n\t} from '@/stores/user'\r\n\r\n\tconst userStore = useUserStore()\r\n\tconst complaints = ref([])\r\n\r\n\tasync function fetchComplaints() {\r\n\t\tconst uuid = userStore.uuid\r\n\t\tif (!uuid) return\r\n\r\n\t\ttry {\r\n\t\t\tconsole.log(uuid)\r\n\t\t\tconst res = await apiService.advicesListByUuid(uuid)\r\n\t\t\tif (res.code === 1000 && Array.isArray(res.data)) {\r\n\t\t\t\t// 转换成前端需要的格式\r\n\t\t\t\tconsole.log(res.data)\r\n\t\t\t\tcomplaints.value = res.data.map(item => ({\r\n\t\t\t\t\ttime: item.createTime || '',\r\n\t\t\t\t\tcontent: item.question || '',\r\n\t\t\t\t\treply: item.replytext || '',\r\n\t\t\t\t\tstatus: item.status || '未处理'\r\n\t\t\t\t}))\r\n\t\t\t} else {\r\n\t\t\t\tconsole.warn('获取投诉数据失败:', res.message)\r\n\t\t\t\tcomplaints.value = []\r\n\t\t\t}\r\n\t\t} catch (err) {\r\n\t\t\tconsole.error('网络或服务器错误:', err)\r\n\t\t\tcomplaints.value = []\r\n\t\t}\r\n\t}\r\n\r\n\r\n\r\n\tonMounted(() => {\r\n\t\tfetchComplaints()\r\n\t})\r\n</script>\r\n\r\n<style>\r\n\t/* 布局与背景 */\r\n\t.p-4 {\r\n\t\tpadding: 1rem;\r\n\t}\r\n\r\n\t.mt-10 {\r\n\t\tmargin-top: 10rpx;\r\n\t}\r\n\r\n\r\n\t.bg-gray-100 {\r\n\t\tbackground-color: #f3f4f6;\r\n\t}\r\n\r\n\t.min-h-screen {\r\n\t\tmin-height: 100vh;\r\n\t}\r\n\r\n\t/* 标题样式 */\r\n\t.text-2xl {\r\n\t\tfont-size: 1.5rem;\r\n\t\tline-height: 2rem;\r\n\t}\r\n\r\n\t.font-bold {\r\n\t\tfont-weight: 700;\r\n\t}\r\n\r\n\t.mb-4 {\r\n\t\tmargin-bottom: 1rem;\r\n\t}\r\n\r\n\t.text-center {\r\n\t\ttext-align: center;\r\n\t}\r\n\r\n\t/* 列表间距 */\r\n\t.space-y-6 {\r\n\t\tmargin-top: 1.5rem;\r\n\t}\r\n\r\n\t.relative {\r\n\t\tposition: relative;\r\n\t}\r\n\r\n\t.bg-white {\r\n\t\tbackground-color: #ffffff;\r\n\t}\r\n\r\n\t.rounded-xl {\r\n\t\tborder-radius: 0.75rem;\r\n\t}\r\n\r\n\t.shadow-md {\r\n\t\tbox-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);\r\n\t}\r\n\r\n\t.p-4 {\r\n\t\tpadding: 1rem;\r\n\t}\r\n\r\n\t.pt-6 {\r\n\t\tpadding-top: 1.5rem;\r\n\t}\r\n\r\n\t.absolute {\r\n\t\tposition: absolute;\r\n\t}\r\n\r\n\t.-top-3 {\r\n\t\ttop: -0.75rem;\r\n\t}\r\n\r\n\t.-left-3 {\r\n\t\tleft: -0.75rem;\r\n\t}\r\n\r\n\t.w-8 {\r\n\t\twidth: 2rem;\r\n\t}\r\n\r\n\t.h-8 {\r\n\t\theight: 2rem;\r\n\t}\r\n\r\n\t.bg-blue-500 {\r\n\t\tbackground-color: #3b82f6;\r\n\t}\r\n\r\n\t.text-white {\r\n\t\tcolor: #ffffff;\r\n\t}\r\n\r\n\t.text-center {\r\n\t\ttext-align: center;\r\n\t}\r\n\r\n\t.leading-8 {\r\n\t\tline-height: 2rem;\r\n\t}\r\n\r\n\t.rounded-full {\r\n\t\tborder-radius: 9999px;\r\n\t}\r\n\r\n\t.font-semibold {\r\n\t\tfont-weight: 600;\r\n\t}\r\n\r\n\t.shadow {\r\n\t\tbox-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);\r\n\t}\r\n\r\n\t/* 时间与内容样式 */\r\n\t.text-sm {\r\n\t\tfont-size: 0.875rem;\r\n\t\tline-height: 1.25rem;\r\n\t}\r\n\r\n\t.text-gray-500 {\r\n\t\tcolor: #6b7280;\r\n\t}\r\n\r\n\t.mb-1 {\r\n\t\tmargin-bottom: 0.25rem;\r\n\t}\r\n\r\n\t.text-base {\r\n\t\tfont-size: 1rem;\r\n\t\tline-height: 1.5rem;\r\n\t}\r\n\r\n\t.text-gray-800 {\r\n\t\tcolor: #1f2937;\r\n\t}\r\n\r\n\t.leading-snug {\r\n\t\tline-height: 1.375;\r\n\t}\r\n\r\n\t/* 回复样式 */\r\n\t.text-gray-600 {\r\n\t\tcolor: #4b5563;\r\n\t}\r\n\r\n\t.mt-2 {\r\n\t\tmargin-top: 0.5rem;\r\n\t}\r\n\r\n\t.text-gray-700 {\r\n\t\tcolor: #374151;\r\n\t}\r\n\r\n\t.text-gray-400 {\r\n\t\tcolor: #9ca3af;\r\n\t}\r\n\r\n\t/* 空提示 */\r\n\t.mt-10 {\r\n\t\tmargin-top: 2.5rem;\r\n\t}\r\n\r\n\t.text-center {\r\n\t\ttext-align: center;\r\n\t}\r\n\r\n\t.text-color-time {\r\n\t\tcolor: #6B7280;\r\n\t}\r\n\r\n\t.text-color-question {\r\n\t\tcolor: #0F172A;\r\n\t}\r\n\r\n\t.text-color-status-0 {\r\n\t\tcolor: #AAAAFF;\r\n\t}\r\n\r\n\t.text-color-status-1 {\r\n\t\tcolor: #AAAA00;\r\n\t}\r\n\r\n\t.text-color-status-2 {\r\n\t\tcolor: #00FF00;\r\n\t}\r\n\r\n\t.text-color-reply {\r\n\t\tcolor: #3B82F6;\r\n\t}\r\n\r\n\t.text-color-reply-none {\r\n\t\tcolor: #9CA3AF;\r\n\t}\r\n\r\n\t.page-wrapper {\r\n\t\tposition: relative;\r\n\t\tmin-height: 100vh;\r\n\t\t/* 确保小内容时填满视口 */\r\n\t\toverflow: hidden;\r\n\t}\r\n\r\n\t/* 顶部背景 */\r\n\t.bg-top {\r\n\t\tposition: absolute;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\twidth: 100%;\r\n\t\theight: 500rpx;\r\n\t\t/* 可用固定像素或图片高度 */\r\n\t\tbackground: url('https://farm.evcc.top/Uploads/yuanboyuan/background/bg_top.jpg') no-repeat top center;\r\n\t\tbackground-size: cover;\r\n\t\tz-index: 0;\r\n\t}\r\n\r\n\t/* 底部背景 */\r\n\t.bg-bottom {\r\n\t\tposition: absolute;\r\n\t\tbottom: 0;\r\n\t\tleft: 0;\r\n\t\twidth: 100%;\r\n\t\theight: 500rpx;\r\n\t\t/* 可用固定像素或图片高度 */\r\n\t\tbackground: url('https://farm.evcc.top/Uploads/yuanboyuan/background/bg_bottom.jpg') no-repeat bottom center;\r\n\t\tbackground-size: cover;\r\n\t\tz-index: 0;\r\n\t}\r\n\r\n\t/* 内容层 */\r\n\t.content-wrapper {\r\n\t\tposition: relative;\r\n\t\tz-index: 1;\r\n\t\tpadding: 2rem 1rem;\r\n\t}\r\n</style>","import MiniProgramPage from 'D:/HBuilderProjects/园博园/pages/ucenter/my-advice.vue'\nwx.createPage(MiniProgramPage)"],"names":["useUserStore","ref","uni","apiService","onMounted","MiniProgramPage"],"mappings":";;;;;;;AA8EC,UAAM,YAAYA,YAAAA,aAAc;AAChC,UAAM,aAAaC,cAAG,IAAC,EAAE;AAEzB,mBAAe,kBAAkB;AAChC,YAAM,OAAO,UAAU;AACvB,UAAI,CAAC;AAAM;AAEX,UAAI;AACHC,sBAAAA,MAAY,MAAA,OAAA,qCAAA,IAAI;AAChB,cAAM,MAAM,MAAMC,iCAAW,kBAAkB,IAAI;AACnD,YAAI,IAAI,SAAS,OAAQ,MAAM,QAAQ,IAAI,IAAI,GAAG;AAEjDD,wBAAAA,MAAA,MAAA,OAAA,qCAAY,IAAI,IAAI;AACpB,qBAAW,QAAQ,IAAI,KAAK,IAAI,WAAS;AAAA,YACxC,MAAM,KAAK,cAAc;AAAA,YACzB,SAAS,KAAK,YAAY;AAAA,YAC1B,OAAO,KAAK,aAAa;AAAA,YACzB,QAAQ,KAAK,UAAU;AAAA,UAC5B,EAAM;AAAA,QACN,OAAU;AACNA,wBAAA,MAAA,MAAA,QAAA,qCAAa,aAAa,IAAI,OAAO;AACrC,qBAAW,QAAQ,CAAE;AAAA,QACrB;AAAA,MACD,SAAQ,KAAK;AACbA,sBAAAA,MAAc,MAAA,SAAA,sCAAA,aAAa,GAAG;AAC9B,mBAAW,QAAQ,CAAE;AAAA,MACrB;AAAA,IACD;AAIDE,kBAAAA,UAAU,MAAM;AACf,sBAAiB;AAAA,IACnB,CAAE;;;;;;;;;;;;;;;;;;;;AC9GF,GAAG,WAAWC,SAAe;"}