- 新增api目录下多个接口路径代理处理文件,支持动态拼接目标URL - 根据环境变量选择不同的后端服务地址(如dev和生产环境) - 统一添加TenantId和Authorization请求头传递租户及身份信息 - 实现请求参数及搜索参数的完整转发 - 引入better-sqlite3及node内建模块支持服务端功能 - 新增专家详情页面,实现文章、成果及预约咨询功能展示 - 页面实现加载骨架屏、标签页切换及空状态提示优化体验
1393 lines
59 KiB
JavaScript
1393 lines
59 KiB
JavaScript
import { defineComponent, ref, reactive, resolveComponent, mergeProps, unref, withCtx, createTextVNode, createVNode, toDisplayString, createBlock, createCommentVNode, openBlock, Fragment, isRef, useSSRContext } from 'vue';
|
|
import { ssrRenderAttrs, ssrInterpolate, ssrRenderComponent, ssrRenderStyle } from 'vue/server-renderer';
|
|
import { message } from 'ant-design-vue';
|
|
import { a as _export_sfc, c as useHead } from './server.mjs';
|
|
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 '@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: "review",
|
|
__ssrInlineRender: true,
|
|
setup(__props) {
|
|
useHead({ title: "专家审核" });
|
|
const loading = ref(false);
|
|
const saving = ref(false);
|
|
const rejectModal = ref(false);
|
|
const detailModal = ref(false);
|
|
const rejectReason = ref("");
|
|
const currentRecord = ref(null);
|
|
const pendingCount = ref(3);
|
|
const total = ref(0);
|
|
const currentPage = ref(1);
|
|
const pageSize = ref(15);
|
|
const filters = reactive({
|
|
keyword: "",
|
|
status: ""
|
|
});
|
|
const columns = [
|
|
{ title: "申请人", key: "applicant", width: 200 },
|
|
{ title: "职称", dataIndex: "title", key: "title" },
|
|
{ title: "研究领域", dataIndex: "researchArea", key: "researchArea" },
|
|
{ title: "申请时间", dataIndex: "applyTime", key: "applyTime", width: 150 },
|
|
{ title: "状态", key: "status", width: 100 },
|
|
{ title: "材料", key: "materials", width: 160 },
|
|
{ title: "操作", key: "action", width: 160 }
|
|
];
|
|
const dataSource = ref([
|
|
{
|
|
id: 1,
|
|
name: "张某某",
|
|
avatar: "",
|
|
organization: "广西大学",
|
|
title: "教授",
|
|
researchArea: "区域经济",
|
|
education: "博士",
|
|
phone: "138****0001",
|
|
email: "zhang@gxu.edu.cn",
|
|
intro: "长期从事区域经济研究...",
|
|
applyTime: "2024-12-18 10:30",
|
|
status: "pending"
|
|
},
|
|
{
|
|
id: 2,
|
|
name: "李某某",
|
|
avatar: "",
|
|
organization: "广西社科院",
|
|
title: "研究员",
|
|
researchArea: "产业政策",
|
|
education: "博士",
|
|
phone: "139****0002",
|
|
email: "li@gxss.org",
|
|
intro: "专注产业政策研究...",
|
|
applyTime: "2024-12-17 15:00",
|
|
status: "pending"
|
|
},
|
|
{
|
|
id: 3,
|
|
name: "王某某",
|
|
avatar: "",
|
|
organization: "广西师范大学",
|
|
title: "副教授",
|
|
researchArea: "金融经济",
|
|
education: "博士",
|
|
phone: "137****0003",
|
|
email: "wang@gxnu.edu.cn",
|
|
intro: "从事金融经济研究...",
|
|
applyTime: "2024-12-15 09:00",
|
|
status: "approved"
|
|
}
|
|
]);
|
|
function getStatusColor(status) {
|
|
const map = { pending: "orange", approved: "green", rejected: "red" };
|
|
return map[status] || "default";
|
|
}
|
|
function getStatusText(status) {
|
|
const map = { pending: "待审核", approved: "已通过", rejected: "已拒绝" };
|
|
return map[status] || status;
|
|
}
|
|
async function handleApprove(record) {
|
|
try {
|
|
record.status = "approved";
|
|
pendingCount.value = Math.max(0, pendingCount.value - 1);
|
|
message.success(`已通过 ${record.name} 的专家申请`);
|
|
} catch (e) {
|
|
message.error(e?.message || "操作失败");
|
|
}
|
|
}
|
|
function handleReject(record) {
|
|
currentRecord.value = record;
|
|
rejectReason.value = "";
|
|
rejectModal.value = true;
|
|
}
|
|
async function confirmReject() {
|
|
if (!rejectReason.value.trim()) {
|
|
message.warning("请填写拒绝原因");
|
|
return;
|
|
}
|
|
saving.value = true;
|
|
try {
|
|
currentRecord.value.status = "rejected";
|
|
pendingCount.value = Math.max(0, pendingCount.value - 1);
|
|
message.success("已拒绝申请并通知申请人");
|
|
rejectModal.value = false;
|
|
} catch (e) {
|
|
message.error(e?.message || "操作失败");
|
|
} finally {
|
|
saving.value = false;
|
|
}
|
|
}
|
|
function viewDetail(record) {
|
|
currentRecord.value = record;
|
|
detailModal.value = true;
|
|
}
|
|
function previewFile(record, type) {
|
|
message.info(`预览 ${record.name} 的${type === "resume" ? "简历" : type === "id" ? "身份证" : "证书"}材料`);
|
|
}
|
|
function handlePageChange(page) {
|
|
currentPage.value = page;
|
|
loadData();
|
|
}
|
|
async function loadData() {
|
|
loading.value = true;
|
|
try {
|
|
} finally {
|
|
loading.value = false;
|
|
}
|
|
}
|
|
return (_ctx, _push, _parent, _attrs) => {
|
|
const _component_a_space = resolveComponent("a-space");
|
|
const _component_a_input = resolveComponent("a-input");
|
|
const _component_a_select = resolveComponent("a-select");
|
|
const _component_a_select_option = resolveComponent("a-select-option");
|
|
const _component_a_button = resolveComponent("a-button");
|
|
const _component_a_table = resolveComponent("a-table");
|
|
const _component_a_avatar = resolveComponent("a-avatar");
|
|
const _component_a_tag = resolveComponent("a-tag");
|
|
const _component_a_modal = resolveComponent("a-modal");
|
|
const _component_a_form = resolveComponent("a-form");
|
|
const _component_a_form_item = resolveComponent("a-form-item");
|
|
const _component_a_textarea = resolveComponent("a-textarea");
|
|
const _component_a_descriptions = resolveComponent("a-descriptions");
|
|
const _component_a_descriptions_item = resolveComponent("a-descriptions-item");
|
|
_push(`<div${ssrRenderAttrs(mergeProps({ class: "admin-experts-review" }, _attrs))} data-v-8a6cbbff><div class="page-header" data-v-8a6cbbff><h3 data-v-8a6cbbff>专家审核</h3><span class="pending-count" data-v-8a6cbbff>待审核:${ssrInterpolate(unref(pendingCount))} 人</span></div><div class="filter-bar" data-v-8a6cbbff>`);
|
|
_push(ssrRenderComponent(_component_a_space, { wrap: "" }, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(ssrRenderComponent(_component_a_input, {
|
|
value: unref(filters).keyword,
|
|
"onUpdate:value": ($event) => unref(filters).keyword = $event,
|
|
placeholder: "搜索专家姓名/单位",
|
|
"allow-clear": "",
|
|
style: { "width": "200px" },
|
|
onPressEnter: loadData
|
|
}, null, _parent2, _scopeId));
|
|
_push2(ssrRenderComponent(_component_a_select, {
|
|
value: unref(filters).status,
|
|
"onUpdate:value": ($event) => unref(filters).status = $event,
|
|
style: { "width": "130px" },
|
|
onChange: loadData
|
|
}, {
|
|
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(ssrRenderComponent(_component_a_select_option, { value: "" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`全部状态`);
|
|
} else {
|
|
return [
|
|
createTextVNode("全部状态")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_select_option, { value: "pending" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`待审核`);
|
|
} else {
|
|
return [
|
|
createTextVNode("待审核")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_select_option, { value: "approved" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`已通过`);
|
|
} else {
|
|
return [
|
|
createTextVNode("已通过")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_select_option, { value: "rejected" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`已拒绝`);
|
|
} else {
|
|
return [
|
|
createTextVNode("已拒绝")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_select_option, { value: "" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode("全部状态")
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_select_option, { value: "pending" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode("待审核")
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_select_option, { value: "approved" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode("已通过")
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_select_option, { value: "rejected" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode("已拒绝")
|
|
]),
|
|
_: 1
|
|
})
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent2, _scopeId));
|
|
_push2(ssrRenderComponent(_component_a_button, {
|
|
type: "primary",
|
|
onClick: loadData
|
|
}, {
|
|
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(`搜索`);
|
|
} else {
|
|
return [
|
|
createTextVNode("搜索")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent2, _scopeId));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_input, {
|
|
value: unref(filters).keyword,
|
|
"onUpdate:value": ($event) => unref(filters).keyword = $event,
|
|
placeholder: "搜索专家姓名/单位",
|
|
"allow-clear": "",
|
|
style: { "width": "200px" },
|
|
onPressEnter: loadData
|
|
}, null, 8, ["value", "onUpdate:value"]),
|
|
createVNode(_component_a_select, {
|
|
value: unref(filters).status,
|
|
"onUpdate:value": ($event) => unref(filters).status = $event,
|
|
style: { "width": "130px" },
|
|
onChange: loadData
|
|
}, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_select_option, { value: "" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode("全部状态")
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_select_option, { value: "pending" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode("待审核")
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_select_option, { value: "approved" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode("已通过")
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_select_option, { value: "rejected" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode("已拒绝")
|
|
]),
|
|
_: 1
|
|
})
|
|
]),
|
|
_: 1
|
|
}, 8, ["value", "onUpdate:value"]),
|
|
createVNode(_component_a_button, {
|
|
type: "primary",
|
|
onClick: loadData
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("搜索")
|
|
]),
|
|
_: 1
|
|
})
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</div><div class="table-card" data-v-8a6cbbff>`);
|
|
_push(ssrRenderComponent(_component_a_table, {
|
|
columns,
|
|
"data-source": unref(dataSource),
|
|
loading: unref(loading),
|
|
"row-key": "id",
|
|
pagination: { total: unref(total), pageSize: unref(pageSize), current: unref(currentPage), onChange: handlePageChange, showTotal: (t) => `共 ${t} 条` }
|
|
}, {
|
|
bodyCell: withCtx(({ column, record }, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
if (column.key === "applicant") {
|
|
_push2(`<div class="applicant-info" data-v-8a6cbbff${_scopeId}>`);
|
|
_push2(ssrRenderComponent(_component_a_avatar, {
|
|
src: record.avatar,
|
|
size: 36
|
|
}, {
|
|
default: withCtx((_, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(`${ssrInterpolate(record.name?.charAt(0))}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(record.name?.charAt(0)), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent2, _scopeId));
|
|
_push2(`<div class="applicant-detail" data-v-8a6cbbff${_scopeId}><div class="applicant-name" data-v-8a6cbbff${_scopeId}>${ssrInterpolate(record.name)}</div><div class="applicant-org" data-v-8a6cbbff${_scopeId}>${ssrInterpolate(record.organization)}</div></div></div>`);
|
|
} else {
|
|
_push2(`<!---->`);
|
|
}
|
|
if (column.key === "status") {
|
|
_push2(ssrRenderComponent(_component_a_tag, {
|
|
color: getStatusColor(record.status)
|
|
}, {
|
|
default: withCtx((_, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(`${ssrInterpolate(getStatusText(record.status))}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(getStatusText(record.status)), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent2, _scopeId));
|
|
} else {
|
|
_push2(`<!---->`);
|
|
}
|
|
if (column.key === "materials") {
|
|
_push2(ssrRenderComponent(_component_a_space, null, {
|
|
default: withCtx((_, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => previewFile(record, "resume")
|
|
}, {
|
|
default: withCtx((_2, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`简历`);
|
|
} else {
|
|
return [
|
|
createTextVNode("简历")
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => previewFile(record, "id")
|
|
}, {
|
|
default: withCtx((_2, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`身份证`);
|
|
} else {
|
|
return [
|
|
createTextVNode("身份证")
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => previewFile(record, "cert")
|
|
}, {
|
|
default: withCtx((_2, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`证书`);
|
|
} else {
|
|
return [
|
|
createTextVNode("证书")
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent3, _scopeId2));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => previewFile(record, "resume")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("简历")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => previewFile(record, "id")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("身份证")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => previewFile(record, "cert")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("证书")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent2, _scopeId));
|
|
} else {
|
|
_push2(`<!---->`);
|
|
}
|
|
if (column.key === "action") {
|
|
_push2(`<!--[-->`);
|
|
if (record.status === "pending") {
|
|
_push2(ssrRenderComponent(_component_a_space, null, {
|
|
default: withCtx((_, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
type: "primary",
|
|
size: "small",
|
|
onClick: ($event) => handleApprove(record)
|
|
}, {
|
|
default: withCtx((_2, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`通过`);
|
|
} else {
|
|
return [
|
|
createTextVNode("通过")
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
danger: "",
|
|
size: "small",
|
|
onClick: ($event) => handleReject(record)
|
|
}, {
|
|
default: withCtx((_2, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`拒绝`);
|
|
} else {
|
|
return [
|
|
createTextVNode("拒绝")
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => viewDetail(record)
|
|
}, {
|
|
default: withCtx((_2, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`详情`);
|
|
} else {
|
|
return [
|
|
createTextVNode("详情")
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent3, _scopeId2));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_button, {
|
|
type: "primary",
|
|
size: "small",
|
|
onClick: ($event) => handleApprove(record)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("通过")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
danger: "",
|
|
size: "small",
|
|
onClick: ($event) => handleReject(record)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("拒绝")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => viewDetail(record)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("详情")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent2, _scopeId));
|
|
} else {
|
|
_push2(ssrRenderComponent(_component_a_space, null, {
|
|
default: withCtx((_, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => viewDetail(record)
|
|
}, {
|
|
default: withCtx((_2, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`详情`);
|
|
} else {
|
|
return [
|
|
createTextVNode("详情")
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent3, _scopeId2));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => viewDetail(record)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("详情")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
];
|
|
}
|
|
}),
|
|
_: 2
|
|
}, _parent2, _scopeId));
|
|
}
|
|
_push2(`<!--]-->`);
|
|
} else {
|
|
_push2(`<!---->`);
|
|
}
|
|
} else {
|
|
return [
|
|
column.key === "applicant" ? (openBlock(), createBlock("div", {
|
|
key: 0,
|
|
class: "applicant-info"
|
|
}, [
|
|
createVNode(_component_a_avatar, {
|
|
src: record.avatar,
|
|
size: 36
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(record.name?.charAt(0)), 1)
|
|
]),
|
|
_: 2
|
|
}, 1032, ["src"]),
|
|
createVNode("div", { class: "applicant-detail" }, [
|
|
createVNode("div", { class: "applicant-name" }, toDisplayString(record.name), 1),
|
|
createVNode("div", { class: "applicant-org" }, toDisplayString(record.organization), 1)
|
|
])
|
|
])) : createCommentVNode("", true),
|
|
column.key === "status" ? (openBlock(), createBlock(_component_a_tag, {
|
|
key: 1,
|
|
color: getStatusColor(record.status)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(getStatusText(record.status)), 1)
|
|
]),
|
|
_: 2
|
|
}, 1032, ["color"])) : createCommentVNode("", true),
|
|
column.key === "materials" ? (openBlock(), createBlock(_component_a_space, { key: 2 }, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => previewFile(record, "resume")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("简历")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => previewFile(record, "id")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("身份证")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => previewFile(record, "cert")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("证书")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
]),
|
|
_: 2
|
|
}, 1024)) : createCommentVNode("", true),
|
|
column.key === "action" ? (openBlock(), createBlock(Fragment, { key: 3 }, [
|
|
record.status === "pending" ? (openBlock(), createBlock(_component_a_space, { key: 0 }, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_button, {
|
|
type: "primary",
|
|
size: "small",
|
|
onClick: ($event) => handleApprove(record)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("通过")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
danger: "",
|
|
size: "small",
|
|
onClick: ($event) => handleReject(record)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("拒绝")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => viewDetail(record)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("详情")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
]),
|
|
_: 2
|
|
}, 1024)) : (openBlock(), createBlock(_component_a_space, { key: 1 }, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_button, {
|
|
size: "small",
|
|
onClick: ($event) => viewDetail(record)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("详情")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
]),
|
|
_: 2
|
|
}, 1024))
|
|
], 64)) : createCommentVNode("", true)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</div>`);
|
|
_push(ssrRenderComponent(_component_a_modal, {
|
|
open: unref(rejectModal),
|
|
"onUpdate:open": ($event) => isRef(rejectModal) ? rejectModal.value = $event : null,
|
|
title: "填写拒绝原因",
|
|
onOk: confirmReject,
|
|
"confirm-loading": unref(saving)
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
_push2(ssrRenderComponent(_component_a_form, { layout: "vertical" }, {
|
|
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(ssrRenderComponent(_component_a_form_item, {
|
|
label: "拒绝原因",
|
|
required: ""
|
|
}, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(ssrRenderComponent(_component_a_textarea, {
|
|
value: unref(rejectReason),
|
|
"onUpdate:value": ($event) => isRef(rejectReason) ? rejectReason.value = $event : null,
|
|
rows: 4,
|
|
placeholder: "请说明拒绝原因(将通知申请人)"
|
|
}, null, _parent4, _scopeId3));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_textarea, {
|
|
value: unref(rejectReason),
|
|
"onUpdate:value": ($event) => isRef(rejectReason) ? rejectReason.value = $event : null,
|
|
rows: 4,
|
|
placeholder: "请说明拒绝原因(将通知申请人)"
|
|
}, null, 8, ["value", "onUpdate:value"])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_form_item, {
|
|
label: "拒绝原因",
|
|
required: ""
|
|
}, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_textarea, {
|
|
value: unref(rejectReason),
|
|
"onUpdate:value": ($event) => isRef(rejectReason) ? rejectReason.value = $event : null,
|
|
rows: 4,
|
|
placeholder: "请说明拒绝原因(将通知申请人)"
|
|
}, null, 8, ["value", "onUpdate:value"])
|
|
]),
|
|
_: 1
|
|
})
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent2, _scopeId));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_form, { layout: "vertical" }, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_form_item, {
|
|
label: "拒绝原因",
|
|
required: ""
|
|
}, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_textarea, {
|
|
value: unref(rejectReason),
|
|
"onUpdate:value": ($event) => isRef(rejectReason) ? rejectReason.value = $event : null,
|
|
rows: 4,
|
|
placeholder: "请说明拒绝原因(将通知申请人)"
|
|
}, null, 8, ["value", "onUpdate:value"])
|
|
]),
|
|
_: 1
|
|
})
|
|
]),
|
|
_: 1
|
|
})
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(ssrRenderComponent(_component_a_modal, {
|
|
open: unref(detailModal),
|
|
"onUpdate:open": ($event) => isRef(detailModal) ? detailModal.value = $event : null,
|
|
title: `${unref(currentRecord)?.name} - 申请详情`,
|
|
width: "700px",
|
|
footer: null
|
|
}, {
|
|
default: withCtx((_, _push2, _parent2, _scopeId) => {
|
|
if (_push2) {
|
|
if (unref(currentRecord)) {
|
|
_push2(`<div class="detail-content" data-v-8a6cbbff${_scopeId}>`);
|
|
_push2(ssrRenderComponent(_component_a_descriptions, {
|
|
bordered: "",
|
|
column: 2
|
|
}, {
|
|
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, { label: "姓名" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`${ssrInterpolate(unref(currentRecord).name)}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(unref(currentRecord).name), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, { label: "职称" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`${ssrInterpolate(unref(currentRecord).title)}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(unref(currentRecord).title), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, { label: "所在单位" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`${ssrInterpolate(unref(currentRecord).organization)}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(unref(currentRecord).organization), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, { label: "研究领域" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`${ssrInterpolate(unref(currentRecord).researchArea)}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(unref(currentRecord).researchArea), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, { label: "学历" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`${ssrInterpolate(unref(currentRecord).education)}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(unref(currentRecord).education), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, { label: "联系电话" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`${ssrInterpolate(unref(currentRecord).phone)}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(unref(currentRecord).phone), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, {
|
|
label: "电子邮箱",
|
|
span: 2
|
|
}, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`${ssrInterpolate(unref(currentRecord).email)}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(unref(currentRecord).email), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, {
|
|
label: "个人简介",
|
|
span: 2
|
|
}, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`${ssrInterpolate(unref(currentRecord).intro)}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(unref(currentRecord).intro), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, { label: "申请时间" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`${ssrInterpolate(unref(currentRecord).applyTime)}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(unref(currentRecord).applyTime), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_descriptions_item, { label: "审核状态" }, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(ssrRenderComponent(_component_a_tag, {
|
|
color: getStatusColor(unref(currentRecord).status)
|
|
}, {
|
|
default: withCtx((_4, _push5, _parent5, _scopeId4) => {
|
|
if (_push5) {
|
|
_push5(`${ssrInterpolate(getStatusText(unref(currentRecord).status))}`);
|
|
} else {
|
|
return [
|
|
createTextVNode(toDisplayString(getStatusText(unref(currentRecord).status)), 1)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent4, _scopeId3));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_tag, {
|
|
color: getStatusColor(unref(currentRecord).status)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(getStatusText(unref(currentRecord).status)), 1)
|
|
]),
|
|
_: 1
|
|
}, 8, ["color"])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_descriptions_item, { label: "姓名" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).name), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "职称" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).title), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "所在单位" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).organization), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "研究领域" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).researchArea), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "学历" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).education), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "联系电话" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).phone), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, {
|
|
label: "电子邮箱",
|
|
span: 2
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).email), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, {
|
|
label: "个人简介",
|
|
span: 2
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).intro), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "申请时间" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).applyTime), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "审核状态" }, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_tag, {
|
|
color: getStatusColor(unref(currentRecord).status)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(getStatusText(unref(currentRecord).status)), 1)
|
|
]),
|
|
_: 1
|
|
}, 8, ["color"])
|
|
]),
|
|
_: 1
|
|
})
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent2, _scopeId));
|
|
_push2(`<div class="materials-section" style="${ssrRenderStyle({ "margin-top": "16px" })}" data-v-8a6cbbff${_scopeId}><h4 style="${ssrRenderStyle({ "margin-bottom": "12px" })}" data-v-8a6cbbff${_scopeId}>申请材料</h4>`);
|
|
_push2(ssrRenderComponent(_component_a_space, { wrap: "" }, {
|
|
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
icon: "📄",
|
|
onClick: ($event) => previewFile(unref(currentRecord), "resume")
|
|
}, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`查看简历/研究成果`);
|
|
} else {
|
|
return [
|
|
createTextVNode("查看简历/研究成果")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
icon: "🪪",
|
|
onClick: ($event) => previewFile(unref(currentRecord), "id")
|
|
}, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`查看身份证`);
|
|
} else {
|
|
return [
|
|
createTextVNode("查看身份证")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
icon: "🏆",
|
|
onClick: ($event) => previewFile(unref(currentRecord), "cert")
|
|
}, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`查看职称证书/学历证书`);
|
|
} else {
|
|
return [
|
|
createTextVNode("查看职称证书/学历证书")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_button, {
|
|
icon: "📄",
|
|
onClick: ($event) => previewFile(unref(currentRecord), "resume")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("查看简历/研究成果")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
icon: "🪪",
|
|
onClick: ($event) => previewFile(unref(currentRecord), "id")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("查看身份证")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
icon: "🏆",
|
|
onClick: ($event) => previewFile(unref(currentRecord), "cert")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("查看职称证书/学历证书")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent2, _scopeId));
|
|
_push2(`</div>`);
|
|
if (unref(currentRecord).status === "pending") {
|
|
_push2(`<div class="action-area" style="${ssrRenderStyle({ "margin-top": "16px" })}" data-v-8a6cbbff${_scopeId}>`);
|
|
_push2(ssrRenderComponent(_component_a_space, null, {
|
|
default: withCtx((_2, _push3, _parent3, _scopeId2) => {
|
|
if (_push3) {
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
type: "primary",
|
|
onClick: ($event) => {
|
|
handleApprove(unref(currentRecord));
|
|
detailModal.value = false;
|
|
}
|
|
}, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`通过申请`);
|
|
} else {
|
|
return [
|
|
createTextVNode("通过申请")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
_push3(ssrRenderComponent(_component_a_button, {
|
|
danger: "",
|
|
onClick: ($event) => {
|
|
handleReject(unref(currentRecord));
|
|
detailModal.value = false;
|
|
}
|
|
}, {
|
|
default: withCtx((_3, _push4, _parent4, _scopeId3) => {
|
|
if (_push4) {
|
|
_push4(`拒绝申请`);
|
|
} else {
|
|
return [
|
|
createTextVNode("拒绝申请")
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent3, _scopeId2));
|
|
} else {
|
|
return [
|
|
createVNode(_component_a_button, {
|
|
type: "primary",
|
|
onClick: ($event) => {
|
|
handleApprove(unref(currentRecord));
|
|
detailModal.value = false;
|
|
}
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("通过申请")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
danger: "",
|
|
onClick: ($event) => {
|
|
handleReject(unref(currentRecord));
|
|
detailModal.value = false;
|
|
}
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("拒绝申请")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent2, _scopeId));
|
|
_push2(`</div>`);
|
|
} else {
|
|
_push2(`<!---->`);
|
|
}
|
|
_push2(`</div>`);
|
|
} else {
|
|
_push2(`<!---->`);
|
|
}
|
|
} else {
|
|
return [
|
|
unref(currentRecord) ? (openBlock(), createBlock("div", {
|
|
key: 0,
|
|
class: "detail-content"
|
|
}, [
|
|
createVNode(_component_a_descriptions, {
|
|
bordered: "",
|
|
column: 2
|
|
}, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_descriptions_item, { label: "姓名" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).name), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "职称" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).title), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "所在单位" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).organization), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "研究领域" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).researchArea), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "学历" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).education), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "联系电话" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).phone), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, {
|
|
label: "电子邮箱",
|
|
span: 2
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).email), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, {
|
|
label: "个人简介",
|
|
span: 2
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).intro), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "申请时间" }, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(unref(currentRecord).applyTime), 1)
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode(_component_a_descriptions_item, { label: "审核状态" }, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_tag, {
|
|
color: getStatusColor(unref(currentRecord).status)
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode(toDisplayString(getStatusText(unref(currentRecord).status)), 1)
|
|
]),
|
|
_: 1
|
|
}, 8, ["color"])
|
|
]),
|
|
_: 1
|
|
})
|
|
]),
|
|
_: 1
|
|
}),
|
|
createVNode("div", {
|
|
class: "materials-section",
|
|
style: { "margin-top": "16px" }
|
|
}, [
|
|
createVNode("h4", { style: { "margin-bottom": "12px" } }, "申请材料"),
|
|
createVNode(_component_a_space, { wrap: "" }, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_button, {
|
|
icon: "📄",
|
|
onClick: ($event) => previewFile(unref(currentRecord), "resume")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("查看简历/研究成果")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
icon: "🪪",
|
|
onClick: ($event) => previewFile(unref(currentRecord), "id")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("查看身份证")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
icon: "🏆",
|
|
onClick: ($event) => previewFile(unref(currentRecord), "cert")
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("查看职称证书/学历证书")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
]),
|
|
_: 1
|
|
})
|
|
]),
|
|
unref(currentRecord).status === "pending" ? (openBlock(), createBlock("div", {
|
|
key: 0,
|
|
class: "action-area",
|
|
style: { "margin-top": "16px" }
|
|
}, [
|
|
createVNode(_component_a_space, null, {
|
|
default: withCtx(() => [
|
|
createVNode(_component_a_button, {
|
|
type: "primary",
|
|
onClick: ($event) => {
|
|
handleApprove(unref(currentRecord));
|
|
detailModal.value = false;
|
|
}
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("通过申请")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"]),
|
|
createVNode(_component_a_button, {
|
|
danger: "",
|
|
onClick: ($event) => {
|
|
handleReject(unref(currentRecord));
|
|
detailModal.value = false;
|
|
}
|
|
}, {
|
|
default: withCtx(() => [
|
|
createTextVNode("拒绝申请")
|
|
]),
|
|
_: 1
|
|
}, 8, ["onClick"])
|
|
]),
|
|
_: 1
|
|
})
|
|
])) : createCommentVNode("", true)
|
|
])) : createCommentVNode("", true)
|
|
];
|
|
}
|
|
}),
|
|
_: 1
|
|
}, _parent));
|
|
_push(`</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/experts/review.vue");
|
|
return _sfc_setup ? _sfc_setup(props, ctx) : void 0;
|
|
};
|
|
const review = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-8a6cbbff"]]);
|
|
|
|
export { review as default };
|
|
//# sourceMappingURL=review-By9z7K8B.mjs.map
|