-
S-lake先进技术发展中心高校雷达网
+
S-lake先进技术发展中心
加强长三角高校顶尖科研人才的发现、跟踪与服务
diff --git a/src/views/operations/past-reviews/index.vue b/src/views/operations/past-reviews/index.vue
new file mode 100644
index 0000000..f164223
--- /dev/null
+++ b/src/views/operations/past-reviews/index.vue
@@ -0,0 +1,265 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 搜索
+ 重置
+
+
+
+
+
+
+
+ —
+
+
+
+
+
+
+ {{ row.status === 1 ? '显示' : '隐藏' }}
+
+
+
+
+
+
+ 编辑
+ 删除
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 上传封面
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 显示
+ 隐藏
+
+
+
+
+
+
+ 取消
+ 保存
+
+
+
+
+
diff --git a/src/views/students/index.vue b/src/views/students/index.vue
index 323862a..95ab3e7 100644
--- a/src/views/students/index.vue
+++ b/src/views/students/index.vue
@@ -30,6 +30,7 @@ const meta = ref({ current_page: 1, per_page: 20, total: 0 })
const page = ref(1)
const keyword = ref('')
const filterConverted = ref<'' | '0' | '1'>('')
+const filterIdentity = ref<'' | 'none' | 'incubation' | 'partner'>('')
const starOptions = ref
([])
const statusOptions = ref([])
@@ -43,6 +44,7 @@ const staffOptions = ref<{ id: number; label: string; role: string }[]>([])
const bindVisible = ref(false)
const bindRow = ref(null)
const bindAdminUserId = ref()
+const bindIdentityType = ref<'incubation' | 'partner' | undefined>()
const bindSaving = ref(false)
const convertVisible = ref(false)
@@ -75,9 +77,12 @@ async function loadStaffOptions() {
])
const options: { id: number; label: string; role: string }[] = []
for (const item of admins.items) {
+ const roleLabel = item.roles?.length
+ ? item.roles.map((role) => role.name).join('、')
+ : '后台账号'
options.push({
id: item.id,
- label: `${item.real_name || item.username}(管理员)`,
+ label: `${item.real_name || item.username}(${roleLabel})`,
role: 'admin',
})
}
@@ -112,6 +117,7 @@ async function load() {
const params: Record = { page: page.value, page_size: meta.value.per_page }
if (keyword.value) params.keyword = keyword.value
if (filterConverted.value !== '') params.converted = filterConverted.value
+ if (filterIdentity.value !== '') params.identity_type = filterIdentity.value
const res = await fetchMiniappUsersList(params)
items.value = res.items
meta.value = res.meta
@@ -123,6 +129,7 @@ async function load() {
function resetFilters() {
keyword.value = ''
filterConverted.value = ''
+ filterIdentity.value = ''
page.value = 1
load()
}
@@ -140,6 +147,7 @@ async function openDetail(row: MiniappUserRow) {
function openBind(row: MiniappUserRow) {
bindRow.value = row
bindAdminUserId.value = row.admin_user_id ?? undefined
+ bindIdentityType.value = row.identity_type ?? undefined
bindVisible.value = true
}
@@ -147,8 +155,12 @@ async function saveBind() {
if (!bindRow.value) return
bindSaving.value = true
try {
- await bindMiniappUserStaff(bindRow.value.id, bindAdminUserId.value ?? null)
- ElMessage.success(bindAdminUserId.value ? '已绑定后台账号' : '已解除绑定')
+ await bindMiniappUserStaff(
+ bindRow.value.id,
+ bindAdminUserId.value ?? null,
+ bindIdentityType.value ?? null,
+ )
+ ElMessage.success('已保存')
bindVisible.value = false
await load()
} finally {
@@ -267,6 +279,11 @@ usePageLoad(async () => {
+
+
+
+
+
搜索
重置
@@ -290,7 +307,18 @@ usePageLoad(async () => {
{{ formatEnrollments(row.activity_titles) }}