Files
jczxw-pc/.output/server/chunks/build/member-BW0JmP4L.mjs
赵忠林 528fe28ffc feat(api): 添加多路由代理处理实现
- 新增api目录下多个接口路径代理处理文件,支持动态拼接目标URL
- 根据环境变量选择不同的后端服务地址(如dev和生产环境)
- 统一添加TenantId和Authorization请求头传递租户及身份信息
- 实现请求参数及搜索参数的完整转发
- 引入better-sqlite3及node内建模块支持服务端功能
- 新增专家详情页面,实现文章、成果及预约咨询功能展示
- 页面实现加载骨架屏、标签页切换及空状态提示优化体验
2026-04-28 13:50:27 +08:00

368 lines
17 KiB
JavaScript

import { a as _export_sfc, c as useHead, n as navigateTo } from './server.mjs';
import { defineComponent, reactive, ref, resolveComponent, mergeProps, withCtx, unref, createTextVNode, createVNode, toDisplayString, createBlock, createCommentVNode, openBlock, useSSRContext } from 'vue';
import { ssrRenderAttrs, ssrRenderComponent, ssrInterpolate } from 'vue/server-renderer';
import '../nitro/nitro.mjs';
import 'node:http';
import 'node:https';
import 'node:events';
import 'node:buffer';
import 'node:fs';
import 'node:path';
import 'node:crypto';
import 'node:url';
import 'better-sqlite3';
import 'vue-router';
import 'ant-design-vue';
import '@babel/runtime/helpers/esm/extends';
import 'stylis';
import 'dayjs';
import '../routes/renderer.mjs';
import 'vue-bundle-renderer/runtime';
import 'unhead/server';
import 'devalue';
import 'unhead/plugins';
import 'unhead/utils';
const _sfc_main = /* @__PURE__ */ defineComponent({
__name: "member",
__ssrInlineRender: true,
setup(__props) {
useHead({ title: "会员申请管理" });
const stats = reactive({ total: 20, pending: 5, approved: 14, enterprise: 8, personal: 12 });
const columns = [
{ title: "申请人", dataIndex: "name", key: "name" },
{ title: "类型", key: "type", width: 90 },
{ title: "联系方式", dataIndex: "contact", key: "contact" },
{ title: "申请时间", dataIndex: "applyTime", key: "applyTime" },
{ title: "状态", key: "status", width: 100 },
{ title: "操作", key: "action", width: 80 }
];
const recentApplications = ref([
{ id: 1, name: "广西某科技公司", type: "enterprise", contact: "139****0001", applyTime: "2024-12-19", status: "pending" },
{ id: 2, name: "张某某", type: "personal", contact: "138****0002", applyTime: "2024-12-18", status: "pending" },
{ id: 3, name: "南宁某咨询机构", type: "enterprise", contact: "137****0003", applyTime: "2024-12-15", status: "approved" }
]);
return (_ctx, _push, _parent, _attrs) => {
const _component_a_space = resolveComponent("a-space");
const _component_a_button = resolveComponent("a-button");
const _component_a_tabs = resolveComponent("a-tabs");
const _component_a_tab_pane = resolveComponent("a-tab-pane");
const _component_a_table = resolveComponent("a-table");
const _component_a_tag = resolveComponent("a-tag");
_push(`<div${ssrRenderAttrs(mergeProps({ class: "admin-applications-member" }, _attrs))} data-v-cc6a8f13><div class="page-header" data-v-cc6a8f13><h3 data-v-cc6a8f13>会员申请管理</h3>`);
_push(ssrRenderComponent(_component_a_space, null, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(ssrRenderComponent(_component_a_button, {
type: "primary",
onClick: ($event) => ("navigateTo" in _ctx ? _ctx.navigateTo : unref(navigateTo))("/admin/members/review")
}, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`前往审核`);
} else {
return [
createTextVNode("前往审核")
];
}
}),
_: 1
}, _parent2, _scopeId));
} else {
return [
createVNode(_component_a_button, {
type: "primary",
onClick: ($event) => ("navigateTo" in _ctx ? _ctx.navigateTo : unref(navigateTo))("/admin/members/review")
}, {
default: withCtx(() => [
createTextVNode("前往审核")
]),
_: 1
}, 8, ["onClick"])
];
}
}),
_: 1
}, _parent));
_push(`</div><div class="stats-row" data-v-cc6a8f13><div class="stat-item blue" data-v-cc6a8f13><div class="stat-num" data-v-cc6a8f13>${ssrInterpolate(unref(stats).total)}</div><div class="stat-label" data-v-cc6a8f13>总申请</div></div><div class="stat-item orange" data-v-cc6a8f13><div class="stat-num" data-v-cc6a8f13>${ssrInterpolate(unref(stats).pending)}</div><div class="stat-label" data-v-cc6a8f13>待审核</div></div><div class="stat-item green" data-v-cc6a8f13><div class="stat-num" data-v-cc6a8f13>${ssrInterpolate(unref(stats).approved)}</div><div class="stat-label" data-v-cc6a8f13>已通过</div></div><div class="stat-item purple" data-v-cc6a8f13><div class="stat-num" data-v-cc6a8f13>${ssrInterpolate(unref(stats).enterprise)}</div><div class="stat-label" data-v-cc6a8f13>企业会员</div></div><div class="stat-item teal" data-v-cc6a8f13><div class="stat-num" data-v-cc6a8f13>${ssrInterpolate(unref(stats).personal)}</div><div class="stat-label" data-v-cc6a8f13>个人会员</div></div></div><div class="template-card" data-v-cc6a8f13><h4 data-v-cc6a8f13>申请材料模板</h4>`);
_push(ssrRenderComponent(_component_a_tabs, null, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(ssrRenderComponent(_component_a_tab_pane, {
key: "enterprise",
tab: "企业会员模板"
}, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`<div class="template-list" data-v-cc6a8f13${_scopeId2}><div class="template-item" data-v-cc6a8f13${_scopeId2}><span class="template-icon" data-v-cc6a8f13${_scopeId2}>📄</span><span class="template-name" data-v-cc6a8f13${_scopeId2}>企业会员入会申请表(盖章)</span>`);
_push3(ssrRenderComponent(_component_a_button, {
size: "small",
type: "primary"
}, {
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
if (_push4) {
_push4(`下载模板`);
} else {
return [
createTextVNode("下载模板")
];
}
}),
_: 1
}, _parent3, _scopeId2));
_push3(`</div><div class="template-desc" data-v-cc6a8f13${_scopeId2}>所需材料:营业执照副本、法人身份证、单位简介</div></div>`);
} else {
return [
createVNode("div", { class: "template-list" }, [
createVNode("div", { class: "template-item" }, [
createVNode("span", { class: "template-icon" }, "📄"),
createVNode("span", { class: "template-name" }, "企业会员入会申请表(盖章)"),
createVNode(_component_a_button, {
size: "small",
type: "primary"
}, {
default: withCtx(() => [
createTextVNode("下载模板")
]),
_: 1
})
]),
createVNode("div", { class: "template-desc" }, "所需材料:营业执照副本、法人身份证、单位简介")
])
];
}
}),
_: 1
}, _parent2, _scopeId));
_push2(ssrRenderComponent(_component_a_tab_pane, {
key: "personal",
tab: "个人会员模板"
}, {
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`<div class="template-list" data-v-cc6a8f13${_scopeId2}><div class="template-item" data-v-cc6a8f13${_scopeId2}><span class="template-icon" data-v-cc6a8f13${_scopeId2}>📄</span><span class="template-name" data-v-cc6a8f13${_scopeId2}>个人会员入会申请表(签字)</span>`);
_push3(ssrRenderComponent(_component_a_button, {
size: "small",
type: "primary"
}, {
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
if (_push4) {
_push4(`下载模板`);
} else {
return [
createTextVNode("下载模板")
];
}
}),
_: 1
}, _parent3, _scopeId2));
_push3(`</div><div class="template-desc" data-v-cc6a8f13${_scopeId2}>所需材料:个人简介、职称证书/学历证书、身份证、研究成果或获奖证明</div></div>`);
} else {
return [
createVNode("div", { class: "template-list" }, [
createVNode("div", { class: "template-item" }, [
createVNode("span", { class: "template-icon" }, "📄"),
createVNode("span", { class: "template-name" }, "个人会员入会申请表(签字)"),
createVNode(_component_a_button, {
size: "small",
type: "primary"
}, {
default: withCtx(() => [
createTextVNode("下载模板")
]),
_: 1
})
]),
createVNode("div", { class: "template-desc" }, "所需材料:个人简介、职称证书/学历证书、身份证、研究成果或获奖证明")
])
];
}
}),
_: 1
}, _parent2, _scopeId));
} else {
return [
createVNode(_component_a_tab_pane, {
key: "enterprise",
tab: "企业会员模板"
}, {
default: withCtx(() => [
createVNode("div", { class: "template-list" }, [
createVNode("div", { class: "template-item" }, [
createVNode("span", { class: "template-icon" }, "📄"),
createVNode("span", { class: "template-name" }, "企业会员入会申请表(盖章)"),
createVNode(_component_a_button, {
size: "small",
type: "primary"
}, {
default: withCtx(() => [
createTextVNode("下载模板")
]),
_: 1
})
]),
createVNode("div", { class: "template-desc" }, "所需材料:营业执照副本、法人身份证、单位简介")
])
]),
_: 1
}),
createVNode(_component_a_tab_pane, {
key: "personal",
tab: "个人会员模板"
}, {
default: withCtx(() => [
createVNode("div", { class: "template-list" }, [
createVNode("div", { class: "template-item" }, [
createVNode("span", { class: "template-icon" }, "📄"),
createVNode("span", { class: "template-name" }, "个人会员入会申请表(签字)"),
createVNode(_component_a_button, {
size: "small",
type: "primary"
}, {
default: withCtx(() => [
createTextVNode("下载模板")
]),
_: 1
})
]),
createVNode("div", { class: "template-desc" }, "所需材料:个人简介、职称证书/学历证书、身份证、研究成果或获奖证明")
])
]),
_: 1
})
];
}
}),
_: 1
}, _parent));
_push(`</div><div class="table-card" data-v-cc6a8f13><div class="table-header" data-v-cc6a8f13><span class="table-title" data-v-cc6a8f13>近期申请记录</span>`);
_push(ssrRenderComponent(_component_a_button, {
size: "small",
onClick: ($event) => ("navigateTo" in _ctx ? _ctx.navigateTo : unref(navigateTo))("/admin/members/review")
}, {
default: withCtx((_, _push2, _parent2, _scopeId) => {
if (_push2) {
_push2(`查看全部并审核 →`);
} else {
return [
createTextVNode("查看全部并审核 →")
];
}
}),
_: 1
}, _parent));
_push(`</div>`);
_push(ssrRenderComponent(_component_a_table, {
columns,
"data-source": unref(recentApplications),
"row-key": "id",
pagination: false,
size: "middle"
}, {
bodyCell: withCtx(({ column, record }, _push2, _parent2, _scopeId) => {
if (_push2) {
if (column.key === "type") {
_push2(ssrRenderComponent(_component_a_tag, {
color: record.type === "enterprise" ? "blue" : "green"
}, {
default: withCtx((_, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`${ssrInterpolate(record.type === "enterprise" ? "企业" : "个人")}`);
} else {
return [
createTextVNode(toDisplayString(record.type === "enterprise" ? "企业" : "个人"), 1)
];
}
}),
_: 2
}, _parent2, _scopeId));
} else {
_push2(`<!---->`);
}
if (column.key === "status") {
_push2(ssrRenderComponent(_component_a_tag, {
color: record.status === "pending" ? "orange" : record.status === "approved" ? "green" : "red"
}, {
default: withCtx((_, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`${ssrInterpolate(record.status === "pending" ? "待审核" : record.status === "approved" ? "已通过" : "已拒绝")}`);
} else {
return [
createTextVNode(toDisplayString(record.status === "pending" ? "待审核" : record.status === "approved" ? "已通过" : "已拒绝"), 1)
];
}
}),
_: 2
}, _parent2, _scopeId));
} else {
_push2(`<!---->`);
}
if (column.key === "action") {
_push2(ssrRenderComponent(_component_a_button, {
size: "small",
onClick: ($event) => ("navigateTo" in _ctx ? _ctx.navigateTo : unref(navigateTo))("/admin/members/review")
}, {
default: withCtx((_, _push3, _parent3, _scopeId2) => {
if (_push3) {
_push3(`审核`);
} else {
return [
createTextVNode("审核")
];
}
}),
_: 2
}, _parent2, _scopeId));
} else {
_push2(`<!---->`);
}
} else {
return [
column.key === "type" ? (openBlock(), createBlock(_component_a_tag, {
key: 0,
color: record.type === "enterprise" ? "blue" : "green"
}, {
default: withCtx(() => [
createTextVNode(toDisplayString(record.type === "enterprise" ? "企业" : "个人"), 1)
]),
_: 2
}, 1032, ["color"])) : createCommentVNode("", true),
column.key === "status" ? (openBlock(), createBlock(_component_a_tag, {
key: 1,
color: record.status === "pending" ? "orange" : record.status === "approved" ? "green" : "red"
}, {
default: withCtx(() => [
createTextVNode(toDisplayString(record.status === "pending" ? "待审核" : record.status === "approved" ? "已通过" : "已拒绝"), 1)
]),
_: 2
}, 1032, ["color"])) : createCommentVNode("", true),
column.key === "action" ? (openBlock(), createBlock(_component_a_button, {
key: 2,
size: "small",
onClick: ($event) => ("navigateTo" in _ctx ? _ctx.navigateTo : unref(navigateTo))("/admin/members/review")
}, {
default: withCtx(() => [
createTextVNode("审核")
]),
_: 1
}, 8, ["onClick"])) : createCommentVNode("", true)
];
}
}),
_: 1
}, _parent));
_push(`</div></div>`);
};
}
});
const _sfc_setup = _sfc_main.setup;
_sfc_main.setup = (props, ctx) => {
const ssrContext = useSSRContext();
(ssrContext.modules || (ssrContext.modules = /* @__PURE__ */ new Set())).add("pages/admin/applications/member.vue");
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
};
const member = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-cc6a8f13"]]);
export { member as default };
//# sourceMappingURL=member-BW0JmP4L.mjs.map