diff --git a/src/App.vue b/src/App.vue index f7290f2..f6ead09 100644 --- a/src/App.vue +++ b/src/App.vue @@ -96,7 +96,6 @@ // 判断是否已登录 if (getToken()) { const memberStore: any = useMemberStore() - memberStore.getUserBtnRole() await memberStore.setToken(getToken(), () => { if (!uni.getStorageSync('openid')) { const memberInfo = useMemberStore().info diff --git a/src/addon/erp/pages/base/customer/add.vue b/src/addon/erp/pages/base/customer/add.vue index d193c4e..99937cf 100644 --- a/src/addon/erp/pages/base/customer/add.vue +++ b/src/addon/erp/pages/base/customer/add.vue @@ -64,7 +64,7 @@ - + @@ -82,8 +82,9 @@ import { addCustomer,getusersList,getWarehouseSelect} from '@/addon/erp/api/base'; import { generatedCode } from '@/addon/erp/utils/common'; import { redirect } from '@/utils/common'; - import { checkBtnPermission } from '@/utils/auth'; import useMemberStore from '@/stores/member' + import usePermission from '@/utils/usePermission' + const { hasPermission } = usePermission() interface Warehouse { id: number; name: string; @@ -208,8 +209,6 @@ } // 保存 const handSave = async() => { - const hasPermission = await checkBtnPermission(memberStore.btnPermission, 'erp_base_customer_add') - if (!hasPermission) return formRef.value.validate().then(() => { if (loading.value) return loading.value = true diff --git a/src/addon/erp/pages/base/customer/list.vue b/src/addon/erp/pages/base/customer/list.vue index e103637..4a5e91c 100644 --- a/src/addon/erp/pages/base/customer/list.vue +++ b/src/addon/erp/pages/base/customer/list.vue @@ -29,7 +29,7 @@ - @@ -43,7 +43,7 @@ - + @@ -63,10 +63,10 @@ import useMescroll from '@/components/mescroll/hooks/useMescroll.js'; import { getCustomerList, deleteCustomer } from '@/addon/erp/api/base'; import { onShow, onPageScroll, onReachBottom } from '@dcloudio/uni-app'; - + import usePermission from '@/utils/usePermission' + const { hasPermission } = usePermission() const { downCallback, mescrollInit, getMescroll } = useMescroll(onPageScroll, onReachBottom); - const show = ref(false); // 获取系统状态栏的高度 diff --git a/src/addon/erp/pages/base/supplier/add.vue b/src/addon/erp/pages/base/supplier/add.vue index 4e7e223..44c2301 100644 --- a/src/addon/erp/pages/base/supplier/add.vue +++ b/src/addon/erp/pages/base/supplier/add.vue @@ -72,13 +72,13 @@ - + - + @@ -91,9 +91,10 @@ import { getProductTypeSelect} from '@/addon/erp/api/product'; import {uploadImage } from '@/app/api/system' import { redirect } from '@/utils/common'; - import { checkBtnPermission } from '@/utils/auth'; import useMemberStore from '@/stores/member' import { img } from '@/utils/common' + import usePermission from '@/utils/usePermission' + const { hasPermission } = usePermission() const memberStore = useMemberStore() interface FileItem { url: string; @@ -246,8 +247,6 @@ } // 保存 const handSave = async() => { - const hasPermission = await checkBtnPermission(memberStore.btnPermission, 'erp_base_supplier_add') - if (!hasPermission) return formRef.value.validate().then(() => { if (loading.value) return loading.value = true diff --git a/src/addon/erp/pages/base/supplier/list.vue b/src/addon/erp/pages/base/supplier/list.vue index 719b48c..7510b56 100644 --- a/src/addon/erp/pages/base/supplier/list.vue +++ b/src/addon/erp/pages/base/supplier/list.vue @@ -28,7 +28,7 @@ - @@ -42,7 +42,7 @@ - + @@ -62,6 +62,8 @@ import useMescroll from '@/components/mescroll/hooks/useMescroll.js'; import { getSupplierList, deleteSupplier } from '@/addon/erp/api/base'; import { onShow, onPageScroll, onReachBottom } from '@dcloudio/uni-app'; + import usePermission from '@/utils/usePermission' + const { hasPermission } = usePermission() const { downCallback, mescrollInit, getMescroll } = useMescroll(onPageScroll, onReachBottom); diff --git a/src/addon/erp/pages/base/warehouse/add.vue b/src/addon/erp/pages/base/warehouse/add.vue index 831c920..78467cc 100644 --- a/src/addon/erp/pages/base/warehouse/add.vue +++ b/src/addon/erp/pages/base/warehouse/add.vue @@ -29,7 +29,7 @@ - + @@ -46,9 +46,9 @@ import { addWarehouse } from '@/addon/erp/api/base'; import { generatedCode } from '@/addon/erp/utils/common'; import { redirect } from '@/utils/common'; - import { checkBtnPermission } from '@/utils/auth'; import useMemberStore from '@/stores/member' - + import usePermission from '@/utils/usePermission' + const { hasPermission } = usePermission() const memberStore = useMemberStore() const formRef: any = ref(null) const loading = ref(false) @@ -92,8 +92,6 @@ // 保存 const handSave = async() => { - const hasPermission = await checkBtnPermission(memberStore.btnPermission, 'erp_base_warehouse_add') - if (!hasPermission) return formRef.value.validate().then(() => { if (loading.value) return loading.value = true diff --git a/src/addon/erp/pages/base/warehouse/list.vue b/src/addon/erp/pages/base/warehouse/list.vue index c35570d..fcee3b8 100644 --- a/src/addon/erp/pages/base/warehouse/list.vue +++ b/src/addon/erp/pages/base/warehouse/list.vue @@ -30,7 +30,7 @@ - @@ -44,7 +44,7 @@ - + @@ -63,6 +63,8 @@ import useMescroll from '@/components/mescroll/hooks/useMescroll.js'; import { getWarehouseList, deleteWarehouse } from '@/addon/erp/api/base'; import { onShow, onPageScroll, onReachBottom } from '@dcloudio/uni-app'; + import usePermission from '@/utils/usePermission' + const { hasPermission } = usePermission() const { downCallback, mescrollInit, getMescroll } = useMescroll(onPageScroll, onReachBottom); diff --git a/src/addon/erp/pages/canteen/return/add.vue b/src/addon/erp/pages/canteen/return/add.vue index a92e572..c1846a9 100644 --- a/src/addon/erp/pages/canteen/return/add.vue +++ b/src/addon/erp/pages/canteen/return/add.vue @@ -51,13 +51,13 @@ - + + :clear="false" placeholder="请选择仓库" @change="warehouseIdChange"/> - + @@ -170,7 +170,7 @@ - + @@ -35,9 +35,9 @@ import { onLoad } from '@dcloudio/uni-app'; import { getProductTypeSelect, getProductTypeInfo, addProductType, editProductType } from '@/addon/erp/api/product'; import { redirect } from '@/utils/common'; - import { checkBtnPermission } from '@/utils/auth'; import useMemberStore from '@/stores/member' - + import usePermission from '@/utils/usePermission' + const { hasPermission } = usePermission() const memberStore = useMemberStore() const formRef: any = ref(null) @@ -107,8 +107,6 @@ // 保存 const handSave = async() => { - const hasPermission = await checkBtnPermission(memberStore.btnPermission, 'erp_product_type_add') - if (!hasPermission) return formRef.value.validate().then(() => { if (loading.value) return loading.value = true diff --git a/src/addon/erp/pages/product/type/list.vue b/src/addon/erp/pages/product/type/list.vue index a8510c5..88b9eaf 100644 --- a/src/addon/erp/pages/product/type/list.vue +++ b/src/addon/erp/pages/product/type/list.vue @@ -22,7 +22,7 @@ - + @@ -41,12 +41,19 @@ import useMescroll from '@/components/mescroll/hooks/useMescroll.js'; import { getProductTypeList, deleteProductType } from '@/addon/erp/api/product'; import { onShow, onPageScroll, onReachBottom } from '@dcloudio/uni-app'; + import usePermission from '@/utils/usePermission' const { downCallback, mescrollInit, getMescroll } = useMescroll(onPageScroll, onReachBottom); + const { hasPermission } = usePermission() const show = ref(false); - + interface BtnOption { + text: string; + style: { + backgroundColor: string; + }; + } // 获取系统状态栏的高度 let menuButtonInfo : any = {}; // 如果是小程序,获取右上角胶囊的尺寸信息,避免导航栏右侧内容与胶囊重叠(支付宝小程序非本API,尚未兼容) @@ -95,18 +102,28 @@ }) } - const btnOptions = ref([{ - text: t('edit'), - style: { - backgroundColor: '#3c9cff' + const btnOptions = ref([]); + const initBtn = () => { + btnOptions.value = [] + const hasEdit = hasPermission.value('erp_product_type_edit') + const hasDel = hasPermission.value('erp_product_type_delete') + if (hasEdit) { + btnOptions.value.push({ + text: t('edit'), + style: { + backgroundColor: '#3c9cff' + } + }) } - }, { - text: t('delete'), - style: { - backgroundColor: '#f56c6c' + if (hasDel) { + btnOptions.value.push({ + text: t('delete'), + style: { + backgroundColor: '#f56c6c' + } + }) } - }]) - + } const swipeActionRefs = ref([]); const setSwipeActionRef = (index : number) => (el : any[] | null) => { @@ -146,6 +163,7 @@ } }).catch(() => { }); } + initBtn()