提交 d30bf39a authored 作者: lhh's avatar lhh

update

上级 2fd8592d
......@@ -4,6 +4,9 @@ import AppList from '@/components/base/AppList.vue'
import { getMaterialList, deleteMaterial } from '@/api/base'
import type { MaterialProp } from '@/types'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const UpdateMaterialDialog = defineAsyncComponent(() => import('@/components/base/UpdateMaterialDialog.vue'))
......@@ -117,6 +120,7 @@ const deleteMembers = function (ids: string) {
<template #header-buttons>
<el-space>
<el-button
v-if="!userStore.status.material_status"
type="primary"
:icon="Plus"
@click="handleAdd"
......@@ -151,6 +155,7 @@ const deleteMembers = function (ids: string) {
:data="currentRow"
@update="handleRefresh()"
v-if="updateVisible"
v-model="updateVisible"></UpdateMaterialDialog>
v-model="updateVisible"
></UpdateMaterialDialog>
</AppCard>
</template>
......@@ -4,6 +4,9 @@ import AppList from '@/components/base/AppList.vue'
import { getMaterialList, deleteMaterial } from '@/api/base'
import type { MaterialProp } from '@/types'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const UpdateMaterialDialog = defineAsyncComponent(() => import('@/components/base/UpdateMaterialDialog.vue'))
......@@ -117,6 +120,7 @@ const deleteMembers = function (ids: string) {
<template #header-buttons>
<el-space>
<el-button
v-if="!userStore.status.material_status"
type="primary"
:icon="Plus"
@click="handleAdd"
......@@ -151,6 +155,7 @@ const deleteMembers = function (ids: string) {
:data="currentRow"
@update="handleRefresh()"
v-if="updateVisible"
v-model="updateVisible"></UpdateMaterialDialog>
v-model="updateVisible"
></UpdateMaterialDialog>
</AppCard>
</template>
......@@ -4,6 +4,9 @@ import AppList from '@/components/base/AppList.vue'
import { getMaterialList, deleteMaterial } from '@/api/base'
import type { MaterialProp } from '@/types'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const UpdateMaterialDialog = defineAsyncComponent(() => import('@/components/base/UpdateMaterialDialog.vue'))
......@@ -117,6 +120,7 @@ const deleteMembers = function (ids: string) {
<template #header-buttons>
<el-space>
<el-button
v-if="!userStore.status.material_status"
type="primary"
:icon="Plus"
@click="handleAdd"
......@@ -151,6 +155,7 @@ const deleteMembers = function (ids: string) {
:data="currentRow"
@update="handleRefresh()"
v-if="updateVisible"
v-model="updateVisible"></UpdateMaterialDialog>
v-model="updateVisible"
></UpdateMaterialDialog>
</AppCard>
</template>
......@@ -4,6 +4,9 @@ import AppList from '@/components/base/AppList.vue'
import { getMaterialList, deleteMaterial } from '@/api/base'
import type { MaterialProp } from '@/types'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const UpdateMaterialDialog = defineAsyncComponent(() => import('@/components/base/UpdateMaterialDialog.vue'))
......@@ -117,6 +120,7 @@ const deleteMembers = function (ids: string) {
<template #header-buttons>
<el-space>
<el-button
v-if="!userStore.status.material_status"
type="primary"
:icon="Plus"
@click="handleAdd"
......
......@@ -4,6 +4,9 @@ import AppList from '@/components/base/AppList.vue'
import { getMaterialList, deleteMaterial } from '@/api/base'
import type { MaterialProp } from '@/types'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const UpdateMaterialDialog = defineAsyncComponent(() => import('@/components/base/UpdateMaterialDialog.vue'))
......@@ -117,6 +120,7 @@ const deleteMembers = function (ids: string) {
<template #header-buttons>
<el-space>
<el-button
v-if="!userStore.status.material_status"
type="primary"
:icon="Plus"
@click="handleAdd"
......@@ -151,6 +155,7 @@ const deleteMembers = function (ids: string) {
:data="currentRow"
@update="handleRefresh()"
v-if="updateVisible"
v-model="updateVisible"></UpdateMaterialDialog>
v-model="updateVisible"
></UpdateMaterialDialog>
</AppCard>
</template>
......@@ -4,6 +4,9 @@ import AppList from '@/components/base/AppList.vue'
import { getMaterialList, deleteMaterial } from '@/api/base'
import type { MaterialProp } from '@/types'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const UpdateMaterialDialog = defineAsyncComponent(() => import('@/components/base/UpdateMaterialDialog.vue'))
......@@ -117,6 +120,7 @@ const deleteMembers = function (ids: string) {
<template #header-buttons>
<el-space>
<el-button
v-if="!userStore.status.material_status"
type="primary"
:icon="Plus"
@click="handleAdd"
......@@ -151,6 +155,7 @@ const deleteMembers = function (ids: string) {
:data="currentRow"
@update="handleRefresh()"
v-if="updateVisible"
v-model="updateVisible"></UpdateMaterialDialog>
v-model="updateVisible"
></UpdateMaterialDialog>
</AppCard>
</template>
......@@ -4,6 +4,9 @@ import AppList from '@/components/base/AppList.vue'
import { getMaterialList, deleteMaterial } from '@/api/base'
import type { MaterialProp } from '@/types'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const UpdateMaterialDialog = defineAsyncComponent(() => import('@/components/base/UpdateMaterialDialog.vue'))
......@@ -117,6 +120,7 @@ const deleteMembers = function (ids: string) {
<template #header-buttons>
<el-space>
<el-button
v-if="!userStore.status.material_status"
type="primary"
:icon="Plus"
@click="handleAdd"
......
......@@ -4,6 +4,9 @@ import AppList from '@/components/base/AppList.vue'
import { getMaterialList, deleteMaterial } from '@/api/base'
import type { MaterialProp } from '@/types'
import { ElMessage } from 'element-plus'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const UpdateMaterialDialog = defineAsyncComponent(() => import('@/components/base/UpdateMaterialDialog.vue'))
......@@ -117,6 +120,7 @@ const deleteMembers = function (ids: string) {
<template #header-buttons>
<el-space>
<el-button
v-if="!userStore.status.material_status"
type="primary"
:icon="Plus"
@click="handleAdd"
......
......@@ -4,9 +4,6 @@ import { Plus } from '@element-plus/icons-vue'
import { ElMessageBox, ElMessage } from 'element-plus'
import AppList from '@/components/base/AppList.vue'
import { getMetaEvent, getConnectionsList, deleteMetaEvent } from '../api'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const FormDialog = defineAsyncComponent(() => import('../components/FormDialog.vue'))
const ViewDialog = defineAsyncComponent(() => import('../components/ViewDialog.vue'))
......@@ -119,7 +116,7 @@ const handleField = function (row: EventProp) {
<AppCard>
<AppList v-bind="listOptions" ref="appList">
<template #header-buttons>
<el-space v-if="!userStore.status.tag_status">
<el-space>
<el-button type="primary" :icon="Plus" @click="handleAdd">新建</el-button>
</el-space>
</template>
......
......@@ -5,9 +5,6 @@ import { ElMessageBox, ElMessage } from 'element-plus'
import AppList from '@/components/base/AppList.vue'
import { getMemberMeta, deleteMemberMeta } from '../api'
import { useMapStore } from '@/stores/map'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const store = useMapStore()
......@@ -105,7 +102,7 @@ function handleRemove(row: UserProp) {
<AppCard>
<AppList v-bind="listOptions" ref="appList">
<template #header-buttons>
<el-space v-if="!userStore.status.status">
<el-space>
<el-button type="primary" :icon="Plus" @click="handleAdd">新建</el-button>
</el-space>
</template>
......
......@@ -4,6 +4,9 @@ import AppList from '@/components/base/AppList.vue'
import { getMemberList, deleteMember, getMemberConnectionsList } from '../api'
import { ElMessage, ElMessageBox, ElLoading } from 'element-plus'
import type { MemberProp, ConnectionsProp } from '../types'
import { useUserStore } from '@/stores/user'
const userStore = useUserStore()
const UpdateDialog = defineAsyncComponent(() => import('../components/UpdateDialog.vue'))
const UploadEventsDialog = defineAsyncComponent(() => import('../components/UploadEventsDialog.vue'))
......@@ -207,13 +210,22 @@ const downloadMember = function (isAll?: boolean) {
<template #header-buttons>
<el-row justify="space-between">
<el-space>
<el-button type="primary" :icon="Plus" @click="handleAdd" v-permission="'v1-experiment-member-create'">新建</el-button>
<el-button
v-if="!userStore.status.status"
type="primary"
:icon="Plus"
@click="handleAdd"
v-permission="'v1-experiment-member-create'"
>新建</el-button
>
<el-dropdown v-permission="'v1-experiment-member-download'">
<el-button type="primary" :icon="Download">导出</el-button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="downloadMember(true)">全部用户数据</el-dropdown-item>
<el-dropdown-item :disabled="!multipleSelection.length" @click="downloadMember(false)">勾选用户数据</el-dropdown-item>
<el-dropdown-item :disabled="!multipleSelection.length" @click="downloadMember(false)"
>勾选用户数据</el-dropdown-item
>
</el-dropdown-menu>
</template>
</el-dropdown>
......@@ -226,14 +238,18 @@ const downloadMember = function (isAll?: boolean) {
</el-dropdown-menu>
</template>
</el-dropdown>
<el-button type="primary" @click="progressVisible = true" v-permission="'v1-experiment-member-tasks'">数据导入进度</el-button>
<el-button type="primary" @click="progressVisible = true" v-permission="'v1-experiment-member-tasks'"
>数据导入进度</el-button
>
<!-- <el-button type="danger" plain :icon="Delete" :disabled="!multipleSelection.length" @click="handleRemoves()" v-permission="'v1-experiment-member-delete'">删除</el-button> -->
<el-dropdown v-permission="'v1-experiment-member-delete'">
<el-button type="danger" :icon="Delete">删除</el-button>
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item @click="handleRemoves(true)">删除全部用户</el-dropdown-item>
<el-dropdown-item :disabled="!multipleSelection.length" @click="handleRemoves(false)">删除勾选用户</el-dropdown-item>
<el-dropdown-item :disabled="!multipleSelection.length" @click="handleRemoves(false)"
>删除勾选用户</el-dropdown-item
>
</el-dropdown-menu>
</template>
</el-dropdown>
......@@ -244,8 +260,12 @@ const downloadMember = function (isAll?: boolean) {
<template #table-x="{ row }">
<el-button type="primary" plain @click="handleImage(row)">画像</el-button>
<el-button type="primary" plain @click="handleView(row)">查看</el-button>
<el-button type="primary" plain @click="handleEdit(row)" v-permission="'v1-experiment-member-update'">编辑</el-button>
<el-button type="primary" plain @click="handleRemove(row)" v-permission="'v1-experiment-member-delete'">删除</el-button>
<el-button type="primary" plain @click="handleEdit(row)" v-permission="'v1-experiment-member-update'"
>编辑</el-button
>
<el-button type="primary" plain @click="handleRemove(row)" v-permission="'v1-experiment-member-delete'"
>删除</el-button
>
<el-button type="primary" plain @click="goPage(row)">事件</el-button>
</template>
</AppList>
......
......@@ -5,7 +5,7 @@ import type { DirectiveBinding } from 'vue'
export function checkPermission(value: string | string[]): boolean {
const userStore = useUserStore()
// true 是学员且使用公共数据(学员不能自己创建数据) false 学员可以自己创建数据
// if (!userStore.status) return true
if (!userStore.status.status || !userStore.status.group_status || !userStore.status.material_status || !userStore.status.tag_status) return true
const permissions = userStore.permissions
if (Array.isArray(value)) {
return permissions.some(item => value.includes(item.tag))
......@@ -13,7 +13,6 @@ export function checkPermission(value: string | string[]): boolean {
return !!permissions.find(item => item.tag === value)
}
}
// 权限指令
export function permissionDirective(el: HTMLElement, binding: DirectiveBinding) {
const { value } = binding
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论