2 lines
7.9 KiB
JavaScript
2 lines
7.9 KiB
JavaScript
|
|
import{L as le,d as te,o as se,b as _,e as l,m as s,z as n,s as ne,y as oe,r as d,C as c,T as ie,g as y,j as r,F,h as O,t as u,p as A,a4 as ue,W as de,k as U,J as x,X as I,_ as re}from"./index-eVF4AHSu.js";import{n as pe}from"./pagination-BgSlm-mj.js";const w=le();async function ve(i){try{const p=await w.get("/admin/message/list",i);return pe(p,b=>b,(i==null?void 0:i.size)??20)}catch(p){return console.warn("[admin/message/list] fallback:",p),{records:[],total:0,current:1,pages:0}}}async function ce(i){return w.get(`/admin/message/detail/${i}`)}async function ge(i,p,b=2){await w.putJson(`/admin/message/reply/${i}`,{replyContent:p,status:b})}async function me(i){await w.delete(`/admin/message/delete/${i}`)}async function fe(i){await w.postJson("/admin/message/batch-delete",i)}async function ye(i){await w.putJson(`/admin/message/read/${i}`,{})}const be={class:"message-manage"},_e={class:"page-header"},we={class:"filter-bar"},ke={class:"pagination-bar"},Ce={key:0,class:"message-detail"},Ve={class:"detail-row"},Me={class:"detail-row"},xe={class:"detail-row"},ze={class:"detail-row"},he={class:"detail-row"},Te={class:"detail-row"},Se={class:"detail-row"},$e={class:"detail-content"},De={key:0,class:"detail-content reply-section"},Le={class:"reply-text"},Ue={key:0,class:"reply-dialog"},Be={class:"reply-meta"},je={class:"reply-original"},Je=te({__name:"MessageManage",setup(i){const p=d(!1),b=d([]),B=d(0),z=d(1),h=d(20),T=d(""),S=d(""),k=d(!1),o=d(null),C=d(!1),V=d(""),$=d(!1),v=d(null),W=[{label:"全部类型",value:""},{label:"加盟咨询",value:"join"},{label:"合作洽谈",value:"cooperate"},{label:"意见反馈",value:"feedback"},{label:"其他",value:"other"}],X=[{label:"全部状态",value:""},{label:"待处理",value:"0"},{label:"处理中",value:"1"},{label:"已回复",value:"2"},{label:"已关闭",value:"3"}];async function m(){p.value=!0;try{const t=await ve({type:T.value||void 0,status:S.value||void 0,page:z.value,size:h.value});b.value=t.records,B.value=t.total}catch(t){console.warn("[MessageManage] fetchMessageList failed:",t)}finally{p.value=!1}}se(m);function D(t){return{join:"加盟咨询",cooperate:"合作洽谈",feedback:"意见反馈",other:"其他"}[t]||t}function L(t){return{join:"danger",cooperate:"warning",feedback:"",other:"info"}[t]||"info"}function j(t){return{0:"待处理",1:"处理中",2:"已回复",3:"已关闭"}[String(t)]||String(t||"")}function J(t){return{0:"danger",1:"warning",2:"success",3:"info"}[String(t)]||"info"}async function q(t){try{o.value=await ce(t.id),k.value=!0,(t.status==="0"||t.status==="unread")&&(await ye(t.id),t.status="1")}catch{o.value=t,k.value=!0}}function G(t){v.value=t,V.value=t.replyContent||"",C.value=!0}async function H(){if(!v.value||!V.value.trim()){x.warning("请输入回复内容");return}$.value=!0;try{await ge(v.value.id,V.value.trim(),2),x.success("回复成功"),C.value=!1,await m()}catch(t){console.error("[MessageManage] replyMessage failed:",t),x.error("回复失败")}finally{$.value=!1}}async function K(t){try{await I.confirm("确定删除该留言?","确认删除",{type:"warning"}),await me(t.id),x.success("删除成功"),await m()}catch{}}async function Q(){try{await I.confirm("确定删除所有已读留言?","批量删除",{type:"warning"}),await fe({status:"read"}),x.success("删除成功"),await m()}catch{}}return(t,e)=>{const f=c("el-button"),N=c("el-option"),E=c("el-select"),M=c("el-tag"),g=c("el-table-column"),Y=c("el-table"),Z=c("el-pagination"),P=c("el-dialog"),ee=c("el-input"),ae=ie("loading");return y(),_("div",be,[l("div",_e,[e[10]||(e[10]=l("h2",{class:"page-title"},"留言管理",-1)),s(f,{type:"danger",onClick:Q},{default:n(()=>[...e[9]||(e[9]=[r("清除已读",-1)])]),_:1})]),l("div",we,[s(E,{modelValue:T.value,"onUpdate:modelValue":e[0]||(e[0]=a=>T.value=a),onChange:m,style:{width:"140px"}},{default:n(()=>[(y(),_(F,null,O(W,a=>s(N,{key:a.value,label:a.label,value:a.value},null,8,["label","value"])),64))]),_:1},8,["modelValue"]),s(E,{modelValue:S.value,"onUpdate:modelValue":e[1]||(e[1]=a=>S.value=a),onChange:m,style:{width:"120px"}},{de
|