"use strict";(self["webpackChunknewfront"]=self["webpackChunknewfront"]||[]).push([[900],{4900:function(t,a,e){e.r(a),e.d(a,{default:function(){return N}});var s=e(6768),i=e(4232),n=e(5130);const c={class:"advice-page"},l={class:"container"},o={class:"tabs-container"},r={class:"tabs"},d={class:"content-area"},u={key:0,class:"card form-card"},p={class:"form-group"},b={class:"type-selector"},g={class:"form-group"},k={class:"form-actions"},h=["disabled"],v={key:1,class:"card list-card"},m={key:0,class:"loading-state"},L={key:1,class:"empty-state"},f={key:2,class:"advice-list"},y={class:"item-header"},C={class:"header-left"},T={class:"time"},w={class:"item-content"},X={key:0,class:"item-reply"},x={class:"reply-content"},A={key:3,class:"pagination"},_=["disabled"],E={class:"page-info"},S=["disabled"];function P(t,a,e,P,z,M){const $=(0,s.g2)("NavBar");return(0,s.uX)(),(0,s.CE)("div",c,[(0,s.bF)($),(0,s.Lk)("div",l,[a[16]||(a[16]=(0,s.Lk)("div",{class:"header-section"},[(0,s.Lk)("h1",null,"建议与反馈"),(0,s.Lk)("p",{class:"subtitle"},"您的每一条建议都是我们进步的动力"),(0,s.Lk)("div",{class:"notice-box"},[(0,s.Lk)("span",{class:"notice-icon-circle"},"!"),(0,s.eW)(" 收到反馈后,我们将第一时间通过邮件告知您处理结果,请留意您的邮箱 ")])],-1)),(0,s.Lk)("div",o,[(0,s.Lk)("div",r,[(0,s.Lk)("div",{class:(0,i.C4)(["tab-item",{active:"add"===z.activeTab}]),onClick:a[0]||(a[0]=t=>z.activeTab="add")}," 我要提建议 ",2),(0,s.Lk)("div",{class:(0,i.C4)(["tab-item",{active:"list"===z.activeTab}]),onClick:a[1]||(a[1]=t=>M.switchTab("list"))}," 我提的建议 ",2)])]),(0,s.Lk)("div",d,["add"===z.activeTab?((0,s.uX)(),(0,s.CE)("div",u,[(0,s.Lk)("div",p,[a[11]||(a[11]=(0,s.Lk)("label",{class:"form-label"},"建议类型",-1)),(0,s.Lk)("div",b,[(0,s.Lk)("label",{class:(0,i.C4)(["radio-label",{checked:0===z.form.type}])},[(0,s.bo)((0,s.Lk)("input",{type:"radio","onUpdate:modelValue":a[2]||(a[2]=t=>z.form.type=t),value:0},null,512),[[n.XL,z.form.type,void 0,{number:!0}]]),a[9]||(a[9]=(0,s.Lk)("span",{class:"radio-text"},"💡 功能建议",-1))],2),(0,s.Lk)("label",{class:(0,i.C4)(["radio-label",{checked:1===z.form.type}])},[(0,s.bo)((0,s.Lk)("input",{type:"radio","onUpdate:modelValue":a[3]||(a[3]=t=>z.form.type=t),value:1},null,512),[[n.XL,z.form.type,void 0,{number:!0}]]),a[10]||(a[10]=(0,s.Lk)("span",{class:"radio-text"},"🐛 BUG反馈",-1))],2)])]),(0,s.Lk)("div",g,[a[12]||(a[12]=(0,s.Lk)("label",{class:"form-label"},"详细描述",-1)),(0,s.bo)((0,s.Lk)("textarea",{"onUpdate:modelValue":a[4]||(a[4]=t=>z.form.content=t),class:"form-textarea",rows:"8",placeholder:"请详细描述您的建议或遇到的问题,以便我们更好地为您服务..."},null,512),[[n.Jo,z.form.content]])]),(0,s.Lk)("div",k,[(0,s.Lk)("button",{class:"btn-submit",onClick:a[5]||(a[5]=(...t)=>M.handleSubmit&&M.handleSubmit(...t)),disabled:z.submitting},(0,i.v_)(z.submitting?"提交中...":"提交反馈"),9,h)])])):(0,s.Q3)("",!0),"list"===z.activeTab?((0,s.uX)(),(0,s.CE)("div",v,[z.loading?((0,s.uX)(),(0,s.CE)("div",m,a[13]||(a[13]=[(0,s.Lk)("div",{class:"spinner"},null,-1),(0,s.Lk)("p",null,"加载中...",-1)]))):0===z.list.length?((0,s.uX)(),(0,s.CE)("div",L,[a[14]||(a[14]=(0,s.Lk)("p",null,"暂无反馈记录",-1)),(0,s.Lk)("button",{class:"btn-link",onClick:a[6]||(a[6]=t=>z.activeTab="add")},"去提一条建议")])):((0,s.uX)(),(0,s.CE)("div",f,[((0,s.uX)(!0),(0,s.CE)(s.FK,null,(0,s.pI)(z.list,(t=>((0,s.uX)(),(0,s.CE)("div",{key:t.id,class:"advice-item"},[(0,s.Lk)("div",y,[(0,s.Lk)("div",C,[(0,s.Lk)("span",{class:(0,i.C4)(["badge",1===t.type?"badge-bug":"badge-feature"])},(0,i.v_)(1===t.type?"BUG反馈":"功能建议"),3),(0,s.Lk)("span",{class:(0,i.C4)(["status-badge",M.getStatusClass(t.status)])},(0,i.v_)(M.getStatusText(t.status)),3)]),(0,s.Lk)("span",T,(0,i.v_)(M.formatDate(t.created_at)),1)]),(0,s.Lk)("div",w,(0,i.v_)(t.content),1),t.reply?((0,s.uX)(),(0,s.CE)("div",X,[a[15]||(a[15]=(0,s.Lk)("div",{class:"reply-header"},[(0,s.Lk)("span",{class:"reply-icon"},"💬"),(0,s.Lk)("strong",null,"管理员回复:")],-1)),(0,s.Lk)("div",x,(0,i.v_)(t.reply),1)])):(0,s.Q3)("",!0)])))),128))])),!z.loading&&z.pagination.totalPages>1?((0,s.uX)(),(0,s.CE)("div",A,[(0,s.Lk)("button",{class:"page-btn",disabled:z.pagination.current<=1,onClick:a[7]||(a[7]=t=>M.changePage(z.pagination.current-1))}," 上一页 ",8,_),(0,s.Lk)("span",E,(0,i.v_)(z.pagination.current)+" / "+(0,i.v_)(z.pagination.totalPages),1),(0,s.Lk)("button",{class:"page-btn",disabled:z.pagination.current>=z.pagination.totalPages,onClick:a[8]||(a[8]=t=>M.changePage(z.pagination.current+1))}," 下一页 ",8,S)])):(0,s.Q3)("",!0)])):(0,s.Q3)("",!0)])])])}var z=e(4373),M=e(8704),$=e(4993),U=e(1697),B={name:"Advice",components:{NavBar:U.A},data(){return{activeTab:"add",submitting:!1,loading:!1,form:{type:0,content:""},list:[],pagination:{current:1,pageSize:10,total:0,totalPages:0}}},methods:{getToken(){let t=M.A.get("token");if(!t){const a=document.cookie.match(/(^| )token=([^;]+)/);a&&(t=a[2])}return t},switchTab(t){this.activeTab=t,"list"===t&&this.fetchList(1)},handleSubmit(){this.form.content.trim()?$.A.confirm("确定要提交这条建议吗?","提交确认").then((()=>{this.submitAdvice()})).catch((()=>{})):this.$barMessage.warning("请输入建议内容")},async submitAdvice(){const t=this.getToken();if(t){this.submitting=!0;try{await z.A.post("https://newfront.xn--xhq44jb2fzpc.com/advice/add",this.form,{headers:{Authorization:t}}),this.$barMessage.success("建议提交成功,感谢您的反馈!"),this.form.content="",this.form.type=0,this.activeTab="list",this.fetchList(1)}catch(a){console.error(a);const t=a.response?.data?.error||"提交失败,请稍后重试";this.$barMessage.error(t)}finally{this.submitting=!1}}else this.$barMessage.error("请先登录")},async fetchList(t=1){const a=this.getToken();if(a){this.loading=!0;try{const e=await z.A.get("https://newfront.xn--xhq44jb2fzpc.com/advice/list",{params:{page:t},headers:{Authorization:a}}),{list:s,pagination:i}=e.data;this.list=s,this.pagination=i}catch(e){console.error(e),this.$barMessage.error("获取列表失败")}finally{this.loading=!1}}else this.$barMessage.error("请先登录")},changePage(t){this.fetchList(t)},formatDate(t){if(!t)return"";const a=new Date(t);return a.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})},getStatusText(t){const a={0:"处理中",1:"已处理",2:"已关闭"};return a[t]||"未知状态"},getStatusClass(t){const a={0:"status-processing",1:"status-done",2:"status-closed"};return a[t]||""}}},Q=e(1241);const D=(0,Q.A)(B,[["render",P],["__scopeId","data-v-092de141"]]);var N=D}}]); //# sourceMappingURL=900.0f2e1e08.js.map