ezhizao_zx 5 месяцев назад
Родитель
Сommit
f8b71b16b4

+ 3 - 0
src/plugins/auth.js

@@ -56,5 +56,8 @@ export default {
     return roles.every(item => {
       return authRole(item)
     })
+  },
+  isInter() {
+    return useUserStore().supplier.isInnerOutsource
   }
 }

+ 18 - 3
src/router/index.js

@@ -109,6 +109,7 @@ export const constantRoutes = [
 	{
 		path: '/returnReceipt',
 		component: Layout,
+		outInter: true,
 		//permissions: ['business:outsourcedOrderDetails:query'],
 		children: [
 			{
@@ -122,9 +123,23 @@ export const constantRoutes = [
 			}
 		]
 	},
-	// {
-
-	// },
+	{
+		path: '/interReturnReceipt',
+		component: Layout,
+		isInter: true,
+		children: [{
+			path: 'interReturnReceipt/index',
+			component: () => import('@/views/business/interReturnReceipt/index'),
+			name: 'InterReturnReceipt',
+			meta: {
+				title: '内部收回单',
+				icon: 'list',
+				value: {
+					isInter: true
+				}
+			}
+		}]
+	},
 	// {
 	// 	path: '/returnReceiptDetail',
 	// 	component: Layout,

+ 22 - 24
src/store/modules/permission.js

@@ -1,25 +1,10 @@
 import auth from '@/plugins/auth'
 import router, { constantRoutes, dynamicRoutes } from '@/router'
 import { getRouters } from '@/api/menu'
-import Layout from '@/layout/index'
+// import Layout from '@/layout'
 import ParentView from '@/components/ParentView'
 import InnerLink from '@/layout/components/InnerLink'
-const interRouter = {
-  path: '/interReturnReceipt',
-  component: Layout,
-  children: [{
-    path: 'interReturnReceipt/index',
-    component: () => import('@/views/business/interReturnReceipt/index'),
-    name: 'InterReturnReceipt',
-    meta: {
-      title: '内部收回单',
-      icon: 'list',
-      value: {
-        isInter: true
-      }
-    }
-  }]
-}
+
 
 // 匹配views里面所有的.vue文件
 const modules = import.meta.glob('./../../views/**/*.vue')
@@ -59,17 +44,21 @@ const usePermissionStore = defineStore(
             const rewriteRoutes = filterAsyncRouter(rdata, false, true)
             const defaultRoutes = filterAsyncRouter(defaultData)
             const asyncRoutes = filterDynamicRoutes(dynamicRoutes)
-            console.log(sidebarRoutes)
-            console.log(rewriteRoutes)
-            console.log(defaultRoutes)
-            console.log(asyncRoutes)
-            console.log(router)
+            // const interRoutes = filterIsInter(dynamicRoutes)
+            // console.log(sidebarRoutes)
+            // console.log(rewriteRoutes)
+            // console.log(defaultRoutes)
+            // console.log(interRoutes)
+            // console.log(router)
             asyncRoutes.forEach(route => { router.addRoute(route) })
+            // interRoutes.forEach(route => { router.addRoute(route) })
             this.setRoutes(rewriteRoutes)
-            this.setSidebarRouters(constantRoutes.concat(sidebarRoutes))
-            this.setDefaultRoutes(sidebarRoutes)
+            this.setSidebarRouters(constantRoutes.concat(sidebarRoutes).filter(e => auth.isInter() ? true : !e.isInter))
+            this.setDefaultRoutes(sidebarRoutes.filter(e => auth.isInter() ? true : !e.isInter))
             this.setTopbarRoutes(defaultRoutes)
             resolve(rewriteRoutes)
+          }).catch(err => {
+            console.error(err)
           })
         })
       }
@@ -145,6 +134,15 @@ export function filterDynamicRoutes(routes) {
   return res
 }
 
+export function filterIsInter(routes) {
+  // console.log(auth.isInter())
+  // if (auth.isInter() == 1) {
+  //   return routes.filter(e => e.isInter)
+  // } else {
+  //   return []
+  // }
+}
+
 export const loadView = (view) => {
   let res;
   for (const path in modules) {

+ 6 - 2
src/store/modules/user.js

@@ -9,7 +9,8 @@ const useUserStore = defineStore('user', {
     name: '',
     avatar: '',
     roles: [],
-    permissions: []
+    permissions: [],
+    supplier: {}
   }),
   actions: {
     // 根据助记码,获取外协商
@@ -33,7 +34,7 @@ const useUserStore = defineStore('user', {
       return new Promise((resolve, reject) => {
         login(username, password, code, uuid)
           .then((res) => {
-            console.log(res)
+            // console.log(res)
             setToken(res.token)
             this.token = res.token
             resolve()
@@ -60,6 +61,7 @@ const useUserStore = defineStore('user', {
         getInfo()
           .then((res) => {
             const user = res.user
+            const supplier = res.supplier
             const avatar = user.avatar == '' || user.avatar == null ? defAva : import.meta.env.VITE_APP_BASE_API + user.avatar
 
             if (res.roles && res.roles.length > 0) {
@@ -72,6 +74,8 @@ const useUserStore = defineStore('user', {
             this.user = user
             this.name = user.userName
             this.avatar = avatar
+            this.supplier = supplier
+            // console.log(res)
             resolve(res)
           })
           .catch((error) => {

+ 7 - 2
src/views/business/outsourcedOrderDetails/index.vue

@@ -50,7 +50,7 @@
 						<template #default="scope">
 							<div v-if="scope.row.isFirstProcess === 0">{{ scope.row.newCarrierName }}</div>
 							<el-button v-else link type="primary" @click="handleChoiceCarrier(scope.row)">{{ scope.row.newCarrierName
-			== '' ? '请选择载具' : scope.row.newCarrierName }}</el-button>
+								== '' ? '请选择载具' : scope.row.newCarrierName }}</el-button>
 						</template>
 					</el-table-column>
 					<el-table-column label="收回状态" align="center" prop="returnStatus" width="80">
@@ -88,7 +88,7 @@
 						</template>
 					</el-table-column>
 					<el-table-column label="操作" align="center" width="104">
-						<template #default="scope">
+						<template v-if="notInter()" #default="scope">
 							<template v-if="scope.row.editStatus">
 								<el-button type="success" icon="Finished" circle @click="handleSaveRow(scope.row)" />
 								<el-button type="danger" icon="Close" circle @click="handleCancelRow(scope.row)" />
@@ -110,6 +110,7 @@
 <script setup>
 import { listProcess, editOutsourcedOrderDetailProcess, getLastProcessQualifitedNum } from '@/api/business/outsourcedOrderDetailProcess.js'
 import CarrierChoiceDialog from '../dialog/CarrierChoiceDialog.vue';
+import auth from '@/plugins/auth'
 const { proxy } = getCurrentInstance()
 /** 字典数组区 */
 const { is_report } = proxy.useDict('is_report')
@@ -158,6 +159,10 @@ const getList = () => {
 		}
 	})
 }
+
+const notInter = () => {
+	return !auth.isInter()
+}
 //获取当前时间
 function getNowDate() {
 	var nowDate = new Date();