|
@@ -146,6 +146,19 @@ import type { IObject, IModalConfig, IContentConfig, ISearchConfig } from "@/com
|
|
|
import usePage from "@/components/CURD/usePage";
|
|
import usePage from "@/components/CURD/usePage";
|
|
|
import html2canvas from "html2canvas";
|
|
import html2canvas from "html2canvas";
|
|
|
import { ElMessage } from "element-plus";
|
|
import { ElMessage } from "element-plus";
|
|
|
|
|
+import { useUserStore } from "@/store";
|
|
|
|
|
+
|
|
|
|
|
+// 三方用户角色编码
|
|
|
|
|
+const ROLE_SFUSER = "SFUSER";
|
|
|
|
|
+
|
|
|
|
|
+// 获取用户信息
|
|
|
|
|
+const userStore = useUserStore();
|
|
|
|
|
+
|
|
|
|
|
+// 判断是否为三方用户
|
|
|
|
|
+const isSfUser = computed(() => {
|
|
|
|
|
+ const roles = userStore.userInfo?.roles;
|
|
|
|
|
+ return roles && roles.includes(ROLE_SFUSER);
|
|
|
|
|
+});
|
|
|
|
|
|
|
|
// 可用部门选项
|
|
// 可用部门选项
|
|
|
const availableDeptOptions = ref<OptionType[]>([]);
|
|
const availableDeptOptions = ref<OptionType[]>([]);
|
|
@@ -261,7 +274,7 @@ const formatMoney = (value: number | undefined | null): string => {
|
|
|
|
|
|
|
|
// 搜索配置
|
|
// 搜索配置
|
|
|
const searchConfig: ISearchConfig = reactive({
|
|
const searchConfig: ISearchConfig = reactive({
|
|
|
- permPrefix: "business:firm-info",
|
|
|
|
|
|
|
+ // permPrefix: "business:firm-info",
|
|
|
formItems: [
|
|
formItems: [
|
|
|
{
|
|
{
|
|
|
type: "select",
|
|
type: "select",
|
|
@@ -307,7 +320,7 @@ const searchConfig: ISearchConfig = reactive({
|
|
|
// 列表配置
|
|
// 列表配置
|
|
|
const contentConfig: IContentConfig<FirmInfoPageQuery> = reactive({
|
|
const contentConfig: IContentConfig<FirmInfoPageQuery> = reactive({
|
|
|
// 权限前缀
|
|
// 权限前缀
|
|
|
- permPrefix: "business:firm-info",
|
|
|
|
|
|
|
+ // permPrefix: "business:firm-info",
|
|
|
table: {
|
|
table: {
|
|
|
border: true,
|
|
border: true,
|
|
|
highlightCurrentRow: true,
|
|
highlightCurrentRow: true,
|
|
@@ -332,18 +345,28 @@ const contentConfig: IContentConfig<FirmInfoPageQuery> = reactive({
|
|
|
pageSize: 20,
|
|
pageSize: 20,
|
|
|
pageSizes: [10, 20, 30, 50],
|
|
pageSizes: [10, 20, 30, 50],
|
|
|
},
|
|
},
|
|
|
- // 工具栏配置 - 移除默认的add,使用自定义新增
|
|
|
|
|
|
|
+ // 工具栏配置 - 三方用户禁用新增和删除按钮
|
|
|
toolbar: [
|
|
toolbar: [
|
|
|
{
|
|
{
|
|
|
name: "customAdd",
|
|
name: "customAdd",
|
|
|
text: "新增",
|
|
text: "新增",
|
|
|
perm: "add",
|
|
perm: "add",
|
|
|
- attrs: {
|
|
|
|
|
|
|
+ attrs: () => ({
|
|
|
type: "success",
|
|
type: "success",
|
|
|
icon: "plus",
|
|
icon: "plus",
|
|
|
- },
|
|
|
|
|
|
|
+ disabled: isSfUser.value,
|
|
|
|
|
+ }),
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "delete",
|
|
|
|
|
+ text: "删除",
|
|
|
|
|
+ perm: "delete",
|
|
|
|
|
+ attrs: () => ({
|
|
|
|
|
+ type: "danger",
|
|
|
|
|
+ icon: "delete",
|
|
|
|
|
+ disabled: isSfUser.value,
|
|
|
|
|
+ }),
|
|
|
},
|
|
},
|
|
|
- "delete",
|
|
|
|
|
],
|
|
],
|
|
|
defaultToolbar: ["refresh", "filter"],
|
|
defaultToolbar: ["refresh", "filter"],
|
|
|
// 表格列配置
|
|
// 表格列配置
|
|
@@ -402,30 +425,49 @@ const contentConfig: IContentConfig<FirmInfoPageQuery> = reactive({
|
|
|
{
|
|
{
|
|
|
name: "recharge",
|
|
name: "recharge",
|
|
|
text: "上账",
|
|
text: "上账",
|
|
|
- attrs: {
|
|
|
|
|
|
|
+ attrs: () => ({
|
|
|
type: "success",
|
|
type: "success",
|
|
|
icon: "Plus",
|
|
icon: "Plus",
|
|
|
- },
|
|
|
|
|
|
|
+ disabled: isSfUser.value,
|
|
|
|
|
+ }),
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: "deduct",
|
|
name: "deduct",
|
|
|
text: "下账",
|
|
text: "下账",
|
|
|
- attrs: {
|
|
|
|
|
|
|
+ attrs: () => ({
|
|
|
type: "warning",
|
|
type: "warning",
|
|
|
icon: "Minus",
|
|
icon: "Minus",
|
|
|
- },
|
|
|
|
|
|
|
+ disabled: isSfUser.value,
|
|
|
|
|
+ }),
|
|
|
},
|
|
},
|
|
|
{
|
|
{
|
|
|
name: "qrCode",
|
|
name: "qrCode",
|
|
|
text: "邀请码",
|
|
text: "邀请码",
|
|
|
- attrs: {
|
|
|
|
|
|
|
+ attrs: () => ({
|
|
|
type: "primary",
|
|
type: "primary",
|
|
|
icon: "Setting",
|
|
icon: "Setting",
|
|
|
- },
|
|
|
|
|
|
|
+ disabled: isSfUser.value,
|
|
|
|
|
+ }),
|
|
|
show: (row: any) => row.firmType === 1, // 仅企业类型显示邀请码
|
|
show: (row: any) => row.firmType === 1, // 仅企业类型显示邀请码
|
|
|
},
|
|
},
|
|
|
- "edit",
|
|
|
|
|
- "delete",
|
|
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "edit",
|
|
|
|
|
+ text: "编辑",
|
|
|
|
|
+ attrs: () => ({
|
|
|
|
|
+ type: "primary",
|
|
|
|
|
+ icon: "edit",
|
|
|
|
|
+ disabled: isSfUser.value,
|
|
|
|
|
+ }),
|
|
|
|
|
+ },
|
|
|
|
|
+ {
|
|
|
|
|
+ name: "delete",
|
|
|
|
|
+ text: "删除",
|
|
|
|
|
+ attrs: () => ({
|
|
|
|
|
+ type: "danger",
|
|
|
|
|
+ icon: "delete",
|
|
|
|
|
+ disabled: isSfUser.value,
|
|
|
|
|
+ }),
|
|
|
|
|
+ },
|
|
|
],
|
|
],
|
|
|
},
|
|
},
|
|
|
],
|
|
],
|
|
@@ -434,7 +476,7 @@ const contentConfig: IContentConfig<FirmInfoPageQuery> = reactive({
|
|
|
// 新增配置
|
|
// 新增配置
|
|
|
const addModalConfig: IModalConfig<FirmInfoForm> = reactive({
|
|
const addModalConfig: IModalConfig<FirmInfoForm> = reactive({
|
|
|
// 权限前缀
|
|
// 权限前缀
|
|
|
- permPrefix: "business:firm-info",
|
|
|
|
|
|
|
+ // permPrefix: "business:firm-info",
|
|
|
// 主键
|
|
// 主键
|
|
|
pk: "id",
|
|
pk: "id",
|
|
|
// 弹窗配置
|
|
// 弹窗配置
|
|
@@ -491,7 +533,7 @@ const addModalConfig: IModalConfig<FirmInfoForm> = reactive({
|
|
|
|
|
|
|
|
// 编辑配置
|
|
// 编辑配置
|
|
|
const editModalConfig: IModalConfig<FirmInfoForm> = reactive({
|
|
const editModalConfig: IModalConfig<FirmInfoForm> = reactive({
|
|
|
- permPrefix: "business:firm-info",
|
|
|
|
|
|
|
+ // permPrefix: "business:firm-info",
|
|
|
component: "drawer",
|
|
component: "drawer",
|
|
|
drawer: {
|
|
drawer: {
|
|
|
title: "编辑",
|
|
title: "编辑",
|