大改:重新整理菜单及权限

This commit is contained in:
2024-07-19 08:45:00 +08:00
parent 81006e7636
commit 48ea6d0301
15 changed files with 519 additions and 366 deletions

View File

@@ -21,14 +21,27 @@
</template>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'shortName'">
<StarOutlined
@click="onCollection(record)"
class="tag-icon"
:class="
record.collection ? 'ele-text-warning' : 'ele-text-placeholder'
"
/>
{{ record.shortName }}
<div class="flex flex-row">
<StarOutlined
@click="onCollection(record)"
class="tag-icon mt-1"
:class="
record.collection
? 'ele-text-warning'
: 'ele-text-placeholder'
"
/>
<div class="tenant-name-box flex flex-col">
<a
:href="`https://${record.tenantId}.websoft.top`"
target="_blank"
class="tenant-name"
>
{{ record.shortName }}
</a>
<span class="text-gray-400">{{ record.comments }}</span>
</div>
</div>
</template>
<template v-if="column.key === 'companyLogo'">
<div class="company-box">
@@ -46,11 +59,11 @@
<div
v-any-role="['merchant', 'superAdmin']"
class="ele-text-secondary"
>{{ record.phone }}</div
>
<div v-role="'guest'" class="ele-text-secondary">{{
record.mobile
}}</div>
>{{ record.phone }}
</div>
<div v-role="'guest'" class="ele-text-secondary"
>{{ record.mobile }}
</div>
</template>
<template v-if="column.key === 'comments'">
<span class="ele-text-secondary">{{ record.comments }}</span>
@@ -64,7 +77,7 @@
</template>
</template>
<template v-if="column.key === 'expirationTime'">
<template v-if="record.version == 30"> - </template>
<template v-if="record.version == 30"> -</template>
<template v-else>
<div>{{ toDateString(record.createTime, 'yyyy-MM-dd') }}</div>
<div>{{ toDateString(record.expirationTime, 'yyyy-MM-dd') }}</div>
@@ -86,142 +99,33 @@
</template>
</template>
<template v-if="column.key === 'version'">
<a-tag v-if="record.version == 10"
><IdcardOutlined class="tag-icon" />免费版</a-tag
>
<a-tag color="blue" v-if="record.version == 20"
><IdcardOutlined class="tag-icon" />商业版</a-tag
>
<a-tag color="cyan" v-if="record.version == 30"
><IdcardOutlined class="tag-icon" />永久授权</a-tag
>
<span v-if="record.version == 10"> 免费版 </span>
<span v-if="record.version == 20"> 商业版 </span>
<span v-if="record.version == 30"> 永久授权 </span>
</template>
<!-- <template v-if="column.key === 'version'">-->
<!-- <a-button-->
<!-- :size="`small`"-->
<!-- v-if="record.version == 10"-->
<!-- style="-->
<!-- background-color: var(&#45;&#45;grey-8);-->
<!-- border: 1px solid var(&#45;&#45;grey-5);-->
<!-- color: var(&#45;&#45;grey-3);-->
<!-- "-->
<!-- ><IdcardOutlined />体验版</a-button-->
<!-- >-->
<!-- <a-button-->
<!-- :size="`small`"-->
<!-- style="-->
<!-- background-color: var(&#45;&#45;green-1);-->
<!-- border: 1px solid var(&#45;&#45;green-5);-->
<!-- color: var(&#45;&#45;green-7);-->
<!-- "-->
<!-- v-if="record.version == 20"-->
<!-- ><IdcardOutlined />商业版</a-button-->
<!-- >-->
<!-- <a-button-->
<!-- :size="`small`"-->
<!-- style="-->
<!-- background-color: var(&#45;&#45;cyan-1);-->
<!-- border: 1px solid var(&#45;&#45;cyan-5);-->
<!-- color: var(&#45;&#45;cyan-7);-->
<!-- "-->
<!-- v-if="record.version == 30"-->
<!-- ><IdcardOutlined />永久授权</a-button-->
<!-- >-->
<!-- </template>-->
<template v-if="column.key === 'appUrl'">
<template v-if="record.adminUrl">
<a-popover>
<template #content>
<div class="qrcode">
<a
@click="openNew(record.adminUrl)"
class="ele-text-heading"
>进入后台管理系统</a
>
<div class="ele-text-placeholder">
账号密码:预留手机号+短信验证码登录
</div>
<div
@click="copyText(`${record.adminUrl}`)"
class="ele-text-secondary"
>{{ record.adminUrl }}</div
>
</div>
</template>
<a-button :size="`small`" @click="openNew(record.adminUrl)"
><DesktopOutlined />管理后台</a-button
>
</a-popover>
</template>
<template v-if="record.merchantUrl">
<a-divider type="vertical" />
<a-popover>
<template #content>
<div class="qrcode">
<a
@click="openNew(record.merchantUrl)"
class="ele-text-heading"
>访问商户端</a
>
<div class="ele-text-placeholder"
>商户及登录账号在总后台创建</div
>
<div
@click="copyText(`${record.merchantUrl}`)"
class="ele-text-secondary"
>{{ record.merchantUrl }}</div
>
</div>
</template>
<a-button :size="`small`" @click="openNew(record.merchantUrl)"
><DesktopOutlined />商户端</a-button
>
</a-popover>
</template>
<template v-if="record.websiteUrl">
<a-divider type="vertical" />
<a-popover>
<template #content>
<div class="qrcode">
<a
class="ele-text-heading"
@click="openNew(record.websiteUrl)"
>访问PC端</a
>
<div
@click="copyText(`${record.websiteUrl}`)"
class="ele-text-secondary"
>{{ record.websiteUrl }}</div
>
</div>
</template>
<a-button :size="`small`" @click="openNew(record.websiteUrl)"
><LaptopOutlined class="ele-text-primary" />PC</a-button
>
</a-popover>
</template>
<DesktopOutlined
@click="openNew(`https://${record.tenantId}.websoft.top`)"
/>
<a-divider type="vertical" />
<GlobalOutlined
@click="openNew(`https://${record.tenantCode}.wsdns.cn`)"
/>
<template v-if="record.h5Code">
<a-divider type="vertical" />
<a-popover>
<template #content>
<div class="qrcode">
<ele-qr-code
:value="`http://${record.h5Code}`"
:value="`https://${record.tenantCode}.wsdns.cn`"
:size="160"
level="M"
:margin="1"
/>
<span>手机扫一扫</span>
<div
@click="copyText(`${record.h5Code}`)"
class="ele-text-secondary"
>{{ record.h5Code }}</div
>
</div>
</template>
<a-button :size="`small`" @click="openNew(record.h5Code)"
><QrcodeOutlined class="ele-text-warning" />H5</a-button
>
<TabletOutlined />
</a-popover>
</template>
<template v-if="record.mpWeixinCode">
@@ -238,11 +142,7 @@
微信扫一扫
</div>
</template>
<a-button :size="`small`"
><WechatOutlined
class="ele-text-success"
/>微信小程序</a-button
>
<WechatOutlined class="ele-text-success" />
</a-popover>
</template>
<template v-if="record.mpAlipayCode">
@@ -259,30 +159,12 @@
支付宝扫一扫
</div>
</template>
<a-button :size="`small`"
><AlipayOutlined class="ele-text-primary" />支付宝</a-button
>
<a-button :size="`small`">
<AlipayOutlined class="ele-text-primary" />
支付宝
</a-button>
</a-popover>
</template>
<!-- <a-divider type="vertical" />-->
<!-- <a-dropdown>-->
<!-- <template #overlay>-->
<!-- <a-menu>-->
<!-- <a-menu-item key="1" @click="onCode(record.iosUrl)">-->
<!-- <AndroidOutlined class="tag-icon" />-->
<!-- <span>APP端</span>-->
<!-- </a-menu-item>-->
<!-- <a-menu-item key="2" @click="openNew(record.android)">-->
<!-- <AlipayOutlined class="tag-icon" />-->
<!-- <span>支付宝</span>-->
<!-- </a-menu-item>-->
<!-- </a-menu>-->
<!-- </template>-->
<!-- <a-button :size="`small`">-->
<!-- 更多-->
<!-- <DownOutlined />-->
<!-- </a-button>-->
<!-- </a-dropdown>-->
</template>
<template v-if="column.key === 'action'">
<template v-if="record.deleted == 1">
@@ -327,7 +209,10 @@
import { message, Modal } from 'ant-design-vue';
import {
ExclamationCircleOutlined,
IdcardOutlined
IdcardOutlined,
TabletOutlined,
DesktopOutlined,
GlobalOutlined
} from '@ant-design/icons-vue';
import type { EleProTable } from 'ele-admin-pro';
import type {
@@ -345,6 +230,7 @@
import { Company, CompanyParam } from '@/api/system/company/model';
import { toDateString } from 'ele-admin-pro';
import { useRouter } from 'vue-router';
const { currentRoute } = useRouter();
import { pageCompanyAll } from '@/api/system/company';
import {
@@ -370,44 +256,27 @@
title: '租户ID',
fixed: 'left',
dataIndex: 'tenantId',
align: 'center',
width: 90
},
{
title: 'Logo',
dataIndex: 'companyLogo',
key: 'companyLogo',
width: 90
align: 'center',
width: 180
},
{
title: '租户名称',
dataIndex: 'shortName',
key: 'shortName',
width: 240
},
{
title: '应用入口',
key: 'appUrl'
key: 'shortName'
},
{
title: '版本',
dataIndex: 'version',
align: 'center',
width: 160,
key: 'version'
},
{
title: '客户信息',
dataIndex: 'phone',
align: 'center',
key: 'phone',
width: 160
},
{
title: '备注',
dataIndex: 'comments',
key: 'comments',
width: 200
},
{
title: '到期时间',
dataIndex: 'expirationTime',
@@ -417,6 +286,12 @@
sorter: true,
customRender: ({ text }) => toDateString(text, 'yyyy-MM-dd')
},
{
title: '操作',
align: 'center',
key: 'appUrl',
width: 180
},
// {
// title: '状态',
// dataIndex: 'status',
@@ -425,12 +300,6 @@
// key: 'status',
// customRender: ({ text }) => ['已上线', '开发中'][text]
// }
{
title: '操作',
key: 'action',
width: 180,
align: 'center'
}
]);
// 表格选中数据
@@ -617,6 +486,7 @@
.tag-icon {
padding-right: 6px;
}
.qrcode {
display: flex;
flex-direction: column;