li.shaoyi 4 lat temu
rodzic
commit
5240f9b8ff

+ 5 - 10
src/common/setup/table/button.ts

@@ -264,7 +264,7 @@ export function getButtonList(menuType: EnumRouterName, hasDetail: boolean) {
 /**
  * 根据code权限获取按钮列表
  */
-export function getTableButton(codes: string[]): BtnListType[] {
+export function getTableButton(codes: string[] = []): BtnListType[] {
     const { meta } = useRoute();
     const auth = meta.auth as OperationTabMenuAuth[];
 
@@ -291,15 +291,10 @@ export function getTableButton(codes: string[]): BtnListType[] {
         })
         // 根据 传入的 code 返回 code对应的配置数据
         return codes.reduce((result, code) => {
-            // 详情 特殊处理,因为详情界面未配置权限,需要手动处理
-            if (code === 'detail') {
-                result.push(useBtn('详情', 'detail', ''))
-            } else {
-                const item = authMap.get(code)
-                if (item) {
-                    const { code, label } = item
-                    result.push(useBtn(label, code, code))
-                }
+            const item = authMap.get(code)
+            if (item) {
+                const { code, label } = item
+                result.push(useBtn(label, code, code))
             }
             return result
         }, [] as BtnListType[])

+ 7 - 10
src/views/business/plan/list/audit/index.vue

@@ -5,7 +5,7 @@
         <a-table :columns="columns" class="srcollYTable" :scroll="{ x: '100%', y: 'calc(100vh - 163px)' }" :pagination="false" :loading="loading" :expandedRowKeys="expandedRowKeys" :customRow="Rowclick" rowKey="key" :data-source="tableList">
             <!-- 额外的展开行 -->
             <template #expandedRowRender="{ record }">
-                <mtp-table-button class="btn-list-sticky" :buttons="buttonList" :record="record" @click="openComponent" />
+                <mtp-table-button class="btn-list-sticky" :buttons="buttons" :record="record" @click="openComponent" />
             </template>
             <template #contracttype="{ text }">
                 <a>{{ getPlanContractType(text) }}</a>
@@ -15,7 +15,7 @@
             </template>
         </a-table>
         <!-- 右键 -->
-        <contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="buttonList"> </contextMenu>
+        <contextMenu :contextMenu="contextMenu" @cancel="closeContext" :list="buttons"> </contextMenu>
         <component :is="componentId" v-if="componentId" :selectedRow="selectedRow" @cancel="closeComponent"> </component>
     </div>
 </template>
@@ -37,22 +37,19 @@ export default defineComponent({
         MtpTableButton,
         Filter,
         detail: defineAsyncComponent(() => import('../../components/detail/index.vue')),
-        plan_checkpending_cancel: defineAsyncComponent(() => import('../../components/cancel/index.vue')),
-        plan_checkpending_check: defineAsyncComponent(() => import('../../components/audit/index.vue')),
+        cancel: defineAsyncComponent(() => import('../../components/cancel/index.vue')),
+        check: defineAsyncComponent(() => import('../../components/audit/index.vue')),
     },
     setup() {
         const { name: routeName } = useRoute();
-        const hedgeplanstatus = routeName === 'plan_checkpending' ? '1' : '2';
-        const buttons = hedgeplanstatus === '1' ? ['plan_checkpending_check', 'plan_checkpending_cancel', 'detail'] : ['detail']; // 权限按钮
-
         // 权限按钮
-        const buttonList = getTableButton(buttons);
+        const buttons = getTableButton();
 
         // 表格列表数据
         const { loading, tableList, queryTable } = queryTableList<Ermcp3HedgePlan>();
 
         // 获取列表数据
-        const queryTableAction = () => queryTable(QueryHedgePlan, hedgeplanstatus);
+        const queryTableAction = () => queryTable(QueryHedgePlan, routeName === 'plan_checkpending' ? '1' : '2');
 
         // 表格通用逻辑
         const param: ComposeTableParam = {
@@ -70,7 +67,7 @@ export default defineComponent({
             getPlanStatusName,
             getPlanContractType,
             queryTable,
-            buttonList,
+            buttons,
         };
     },
 });

+ 0 - 6
src/views/iframe/setup.ts

@@ -98,12 +98,6 @@ export function getIframeUrl() {
         getUrl();
     })
 
-    watch(() => route.path, () => {
-        initData(() => {
-            getUrl();
-        })
-    })
-
     return {
         url
     }

+ 11 - 9
src/views/manage/business-review/list/someprice/checkpending/index.vue → src/views/manage/business-review/list/someprice/index.vue

@@ -32,8 +32,8 @@
 <script lang="ts">
 import { MtpTableButton, contextMenu, defineAsyncComponent, defineComponent, handleComposeTable, ComposeTableParam } from '@/common/export/commonTable';
 
-import { Filter, SomepriceDetail, SomepriceAudit, SomepriceCancel } from '../../../components';
-import { queryTableList, QryBusinessDjRsp } from '../setup';
+import { Filter, SomepriceDetail, SomepriceAudit, SomepriceCancel } from '../../components';
+import { queryTableList, QryBusinessDjRsp } from './setup';
 import { getPriceTypeName, getContractStatusName, getContractTypeName, getApplyStatusName } from '@/common/constants/enumsName';
 import { getAnalogueName } from '@/views/information/spot-contract/setup';
 import { Column, ColumnType } from '@/common/setup/table';
@@ -41,6 +41,7 @@ import { ref } from 'vue';
 import { BtnListType } from '@/common/components/btnList/interface';
 import { EnumRouterName } from '@/common/constants/enumRouterName';
 import { getTableButton } from '@/common/setup/table/button';
+import { useRoute } from 'vue-router';
 
 export default defineComponent({
     name: 'business-review-dj',
@@ -48,13 +49,17 @@ export default defineComponent({
         contextMenu,
         Filter,
         MtpTableButton,
-        detail: defineAsyncComponent(() => import('../../../components/somepriceDetail/index.vue')),
-        someprice_checkpending_check: defineAsyncComponent(() => import('../../../components/somepriceAudit/index.vue')),
-        someprice_checkpending_cancel: defineAsyncComponent(() => import('../../../components/somepriceCancel/index.vue')),
+        detail: defineAsyncComponent(() => import('../../components/somepriceDetail/index.vue')),
+        check: defineAsyncComponent(() => import('../../components/somepriceAudit/index.vue')),
+        cancel: defineAsyncComponent(() => import('../../components/somepriceCancel/index.vue')),
     },
     setup() {
+        const { name: routeName } = useRoute();
+        // 权限按钮
+        const buttons = getTableButton();
+
         // 表格列表数据
-        const { loading, tableList, queryTable } = queryTableList({ applystatus: '1' });
+        const { loading, tableList, queryTable } = queryTableList({ applystatus: routeName === 'someprice_checkpending' ? '1' : '2' });
 
         // 获取列表数据
         const queryTableAction = () => queryTable();
@@ -96,9 +101,6 @@ export default defineComponent({
             }
         }
 
-        // 权限按钮
-        const buttons = getTableButton(['someprice_checkpending_check', 'someprice_checkpending_cancel', 'detail']);
-
         return {
             ...handleComposeTable<QryBusinessDjRsp>(param),
             handlePermissionBtn,