- 新增api目录下多个接口路径代理处理文件,支持动态拼接目标URL - 根据环境变量选择不同的后端服务地址(如dev和生产环境) - 统一添加TenantId和Authorization请求头传递租户及身份信息 - 实现请求参数及搜索参数的完整转发 - 引入better-sqlite3及node内建模块支持服务端功能 - 新增专家详情页面,实现文章、成果及预约咨询功能展示 - 页面实现加载骨架屏、标签页切换及空状态提示优化体验
2 lines
9.9 KiB
JavaScript
2 lines
9.9 KiB
JavaScript
import{d as ee,H as te,i as u,s as ae,j as le,c as x,a as l,b as a,t as v,m as s,w as t,a2 as M,r as m,o as d,e as n,A as k,l as y,F as se,p as B,g as ne}from"./DPwbf7XO.js";const oe={class:"admin-members-review"},ie={class:"page-header"},re={class:"pending-count"},pe={class:"filter-bar"},de={class:"table-card"},ue={key:0},me={key:0},ve={class:"materials-list"},fe={class:"material-item"},ye={class:"material-item"},ge={class:"material-item"},ke={class:"material-item"},be={key:1},Ce={class:"materials-list"},_e={class:"material-item"},we={class:"material-item"},xe={class:"material-item"},ze={class:"material-item"},Te={class:"material-item"},je={key:2,class:"action-area"},Ne=ee({__name:"review",setup($e){te({title:"会员审核"});const G=u(!1),U=u(!1),C=u(!1),N=u(!1),z=u(!1),_=u(""),o=u(null),T=u(5),I=u(0),V=u(1),J=u(15),w=ae({keyword:"",type:"",status:""}),K=[{title:"申请人",dataIndex:"applicantName",key:"applicantName"},{title:"会员类型",key:"type",width:110},{title:"单位/联系方式",dataIndex:"orgOrContact",key:"orgOrContact"},{title:"申请时间",dataIndex:"applyTime",key:"applyTime",width:150},{title:"状态",key:"status",width:100},{title:"材料",key:"materials",width:100},{title:"操作",key:"action",width:180}],D=u([{id:1,applicantName:"广西某科技公司",memberType:"enterprise",orgOrContact:"王总 139****0001",phone:"139****0001",email:"enterprise@xx.com",organization:"广西某科技有限公司",applyTime:"2024-12-19 10:00",status:"pending"},{id:2,applicantName:"张某某",memberType:"personal",orgOrContact:"广西大学",phone:"138****0001",email:"zhang@gxu.edu.cn",applyTime:"2024-12-18 14:30",status:"pending"},{id:3,applicantName:"南宁某咨询机构",memberType:"enterprise",orgOrContact:"李经理 137****0002",phone:"137****0002",email:"nn@xx.com",organization:"南宁某咨询有限公司",applyTime:"2024-12-15 09:20",status:"approved"}]);function P(p){return{pending:"orange",approved:"green",rejected:"red"}[p]||"default"}function A(p){return{pending:"待审核",approved:"已通过",rejected:"已拒绝"}[p]||p}function L(p){o.value=p,C.value=!0}function E(p){o.value=p,N.value=!0}async function F(p){p.status="approved",T.value=Math.max(0,T.value-1),B.success(`已通过 ${p.applicantName} 的会员申请`)}function H(p){o.value=p,_.value="",z.value=!0}async function Q(){if(!_.value.trim()){B.warning("请填写拒绝原因");return}U.value=!0;try{o.value.status="rejected",o.value.rejectReason=_.value,T.value=Math.max(0,T.value-1),B.success("已拒绝申请并通知申请人"),z.value=!1}finally{U.value=!1}}function W(p){V.value=p,j()}async function j(){}return le(()=>{I.value=D.value.length}),(p,e)=>{const X=m("a-input"),b=m("a-select-option"),q=m("a-select"),r=m("a-button"),O=m("a-space"),$=m("a-tag"),Y=m("a-table"),Z=m("a-divider"),S=m("a-modal"),g=m("a-descriptions-item"),c=m("a-descriptions"),h=m("a-textarea");return d(),x("div",oe,[l("div",ie,[e[9]||(e[9]=l("h3",null,"会员审核",-1)),l("span",re,"待审核:"+v(s(T))+" 条",1)]),l("div",pe,[a(O,{wrap:""},{default:t(()=>[a(X,{value:s(w).keyword,"onUpdate:value":e[0]||(e[0]=i=>s(w).keyword=i),placeholder:"搜索申请人姓名/单位","allow-clear":"",style:{width:"200px"},onPressEnter:j},null,8,["value"]),a(q,{value:s(w).type,"onUpdate:value":e[1]||(e[1]=i=>s(w).type=i),style:{width:"130px"},onChange:j},{default:t(()=>[a(b,{value:""},{default:t(()=>[...e[10]||(e[10]=[n("全部类型",-1)])]),_:1}),a(b,{value:"enterprise"},{default:t(()=>[...e[11]||(e[11]=[n("企业会员",-1)])]),_:1}),a(b,{value:"personal"},{default:t(()=>[...e[12]||(e[12]=[n("个人会员",-1)])]),_:1})]),_:1},8,["value"]),a(q,{value:s(w).status,"onUpdate:value":e[2]||(e[2]=i=>s(w).status=i),style:{width:"130px"},onChange:j},{default:t(()=>[a(b,{value:""},{default:t(()=>[...e[13]||(e[13]=[n("全部状态",-1)])]),_:1}),a(b,{value:"pending"},{default:t(()=>[...e[14]||(e[14]=[n("待审核",-1)])]),_:1}),a(b,{value:"approved"},{default:t(()=>[...e[15]||(e[15]=[n("已通过",-1)])]),_:1}),a(b,{value:"rejected"},{default:t(()=>[...e[16]||(e[16]=[n("已拒绝",-1)])]),_:1})]),_:1},8,["value"]),a(r,{type:"primary",onClick:j},{default:t(()=>[...e[17]||(e[17]=[n("搜索",-1)])]),_:1})]),_:1})]),l("div",de,[a(Y,{columns:K,"data-source":s(D),loading:s(G),"row-key":"id",pagination:{total:s(I),pageSize:s(J),current:s(V),onChange:W,showTotal:i=>`共 ${i} 条`}},{bodyCell:t(({column:i,record:f})=>[i.key==="type"?(d(),k($,{key:0,color:f.memberType==="enterprise"?"blue":"green"},{default:t(()=>[n(v(f.memberType==="enterprise"?"企业会员":"个人会员"),1)]),_:2},1032,["color"])):y("",!0),i.key==="status"?(d(),k($,{key:1,color:P(f.status)},{default:t(()=>[n(v(A(f.status)),1)]),_:2},1032,["color"])):y("",!0),i.key==="materials"?(d(),k(r,{key:2,size:"small",onClick:R=>L(f)},{default:t(()=>[...e[18]||(e[18]=[n("查看材料",-1)])]),_:1},8,["onClick"])):y("",!0),i.key==="action"?(d(),x(se,{key:3},[f.status==="pending"?(d(),k(O,{key:0},{default:t(()=>[a(r,{type:"primary",size:"small",onClick:R=>F(f)},{default:t(()=>[...e[19]||(e[19]=[n("通过",-1)])]),_:1},8,["onClick"]),a(r,{danger:"",size:"small",onClick:R=>H(f)},{default:t(()=>[...e[20]||(e[20]=[n("拒绝",-1)])]),_:1},8,["onClick"]),a(r,{size:"small",onClick:R=>E(f)},{default:t(()=>[...e[21]||(e[21]=[n("详情",-1)])]),_:1},8,["onClick"])]),_:2},1024)):(d(),k(r,{key:1,size:"small",onClick:R=>E(f)},{default:t(()=>[...e[22]||(e[22]=[n("详情",-1)])]),_:1},8,["onClick"]))],64)):y("",!0)]),_:1},8,["data-source","loading","pagination"])]),a(S,{open:s(C),"onUpdate:open":e[5]||(e[5]=i=>M(C)?C.value=i:null),title:`${s(o)?.applicantName} 的申请材料`,width:"700px",footer:null},{default:t(()=>[s(o)?(d(),x("div",ue,[s(o).memberType==="enterprise"?(d(),x("div",me,[e[35]||(e[35]=l("h4",null,"企业会员申请材料",-1)),l("div",ve,[l("div",fe,[e[24]||(e[24]=l("span",{class:"material-icon"},"📄",-1)),e[25]||(e[25]=l("span",{class:"material-name"},"入会申请表(盖章)",-1)),a(r,{size:"small",type:"primary",ghost:""},{default:t(()=>[...e[23]||(e[23]=[n("预览/下载",-1)])]),_:1})]),l("div",ye,[e[27]||(e[27]=l("span",{class:"material-icon"},"🏢",-1)),e[28]||(e[28]=l("span",{class:"material-name"},"营业执照副本",-1)),a(r,{size:"small",type:"primary",ghost:""},{default:t(()=>[...e[26]||(e[26]=[n("预览/下载",-1)])]),_:1})]),l("div",ge,[e[30]||(e[30]=l("span",{class:"material-icon"},"🪪",-1)),e[31]||(e[31]=l("span",{class:"material-name"},"法人身份证",-1)),a(r,{size:"small",type:"primary",ghost:""},{default:t(()=>[...e[29]||(e[29]=[n("预览/下载",-1)])]),_:1})]),l("div",ke,[e[33]||(e[33]=l("span",{class:"material-icon"},"📝",-1)),e[34]||(e[34]=l("span",{class:"material-name"},"单位简介",-1)),a(r,{size:"small",type:"primary",ghost:""},{default:t(()=>[...e[32]||(e[32]=[n("预览/下载",-1)])]),_:1})])])])):(d(),x("div",be,[e[51]||(e[51]=l("h4",null,"个人会员申请材料",-1)),l("div",Ce,[l("div",_e,[e[37]||(e[37]=l("span",{class:"material-icon"},"📄",-1)),e[38]||(e[38]=l("span",{class:"material-name"},"入会申请表(签字)",-1)),a(r,{size:"small",type:"primary",ghost:""},{default:t(()=>[...e[36]||(e[36]=[n("预览/下载",-1)])]),_:1})]),l("div",we,[e[40]||(e[40]=l("span",{class:"material-icon"},"📖",-1)),e[41]||(e[41]=l("span",{class:"material-name"},"个人简介",-1)),a(r,{size:"small",type:"primary",ghost:""},{default:t(()=>[...e[39]||(e[39]=[n("预览/下载",-1)])]),_:1})]),l("div",xe,[e[43]||(e[43]=l("span",{class:"material-icon"},"🎓",-1)),e[44]||(e[44]=l("span",{class:"material-name"},"职称证书/学历证书",-1)),a(r,{size:"small",type:"primary",ghost:""},{default:t(()=>[...e[42]||(e[42]=[n("预览/下载",-1)])]),_:1})]),l("div",ze,[e[46]||(e[46]=l("span",{class:"material-icon"},"🪪",-1)),e[47]||(e[47]=l("span",{class:"material-name"},"身份证复印件",-1)),a(r,{size:"small",type:"primary",ghost:""},{default:t(()=>[...e[45]||(e[45]=[n("预览/下载",-1)])]),_:1})]),l("div",Te,[e[49]||(e[49]=l("span",{class:"material-icon"},"🏆",-1)),e[50]||(e[50]=l("span",{class:"material-name"},"研究成果/获奖证明",-1)),a(r,{size:"small",type:"primary",ghost:""},{default:t(()=>[...e[48]||(e[48]=[n("预览/下载",-1)])]),_:1})])])])),s(o).status==="pending"?(d(),x("div",je,[a(Z),a(O,null,{default:t(()=>[a(r,{type:"primary",onClick:e[3]||(e[3]=i=>{F(s(o)),C.value=!1})},{default:t(()=>[...e[52]||(e[52]=[n("通过申请",-1)])]),_:1}),a(r,{danger:"",onClick:e[4]||(e[4]=i=>{H(s(o)),C.value=!1})},{default:t(()=>[...e[53]||(e[53]=[n("拒绝申请",-1)])]),_:1})]),_:1})])):y("",!0)])):y("",!0)]),_:1},8,["open","title"]),a(S,{open:s(N),"onUpdate:open":e[6]||(e[6]=i=>M(N)?N.value=i:null),title:"会员申请详情",width:"700px",footer:null},{default:t(()=>[s(o)?(d(),k(c,{key:0,bordered:"",column:2},{default:t(()=>[a(g,{label:"申请人"},{default:t(()=>[n(v(s(o).applicantName),1)]),_:1}),a(g,{label:"会员类型"},{default:t(()=>[a($,{color:s(o).memberType==="enterprise"?"blue":"green"},{default:t(()=>[n(v(s(o).memberType==="enterprise"?"企业会员":"个人会员"),1)]),_:1},8,["color"])]),_:1}),s(o).memberType==="enterprise"?(d(),k(g,{key:0,label:"单位/组织"},{default:t(()=>[n(v(s(o).organization),1)]),_:1})):y("",!0),a(g,{label:"联系方式"},{default:t(()=>[n(v(s(o).phone),1)]),_:1}),a(g,{label:"电子邮箱",span:2},{default:t(()=>[n(v(s(o).email),1)]),_:1}),a(g,{label:"申请时间"},{default:t(()=>[n(v(s(o).applyTime),1)]),_:1}),a(g,{label:"状态"},{default:t(()=>[a($,{color:P(s(o).status)},{default:t(()=>[n(v(A(s(o).status)),1)]),_:1},8,["color"])]),_:1}),s(o).rejectReason?(d(),k(g,{key:1,label:"拒绝原因",span:2},{default:t(()=>[n(v(s(o).rejectReason),1)]),_:1})):y("",!0)]),_:1})):y("",!0)]),_:1},8,["open"]),a(S,{open:s(z),"onUpdate:open":e[8]||(e[8]=i=>M(z)?z.value=i:null),title:"填写拒绝原因",onOk:Q,"confirm-loading":s(U)},{default:t(()=>[a(h,{value:s(_),"onUpdate:value":e[7]||(e[7]=i=>M(_)?_.value=i:null),rows:4,placeholder:"请说明拒绝原因"},null,8,["value"])]),_:1},8,["open","confirm-loading"])])}}}),Me=ne(Ne,[["__scopeId","data-v-88e0bf35"]]);export{Me as default};
|